X-Git-Url: http://git.asbjorn.it/?p=jquery.git;a=blobdiff_plain;f=test%2Funit%2Fajax.js;h=9d088f3c72348a6e8e642729dc2468f517655555;hp=2624b5583f8a8cb46464976eeb47366b64b2ebb4;hb=7c9a5e6016c2fcd38872367a891e5b3887d3df53;hpb=0e5b341cc0f3f9bf0f6659e09704f2267cfdfdba diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 2624b55..9d088f3 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -242,7 +242,7 @@ test("jQuery.ajax() - error callbacks", function() { test("jQuery.ajax() - textStatus and errorThrown values", function() { - var nb = 3; + var nb = 2; expect( 2 * nb ); stop(); @@ -253,6 +253,11 @@ test("jQuery.ajax() - textStatus and errorThrown values", function() { } } + /* + Safari 3.x returns "OK" instead of "Not Found" + Safari 4.x doesn't have this issue so the test should be re-instated once + we drop support for 3.x + jQuery.ajax({ url: url("data/nonExistingURL"), error: function( _ , textStatus , errorThrown ){ @@ -261,6 +266,7 @@ test("jQuery.ajax() - textStatus and errorThrown values", function() { startN(); } }); + */ jQuery.ajax({ url: url("data/name.php?wait=5"), @@ -909,7 +915,7 @@ test("serialize()", function() { }); test("jQuery.param()", function() { - expect(22); + expect(23); equals( !jQuery.ajaxSettings.traditional, true, "traditional flag, falsy by default" ); @@ -972,6 +978,9 @@ test("jQuery.param()", function() { params = { param1: null }; equals( jQuery.param(params,false), "param1=null", "Make sure that null params aren't traversed." ); + + params = {'test': {'length': 3, 'foo': 'bar'} }; + equals( jQuery.param( params, false ), "test%5Blength%5D=3&test%5Bfoo%5D=bar", "Sub-object with a length property" ); }); test("synchronous request", function() { @@ -1192,10 +1201,11 @@ test("jQuery.get(String, Hash, Function) - parse xml and use text() on nodes", f }); test("jQuery.getScript(String, Function) - with callback", function() { - expect(2); + expect(3); stop(); - jQuery.getScript(url("data/test.js"), function() { + jQuery.getScript(url("data/test.js"), function( data, _, jXHR ) { equals( foobar, "bar", 'Check if script was evaluated' ); + strictEqual( data, jXHR.responseText, "Same-domain script requests returns the source of the script (#8082)" ); setTimeout(start, 100); }); }); @@ -1629,17 +1639,32 @@ test("jQuery.getJSON(String, Function) - JSON object with absolute url to local }); }); -test("jQuery.post - data", function() { - expect(2); +test("jQuery.post - data", 3, function() { stop(); - jQuery.post(url("data/name.php"), {xml: "5-2", length: 3}, function(xml){ - jQuery('math', xml).each(function() { - equals( jQuery('calculation', this).text(), '5-2', 'Check for XML' ); - equals( jQuery('result', this).text(), '3', 'Check for XML' ); - }); - start(); - }); + jQuery.when( + jQuery.post( url( "data/name.php" ), { xml: "5-2", length: 3 }, function( xml ) { + jQuery( 'math', xml ).each( function() { + equals( jQuery( 'calculation', this ).text(), '5-2', 'Check for XML' ); + equals( jQuery( 'result', this ).text(), '3', 'Check for XML' ); + }) + }), + + jQuery.ajax({ + url: url('data/echoData.php'), + type: "POST", + data: { + 'test': { + 'length': 7, + 'foo': 'bar' + } + }, + success: function( data ) { + strictEqual( data, 'test%5Blength%5D=7&test%5Bfoo%5D=bar', 'Check if a sub-object with a length param is serialized correctly'); + } + }) + ).then( start, start ); + }); test("jQuery.post(String, Hash, Function) - simple with xml", function() { @@ -2052,12 +2077,12 @@ test("jQuery.ajax - transitive conversions", function() { jQuery.ajax( url("data/json.php") , { converters: { - "json myjson": function( data ) { + "json myJson": function( data ) { ok( true , "converter called" ); return data; } }, - dataType: "myjson", + dataType: "myJson", success: function() { ok( true , "Transitive conversion worked" ); strictEqual( this.dataTypes[0] , "text" , "response was retrieved as text" ); @@ -2067,13 +2092,13 @@ test("jQuery.ajax - transitive conversions", function() { jQuery.ajax( url("data/json.php") , { converters: { - "json myjson": function( data ) { + "json myJson": function( data ) { ok( true , "converter called (*)" ); return data; } }, contents: false, /* headers are wrong so we ignore them */ - dataType: "* myjson", + dataType: "* myJson", success: function() { ok( true , "Transitive conversion worked (*)" ); strictEqual( this.dataTypes[0] , "text" , "response was retrieved as text (*)" );