X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fajax.js;h=75ef26c9834948ed2460f1f8f909a55175e8a38c;hb=b8d0c0711f8a9ecd455d4c3cf13394e55c4bf151;hp=f7c67b7bee2af99e0ec7d95f248c8835835e82d1;hpb=f55fb36e54eb82b112fa7af2c9b2c28c3a1c38cf;p=jquery.git diff --git a/test/unit/ajax.js b/test/unit/ajax.js index f7c67b7..75ef26c 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -74,7 +74,7 @@ test("Ajax events with context", function() { expect(6); stop(); - var context = {}; + var context = document.createElement("div"); function event(e){ equals( this, context, e.type ); @@ -251,7 +251,30 @@ test("serialize()", function() { }); test("jQuery.param()", function() { - expect(8); + expect(13); + + equals( jQuery.param.traditional, undefined, "traditional flag, undefined by default" ); + + var params = {foo:"bar", baz:42, quux:"All your base are belong to us"}; + equals( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" ); + + params = {someName: [1, 2, 3], regularThing: "blah" }; + equals( jQuery.param(params), "someName%5B%5D=1&someName%5B%5D=2&someName%5B%5D=3®ularThing=blah", "with array" ); + + params = {foo: ['a', 'b', 'c']}; + equals( jQuery.param(params), "foo%5B%5D=a&foo%5B%5D=b&foo%5B%5D=c", "with array of strings" ); + + params = {foo: ["baz", 42, "All your base are belong to us"] }; + equals( jQuery.param(params), "foo%5B%5D=baz&foo%5B%5D=42&foo%5B%5D=All+your+base+are+belong+to+us", "more array" ); + + params = {foo: { bar: 'baz', beep: 42, quux: 'All your base are belong to us' } }; + equals( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All+your+base+are+belong+to+us", "even more arrays" ); + + params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" }; + equals( jQuery.param(params), "a%5B%5D=1&a%5B%5D=2&b%5Bc%5D=3&b%5Bd%5D%5B%5D=4&b%5Bd%5D%5B%5D=5&b%5Be%5D%5Bx%5D%5B%5D=6&b%5Be%5D%5By%5D=7&b%5Be%5D%5Bz%5D%5B%5D=8&b%5Be%5D%5Bz%5D%5B%5D=9&b%5Bf%5D=true&b%5Bg%5D=false&b%5Bh%5D=undefined&i%5B%5D=10&i%5B%5D=11&j=true&k=false&l%5B%5D=undefined&l%5B%5D=0&m=cowboy+hat%3F", "huge structure" ); + + jQuery.param.traditional = true; + var params = {foo:"bar", baz:42, quux:"All your base are belong to us"}; equals( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" ); @@ -266,15 +289,9 @@ test("jQuery.param()", function() { params = {"foo[bar]":"baz", "foo[beep]":42, "foo[quux]":"All your base are belong to us"}; equals( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All+your+base+are+belong+to+us", "even more arrays" ); - - params = {foo: {bar: "baz", beep: 42, quux: "All your base are belong to us"}}; - equals( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All+your+base+are+belong+to+us", "nested object" ); - - params = {foo: {"bar[]": [1,2,3]}}; - equals( jQuery.param(params), "foo%5Bbar%5D%5B%5D=1&foo%5Bbar%5D%5B%5D=2&foo%5Bbar%5D%5B%5D=3", "nested array"); - - params = {foo: [{bar: "baz", beep: 42}, {bar: "baz2", beep: 43}]}; - equals( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bbar%5D=baz2&foo%5Bbeep%5D=43", "nested array of objects" ); + + params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" }; + equals( jQuery.param(params), "a=1&a=2&b=%5Bobject+Object%5D&i=10&i=11&j=true&k=false&l=undefined&l=0&m=cowboy+hat%3F", "huge structure" ); }); @@ -351,6 +368,10 @@ test("ajax cache", function () { ok( jQuery.ajax({url: "data/text.php?name=David&_=tobereplaced555&washere=true", cache:false}), "test with 2 parameters surrounding _= one" ); }); +/* + * Test disabled. + * The assertions expect that the passed-in object will be modified, + * which shouldn't be the case. Fixes #5439. test("global ajaxSettings", function() { expect(2); @@ -372,6 +393,7 @@ test("global ajaxSettings", function() { jQuery.ajaxSettings = tmp; }); +*/ test("load(String)", function() { expect(1);