describe("hx-headers attribute", function() {
beforeEach(function () {
this.server = makeServer();
clearWorkArea();
});
afterEach(function () {
this.server.restore();
clearWorkArea();
});
it('basic hx-headers works', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("test");
xhr.respond(200, {}, "Clicked!")
});
var div = make("
")
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('basic hx-headers works with braces', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("test");
xhr.respond(200, {}, "Clicked!")
});
var div = make("")
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('multiple hx-headers works', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['v1'].should.equal("test");
xhr.requestHeaders['v2'].should.equal("42");
xhr.respond(200, {}, "Clicked!")
});
var div = make("")
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('hx-headers can be on parents', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("test");
xhr.respond(200, {}, "Clicked!")
});
make("
");
var div = byId("d1");
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('hx-headers can override parents', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("best");
xhr.respond(200, {}, "Clicked!")
});
make("
");
var div = byId("d1");
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('hx-headers overrides inputs', function () {
this.server.respondWith("POST", "/include", function (xhr) {
xhr.requestHeaders['i1'].should.equal("best");
xhr.respond(200, {}, "Clicked!")
});
var div = make("")
var input = byId("i1")
input.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('basic hx-headers javascript: works', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("test");
xhr.respond(200, {}, "Clicked!")
});
var div = make('')
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('hx-headers works with braces', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("test");
xhr.respond(200, {}, "Clicked!")
});
var div = make('')
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('multiple hx-headers works', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['v1'].should.equal("test");
xhr.requestHeaders['v2'].should.equal("42");
xhr.respond(200, {}, "Clicked!")
});
var div = make('')
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('hx-headers can be on parents', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("test");
xhr.respond(200, {}, "Clicked!")
});
make('
')
var div = byId("d1");
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('hx-headers can override parents', function () {
this.server.respondWith("POST", "/vars", function (xhr) {
xhr.requestHeaders['i1'].should.equal("best");
xhr.respond(200, {}, "Clicked!")
});
make('
')
var div = byId("d1");
div.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
it('hx-headers overrides inputs', function () {
this.server.respondWith("POST", "/include", function (xhr) {
xhr.requestHeaders['i1'].should.equal("best");
xhr.respond(200, {}, "Clicked!")
});
var div = make('')
var input = byId("i1")
input.click();
this.server.respond();
div.innerHTML.should.equal("Clicked!");
});
});