summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorCarson Gross <carson@bigsky.software>2022-10-30 13:49:29 -0600
committerCarson Gross <carson@bigsky.software>2022-10-30 13:49:29 -0600
commit84d8e33deb8ca59b6eb30cf37b42f4475a3c4e4f (patch)
tree6a41d179bac74cb0b1d5275fe8503cbed028031f
parentd16cf3c9bbaf70bb52cc75dcf592f0851554aa5e (diff)
downloadhtmx-84d8e33deb8ca59b6eb30cf37b42f4475a3c4e4f.tar.gz
htmx-84d8e33deb8ca59b6eb30cf37b42f4475a3c4e4f.zip
fix tests
-rw-r--r--test/attributes/hx-swap-oob.js38
-rw-r--r--test/core/api.js22
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 () {