diff options
author | Carson Gross <carson@bigsky.software> | 2022-10-30 13:49:29 -0600 |
---|---|---|
committer | Carson Gross <carson@bigsky.software> | 2022-10-30 13:49:29 -0600 |
commit | 84d8e33deb8ca59b6eb30cf37b42f4475a3c4e4f (patch) | |
tree | 6a41d179bac74cb0b1d5275fe8503cbed028031f | |
parent | d16cf3c9bbaf70bb52cc75dcf592f0851554aa5e (diff) | |
download | htmx-84d8e33deb8ca59b6eb30cf37b42f4475a3c4e4f.tar.gz htmx-84d8e33deb8ca59b6eb30cf37b42f4475a3c4e4f.zip |
fix tests
-rw-r--r-- | test/attributes/hx-swap-oob.js | 38 | ||||
-rw-r--r-- | test/core/api.js | 22 |
2 files changed, 32 insertions, 28 deletions
diff --git a/test/attributes/hx-swap-oob.js b/test/attributes/hx-swap-oob.js index 925082ad..e69c43e6 100644 --- a/test/attributes/hx-swap-oob.js +++ b/test/attributes/hx-swap-oob.js @@ -9,13 +9,13 @@ describe("hx-swap-oob attribute", function () { }); it('handles basic response properly', function () { - this.server.respondWith("GET", "/test", "Clicked<div id='d1' hx-swap-oob='true'>Swapped</div>"); + this.server.respondWith("GET", "/test", "Clicked<div id='d1' hx-swap-oob='true'>Swapped0</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"); + byId("d1").innerHTML.should.equal("Swapped0"); }) it('handles more than one oob swap properly', function () { @@ -31,7 +31,7 @@ describe("hx-swap-oob attribute", function () { }) it('handles no id match properly', function () { - this.server.respondWith("GET", "/test", "Clicked<div id='d1' hx-swap-oob='true'>Swapped</div>"); + this.server.respondWith("GET", "/test", "Clicked<div id='d1' hx-swap-oob='true'>Swapped2</div>"); var div = make('<div hx-get="/test">click me</div>'); div.click(); this.server.respond(); @@ -39,61 +39,61 @@ describe("hx-swap-oob attribute", function () { }) it('handles basic response properly w/ data-* prefix', function () { - this.server.respondWith("GET", "/test", "Clicked<div id='d1' data-hx-swap-oob='true'>Swapped</div>"); + this.server.respondWith("GET", "/test", "Clicked<div id='d1' data-hx-swap-oob='true'>Swapped3</div>"); var div = make('<div data-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"); + byId("d1").innerHTML.should.equal("Swapped3"); }) it('handles outerHTML response properly', function () { - this.server.respondWith("GET", "/test", "Clicked<div id='d1' foo='bar' hx-swap-oob='outerHTML'>Swapped</div>"); + this.server.respondWith("GET", "/test", "Clicked<div id='d1' foo='bar' hx-swap-oob='outerHTML'>Swapped4</div>"); var div = make('<div hx-get="/test">click me</div>'); make('<div id="d1"></div>'); div.click(); this.server.respond(); byId("d1").getAttribute("foo").should.equal("bar"); div.innerHTML.should.equal("Clicked"); - byId("d1").innerHTML.should.equal("Swapped"); + byId("d1").innerHTML.should.equal("Swapped4"); }) it('handles innerHTML response properly', function () { - this.server.respondWith("GET", "/test", "Clicked<div id='d1' foo='bar' hx-swap-oob='innerHTML'>Swapped</div>"); + this.server.respondWith("GET", "/test", "Clicked<div id='d1' foo='bar' hx-swap-oob='innerHTML'>Swapped5</div>"); var div = make('<div hx-get="/test">click me</div>'); make('<div id="d1"></div>'); div.click(); this.server.respond(); should.equal(byId("d1").getAttribute("foo"), null); div.innerHTML.should.equal("Clicked"); - byId("d1").innerHTML.should.equal("Swapped"); + byId("d1").innerHTML.should.equal("Swapped5"); }) it('oob swaps can be nested in content', function () { - this.server.respondWith("GET", "/test", "<div>Clicked<div id='d1' foo='bar' hx-swap-oob='innerHTML'>Swapped</div></div>"); + this.server.respondWith("GET", "/test", "<div>Clicked<div id='d1' foo='bar' hx-swap-oob='innerHTML'>Swapped6</div></div>"); var div = make('<div hx-get="/test">click me</div>'); make('<div id="d1"></div>'); div.click(); this.server.respond(); should.equal(byId("d1").getAttribute("foo"), null); div.innerHTML.should.equal("<div>Clicked</div>"); - byId("d1").innerHTML.should.equal("Swapped"); + byId("d1").innerHTML.should.equal("Swapped6"); }) it('oob swaps can use selectors to match up', function () { - this.server.respondWith("GET", "/test", "<div>Clicked<div hx-swap-oob='innerHTML:[foo]'>Swapped</div></div>"); + this.server.respondWith("GET", "/test", "<div>Clicked<div hx-swap-oob='innerHTML:[oob-foo]'>Swapped7</div></div>"); var div = make('<div hx-get="/test">click me</div>'); - make('<div id="d1" foo="bar"></div>'); + make('<div id="d1" oob-foo="bar"></div>'); div.click(); this.server.respond(); - should.equal(byId("d1").getAttribute("foo"), "bar"); + should.equal(byId("d1").getAttribute("oob-foo"), "bar"); div.innerHTML.should.equal("<div>Clicked</div>"); - byId("d1").innerHTML.should.equal("Swapped"); + byId("d1").innerHTML.should.equal("Swapped7"); }) it('swaps into all targets that match the selector (innerHTML)', function () { - this.server.respondWith("GET", "/test", "<div>Clicked</div><div class='target' hx-swap-oob='innerHTML:.target'>Swapped</div>"); + this.server.respondWith("GET", "/test", "<div>Clicked</div><div class='target' hx-swap-oob='innerHTML:.target'>Swapped8</div>"); var div = make('<div hx-get="/test">click me</div>'); make('<div id="d1">No swap</div>'); make('<div id="d2" class="target">Not swapped</div>'); @@ -101,12 +101,12 @@ describe("hx-swap-oob attribute", function () { div.click(); this.server.respond(); byId("d1").innerHTML.should.equal("No swap"); - byId("d2").innerHTML.should.equal("Swapped"); - byId("d3").innerHTML.should.equal("Swapped"); + byId("d2").innerHTML.should.equal("Swapped8"); + byId("d3").innerHTML.should.equal("Swapped8"); }) it('swaps into all targets that match the selector (outerHTML)', function () { - var oobSwapContent = '<div class="new-target" hx-swap-oob="outerHTML:.target">Swapped</div>'; + var oobSwapContent = '<div class="new-target" hx-swap-oob="outerHTML:.target">Swapped9</div>'; this.server.respondWith("GET", "/test", "<div>Clicked</div>" + oobSwapContent); var div = make('<div hx-get="/test">click me</div>'); make('<div id="d1"><div>No swap</div></div>'); diff --git a/test/core/api.js b/test/core/api.js index 5e4f26c1..aea3fa24 100644 --- a/test/core/api.js +++ b/test/core/api.js @@ -8,20 +8,24 @@ describe("Core htmx API test", function(){ clearWorkArea(); }); - it('onLoad is called... onLoad', function(){ + it('onLoad is called... onLoad', function(done){ // also tests on/off this.server.respondWith("GET", "/test", "<div id='d1' hx-get='/test'></div>") var helper = htmx.onLoad(function (elt) { elt.setAttribute("foo", "bar"); }); - try { - var div = make("<div id='d1' hx-get='/test' hx-swap='outerHTML'></div>"); - div.click(); - this.server.respond(); - byId("d1").getAttribute("foo").should.equal("bar"); - } finally { - htmx.off("htmx:load", helper); - } + var server = this.server; + setTimeout(function() { + try { + var div = make("<div id='d1' hx-get='/test' hx-swap='outerHTML'></div>"); + div.click(); + server.respond(); + byId("d1").getAttribute("foo").should.equal("bar"); + done(); + } finally { + htmx.off("htmx:load", helper); + } + }, 10) }); it('triggers properly', function () { |