From 2978fc346d937b3bd77faea98537fe6c6e495e0e Mon Sep 17 00:00:00 2001 From: Vincent Date: Sat, 2 Mar 2024 07:56:07 +0100 Subject: [PATCH] Double script exec tests variants using templates: issue confirmed --- test/core/regressions.js | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/test/core/regressions.js b/test/core/regressions.js index 8f844cfb7..688c3fe77 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) + }) + });