summaryrefslogtreecommitdiffstatshomepage
path: root/test/attributes/hx-swap-oob.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/attributes/hx-swap-oob.js')
-rw-r--r--test/attributes/hx-swap-oob.js42
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");
+ })
+
+});
+