diff options
Diffstat (limited to 'www/static/test/core/regressions.js')
-rw-r--r-- | www/static/test/core/regressions.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/www/static/test/core/regressions.js b/www/static/test/core/regressions.js index 015b5815..91a35a0e 100644 --- a/www/static/test/core/regressions.js +++ b/www/static/test/core/regressions.js @@ -291,4 +291,46 @@ describe('Core htmx Regression Tests', function() { byId('datefield').click() }) + + it('a button clicked inside an htmx enabled link will prevent the link from navigating on click', function(done) { + var defaultPrevented = 'unset' + var link = make('<a href="/foo" hx-get="/foo"><button>test</button></a>') + var button = link.firstChild + + htmx.on(link, 'click', function(evt) { + // we need to wait so the state of the evt is finalized + setTimeout(() => { + defaultPrevented = evt.defaultPrevented + try { + defaultPrevented.should.equal(true) + done() + } catch (err) { + done(err) + } + }, 0) + }) + + button.click() + }) + + it('a htmx enabled button clicked inside a link will prevent the link from navigating on click', function(done) { + var defaultPrevented = 'unset' + var link = make('<a href="/foo"><button hx-get="/foo">test</button></a>') + var button = link.firstChild + + htmx.on(link, 'click', function(evt) { + // we need to wait so the state of the evt is finalized + setTimeout(() => { + defaultPrevented = evt.defaultPrevented + try { + defaultPrevented.should.equal(true) + done() + } catch (err) { + done(err) + } + }, 0) + }) + + button.click() + }) }) |