summaryrefslogtreecommitdiffstatshomepage
path: root/test/attributes/hx-params.js
diff options
context:
space:
mode:
authorcarson <carson@leaddyno.com>2020-05-17 05:22:19 -0700
committercarson <carson@leaddyno.com>2020-05-17 05:22:19 -0700
commit3aa8c64754c323f367fae64342f4ac9c20ea5a3d (patch)
tree6de764954d60c019fb87359007919bb56f0fe8f1 /test/attributes/hx-params.js
parente1e4f25b0ef21e96eda192e69ab89e207dd7f617 (diff)
downloadhtmx-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.js83
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