From 33f79d79b73c813c977331567a811be2686b4e36 Mon Sep 17 00:00:00 2001 From: Ben Pate Date: Wed, 9 Sep 2020 20:52:17 -0600 Subject: [PATCH] Add test case Adds a test case to demonstrate that 304 "Not Modified" response should be treated just the same as a regular 200 "Ok" response. --- test/core/ajax.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/core/ajax.js b/test/core/ajax.js index af3d4326..715ad50f 100644 --- a/test/core/ajax.js +++ b/test/core/ajax.js @@ -240,6 +240,36 @@ describe("Core htmx AJAX Tests", function(){ btn.innerHTML.should.equal("Click Me!"); }); + it('handles 304 NOT MODIFIED responses properly', function() + { + this.server.respondWith("GET", "/test-1", [200, {}, "Content for Tab 1"]); + this.server.respondWith("GET", "/test-2", [200, {}, "Content for Tab 2"]); + + var target = make('
') + var btn1 = make(''); + var btn2 = make(''); + + btn1.click(); + target.innerHTML.should.equal(""); + this.server.respond(); + target.innerHTML.should.equal("Content for Tab 1"); + + btn2.click(); + this.server.respond(); + target.innerHTML.should.equal("Content for Tab 2"); + + this.server.respondWith("GET", "/test-1", [304, {}, "Content for Tab 1"]); + this.server.respondWith("GET", "/test-2", [304, {}, "Content for Tab 2"]); + + btn1.click(); + this.server.respond(); + target.innerHTML.should.equal("Content for Tab 1"); + + btn2.click(); + this.server.respond(); + target.innerHTML.should.equal("Content for Tab 2"); + }); + it('handles hx-trigger with non-default value', function() { this.server.respondWith("GET", "/test", "Clicked!");