require("./chai.helper"); var domHelper = require("./dom.helper"); describe("serialize", function () { beforeEach(function () { domHelper( "
" + "
" + "" + "" + "" + "" + "
" + "
" ); }); it("should convert form elements into a querystring", function () { var expected = "name=af&available=true"; var actual = $("#myform").serialize(); actual.should.equal(expected); }); it("should ignore unchecked checkboxes", function () { document.getElementById("available").checked = false; var expected = "name=af"; var actual = $("#myform").serialize(); actual.should.equal(expected); }); it("should ignore disabled elements", function () { document.getElementById("name").disabled = true; var expected = "available=true"; var actual = $("#myform").serialize(); actual.should.equal(expected); }); it("should serialize drop-down select with default option selected", function () { document.getElementById("version").removeAttribute("multiple"); var expected = "name=af&available=true&version=0.9.5"; var actual = $("#myform").serialize(); actual.should.equal(expected); }); it("should serialize select elements with option selected", function () { document.getElementById("option1.0").selected = true; var expected = "name=af&available=true&version=1.0"; var actual = $("#myform").serialize(); actual.should.equal(expected); }); it("should serialize select elements with multiple options selected", function () { document.getElementById("option0.9.5").selected = true; document.getElementById("option1.0").selected = true; var expected = "name=af&available=true&version=0.9.5&version=1.0"; var actual = $("#myform").serialize(); actual.should.equal(expected); }); });