summaryrefslogtreecommitdiffstatshomepage
path: root/test
diff options
context:
space:
mode:
authorSascha Woo <sascha.woo@gmail.com>2023-09-21 23:44:42 +0200
committerGitHub <noreply@github.com>2023-09-21 15:44:42 -0600
commit32b58c41cb767ff477dfdfe6e15d827f0e40397a (patch)
tree1f018f484aa75e4525dd1e972afcc1d5f842d93c /test
parentbb5413dfd2fc5842eda7a29a1bdc53aa92e177c4 (diff)
downloadhtmx-32b58c41cb767ff477dfdfe6e15d827f0e40397a.tar.gz
htmx-32b58c41cb767ff477dfdfe6e15d827f0e40397a.zip
Add support for event cancellation (preventDefault) in extensions (#1456)
ext: add support for event cancellation via preventDefault()
Diffstat (limited to 'test')
-rw-r--r--test/core/extensions.js42
-rw-r--r--test/index.html1
2 files changed, 43 insertions, 0 deletions
diff --git a/test/core/extensions.js b/test/core/extensions.js
new file mode 100644
index 00000000..2bcfe208
--- /dev/null
+++ b/test/core/extensions.js
@@ -0,0 +1,42 @@
+describe('Core htmx extension tests', function() {
+ beforeEach(function() {
+ this.server = makeServer();
+ clearWorkArea();
+ });
+ afterEach(function() {
+ this.server.restore();
+ clearWorkArea();
+ });
+
+ it('should support event cancellation by returning false', function() {
+ htmx.defineExtension('ext-prevent-request', {
+ onEvent: function(name, evt) {
+ if (name === 'htmx:beforeRequest') {
+ return false;
+ }
+ }
+ });
+
+ this.server.respondWith('GET', '/test', 'clicked!');
+ var div = make('<div hx-get="/test" hx-ext="ext-prevent-request">Click Me!</div>')
+ div.click();
+ this.server.respond();
+ div.innerHTML.should.equal('Click Me!');
+ });
+
+ it('should support event cancellation with preventDefault', function() {
+ htmx.defineExtension('ext-prevent-request', {
+ onEvent: function(name, evt) {
+ if (name === 'htmx:beforeRequest') {
+ evt.preventDefault();
+ }
+ }
+ });
+
+ this.server.respondWith('GET', '/test', 'clicked!');
+ var div = make('<div hx-get="/test" hx-ext="ext-prevent-request">Click Me!</div>')
+ div.click();
+ this.server.respond();
+ div.innerHTML.should.equal('Click Me!');
+ });
+});
diff --git a/test/index.html b/test/index.html
index f747775b..ea49d60f 100644
--- a/test/index.html
+++ b/test/index.html
@@ -54,6 +54,7 @@
<script src="core/internals.js"></script>
<script src="core/api.js"></script>
<script src="core/ajax.js"></script>
+<script src="core/extensions.js"></script>
<script src="core/verbs.js"></script>
<script src="core/parameters.js"></script>
<script src="core/headers.js"></script>