From e780175736877e4571c661b784ccdf2fcde4f4d4 Mon Sep 17 00:00:00 2001 From: Vincent Date: Thu, 14 Mar 2024 00:24:02 +0100 Subject: Double script exec tests variants using templates: issue confirmed (#2365) --- test/core/regressions.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/test/core/regressions.js b/test/core/regressions.js index 8f844cfb..688c3fe7 100644 --- a/test/core/regressions.js +++ b/test/core/regressions.js @@ -245,4 +245,46 @@ describe("Core htmx Regression Tests", function(){ }, 50) }) + it("script tags only execute once using templates", function(done) { + var oldUseTemplateFragmentsValue = htmx.config.useTemplateFragments + htmx.config.useTemplateFragments = true + + window.i = 0; // set count to 0 + this.server.respondWith('GET', '/test', '') // increment the count by 1 + + // make a div w/ a short settle delay to make the problem more obvious + var div = make('
'); + div.click(); + this.server.respond() + + htmx.config.useTemplateFragments = oldUseTemplateFragmentsValue + + setTimeout(function(){ + window.i.should.equal(1); + delete window.i; + done(); + }, 50) + }) + + it("script tags only execute once when nested using templates", function(done) { + var oldUseTemplateFragmentsValue = htmx.config.useTemplateFragments + htmx.config.useTemplateFragments = true + + window.i = 0; // set count to 0 + this.server.respondWith('GET', '/test', '

foo

') // increment the count by 1 + + // make a div w/ a short settle delay to make the problem more obvious + var div = make('
'); + div.click(); + this.server.respond() + + htmx.config.useTemplateFragments = oldUseTemplateFragmentsValue + + setTimeout(function(){ + window.i.should.equal(1); + delete window.i; + done(); + }, 50) + }) + }); -- cgit v1.2.3