diff options
author | carson <carson@leaddyno.com> | 2020-05-17 05:22:19 -0700 |
---|---|---|
committer | carson <carson@leaddyno.com> | 2020-05-17 05:22:19 -0700 |
commit | 3aa8c64754c323f367fae64342f4ac9c20ea5a3d (patch) | |
tree | 6de764954d60c019fb87359007919bb56f0fe8f1 /test/attributes/hx-params.js | |
parent | e1e4f25b0ef21e96eda192e69ab89e207dd7f617 (diff) | |
download | htmx-3aa8c64754c323f367fae64342f4ac9c20ea5a3d.tar.gz htmx-3aa8c64754c323f367fae64342f4ac9c20ea5a3d.zip |
le big re-rename
Diffstat (limited to 'test/attributes/hx-params.js')
-rw-r--r-- | test/attributes/hx-params.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/test/attributes/hx-params.js b/test/attributes/hx-params.js new file mode 100644 index 00000000..49c9d54f --- /dev/null +++ b/test/attributes/hx-params.js @@ -0,0 +1,83 @@ +describe("hx-params attribute", function() { + beforeEach(function () { + this.server = makeServer(); + clearWorkArea(); + }); + afterEach(function () { + this.server.restore(); + clearWorkArea(); + }); + + it('none excludes all params', function () { + this.server.respondWith("POST", "/params", function (xhr) { + var params = parseParams(xhr.requestBody); + should.equal(params['i1'], undefined); + should.equal(params['i2'], undefined); + should.equal(params['i3'], undefined); + xhr.respond(200, {}, "Clicked!") + }); + var form = make('<form hx-trigger="click" hx-post="/params" hx-params="none">' + + '<input name="i1" value="test"/>' + + '<input name="i2" value="test"/>' + + '<input name="i3" value="test"/>' + + '</form> '); + form.click(); + this.server.respond(); + form.innerHTML.should.equal("Clicked!"); + }); + + it('"*" includes all params', function () { + this.server.respondWith("POST", "/params", function (xhr) { + var params = parseParams(xhr.requestBody); + should.equal(params['i1'], "test"); + should.equal(params['i2'], "test"); + should.equal(params['i3'], "test"); + xhr.respond(200, {}, "Clicked!") + }); + var form = make('<form hx-trigger="click" hx-post="/params" hx-params="*">' + + '<input name="i1" value="test"/>' + + '<input name="i2" value="test"/>' + + '<input name="i3" value="test"/>' + + '</form> '); + form.click(); + this.server.respond(); + form.innerHTML.should.equal("Clicked!"); + }); + + it('named includes works', function () { + this.server.respondWith("POST", "/params", function (xhr) { + var params = parseParams(xhr.requestBody); + should.equal(params['i1'], "test"); + should.equal(params['i2'], undefined); + should.equal(params['i3'], "test"); + xhr.respond(200, {}, "Clicked!") + }); + var form = make('<form hx-trigger="click" hx-post="/params" hx-params="i1, i3">' + + '<input name="i1" value="test"/>' + + '<input name="i2" value="test"/>' + + '<input name="i3" value="test"/>' + + '</form> '); + form.click(); + this.server.respond(); + form.innerHTML.should.equal("Clicked!"); + }); + + it('named exclude works', function () { + this.server.respondWith("POST", "/params", function (xhr) { + var params = parseParams(xhr.requestBody); + should.equal(params['i1'], undefined); + should.equal(params['i2'], "test"); + should.equal(params['i3'], undefined); + xhr.respond(200, {}, "Clicked!") + }); + var form = make('<form hx-trigger="click" hx-post="/params" hx-params="not i1, i3">' + + '<input name="i1" value="test"/>' + + '<input name="i2" value="test"/>' + + '<input name="i3" value="test"/>' + + '</form> '); + form.click(); + this.server.respond(); + form.innerHTML.should.equal("Clicked!"); + }); + +});
\ No newline at end of file |