Skip to content

Commit 026541a

Browse files
committed
add test cases for macek#45
1 parent efaebf6 commit 026541a

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

test/integration/encode-test.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,26 @@ describe("encode", function() {
1717
assert.deepEqual($form.serializeObject(), {a: {b: {c: true}}});
1818
});
1919

20+
it("checkbox inputs as array don't break", function() {
21+
var $form = $('<form><input type="checkbox" name="a[]" value="c" checked></form>');
22+
assert.deepEqual($form.serializeObject(), {a: ["c"] });
23+
});
24+
25+
it("checkbox inputs as nested arrays don't break", function() {
26+
var $form = $('<form><input type="checkbox" name="a[][b][]" value="c" checked><input type="checkbox" name="a[][b][]" value="d"></form>');
27+
assert.deepEqual($form.serializeObject(), {a: [ { b: ["c"]}]});
28+
});
29+
30+
it("crazy nested arrays don't break", function() {
31+
var $form = $('<form><input name="a[][b]" value="1" checked><input name="a[][c][]" value="2" checked><input name="a[][c][]" value="3" checked><input name="a[][b]" value="4" checked></form>');
32+
assert.deepEqual($form.serializeObject(), {a: [ { b: "1", c: ["2", "3"] }, { b: "4" } ]});
33+
});
34+
35+
it("checkbox inputs as nested arrays with a sibling don't break", function() {
36+
var $form = $('<form><input type="checkbox" name="a[][b][]" value="c" checked><input name="a[][d]" value="e" checked></form>');
37+
assert.deepEqual($form.serializeObject(), {a: [ { b: ["c"], d: 'e' } ]});
38+
});
39+
2040
it("checkbox inputs as booleans if value is 'on'", function() {
2141
var $form = $('<form><input type="checkbox" name="a" value="on" checked></form>');
2242
assert.deepEqual($form.serializeObject(), {a: true});

0 commit comments

Comments
 (0)