describe("morphdom-swap extension", function() { beforeEach(function () { this.server = makeServer(); clearWorkArea(); }); afterEach(function () { this.server.restore(); clearWorkArea(); }); it('works on basic request', function () { this.server.respondWith("GET", "/test", "!"); var btn = make('') btn.click(); should.equal(btn.getAttribute("hx-get"), "/test"); this.server.respond(); should.equal(btn.getAttribute("hx-get"), null); btn.innerHTML.should.equal("Clicked!"); }); it('works with htmx elements in new content', function () { this.server.respondWith("GET", "/test", ''); this.server.respondWith("GET", "/test-inner", 'Loaded!'); var btn = make('
').querySelector('button'); btn.click(); this.server.respond(); // call /test via button trigger=click this.server.respond(); // call /test-inner via span trigger=load btn.innerHTML.should.equal("Clicked!Loaded!"); }); it('works with hx-select', function () { this.server.respondWith("GET", "/test", "!"); var btn = make('') btn.click(); should.equal(btn.getAttribute("hx-get"), "/test"); this.server.respond(); should.equal(btn.getAttribute("hx-get"), null); btn.innerHTML.should.equal("Clicked!"); }); });