diff options
Diffstat (limited to 'test/attributes/hx-swap-oob.js')
-rw-r--r-- | test/attributes/hx-swap-oob.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/attributes/hx-swap-oob.js b/test/attributes/hx-swap-oob.js new file mode 100644 index 00000000..b6b2afb8 --- /dev/null +++ b/test/attributes/hx-swap-oob.js @@ -0,0 +1,42 @@ +describe("hx-swap-oob attribute", function () { + beforeEach(function () { + this.server = makeServer(); + clearWorkArea(); + }); + afterEach(function () { + this.server.restore(); + clearWorkArea(); + }); + + it('handles basic response properly', function () { + this.server.respondWith("GET", "/test", "Clicked<div id='d1' hx-swap-oob='true'>Swapped</div>"); + var div = make('<div hx-get="/test">click me</div>'); + make('<div id="d1"></div>'); + div.click(); + this.server.respond(); + div.innerHTML.should.equal("Clicked"); + byId("d1").innerHTML.should.equal("Swapped"); + }) + + it('handles more than one oob swap properly', function () { + this.server.respondWith("GET", "/test", "Clicked<div id='d1' hx-swap-oob='true'>Swapped1</div><div id='d2' hx-swap-oob='true'>Swapped2</div>"); + var div = make('<div hx-get="/test">click me</div>'); + make('<div id="d1"></div>'); + make('<div id="d2"></div>'); + div.click(); + this.server.respond(); + div.innerHTML.should.equal("Clicked"); + byId("d1").innerHTML.should.equal("Swapped1"); + byId("d2").innerHTML.should.equal("Swapped2"); + }) + + it('handles no id match properly', function () { + this.server.respondWith("GET", "/test", "Clicked<div id='d1' hx-swap-oob='true'>Swapped</div>"); + var div = make('<div hx-get="/test">click me</div>'); + div.click(); + this.server.respond(); + div.innerText.should.equal("Clicked"); + }) + +}); + |