X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fajax.js;h=ec28b7c8b8d8989711661e54b69ca8baa7ee4cad;hb=d2384ad03a058370cc5978adaec5691fdee323bb;hp=b44f0773f2f40303ff7545a9a78ebe2c9fe9c65c;hpb=dc2e7317a90464e729fd9f29afaa16fa9c01487c;p=jquery.git diff --git a/test/unit/ajax.js b/test/unit/ajax.js index b44f077..ec28b7c 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -240,6 +240,53 @@ test("jQuery.ajax() - error callbacks", function() { }); }); +test("jQuery.ajax() - textStatus and errorThrown values", function() { + + var nb = 2; + + expect( 2 * nb ); + stop(); + + function startN() { + if ( !( --nb ) ) { + start(); + } + } + + /* + 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 ){ + strictEqual( textStatus, "error", "textStatus is 'error' for 404" ); + strictEqual( errorThrown, "Not Found", "errorThrown is 'Not Found' for 404"); + startN(); + } + }); + */ + + jQuery.ajax({ + url: url("data/name.php?wait=5"), + error: function( _ , textStatus , errorThrown ){ + strictEqual( textStatus, "abort", "textStatus is 'abort' for abort" ); + strictEqual( errorThrown, "abort", "errorThrown is 'abort' for abort"); + startN(); + } + }).abort(); + + jQuery.ajax({ + url: url("data/name.php?wait=5"), + error: function( _ , textStatus , errorThrown ){ + strictEqual( textStatus, "mystatus", "textStatus is 'mystatus' for abort('mystatus')" ); + strictEqual( errorThrown, "mystatus", "errorThrown is 'mystatus' for abort('mystatus')"); + startN(); + } + }).abort( "mystatus" ); +}); + test("jQuery.ajax() - responseText on error", function() { expect( 1 ); @@ -374,6 +421,18 @@ test(".ajax() - contentType" , function() { }); +test(".ajax() - protocol-less urls", function() { + expect(1); + + jQuery.ajax({ + url: "//somedomain.com", + beforeSend: function( xhr, settings ) { + equals(settings.url, location.protocol + "//somedomain.com", "Make sure that the protocol is added."); + return false; + } + }); +}); + test(".ajax() - hash", function() { expect(3); @@ -1139,10 +1198,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); }); }); @@ -1158,10 +1218,10 @@ test("jQuery.getScript(String, Function) - no callback", function() { jQuery.each( [ "Same Domain", "Cross Domain" ] , function( crossDomain , label ) { test("jQuery.ajax() - JSONP, " + label, function() { - expect(17); + expect(16); var count = 0; - function plus(){ if ( ++count == 17 ) start(); } + function plus(){ if ( ++count == 16 ) start(); } stop(); @@ -1269,23 +1329,6 @@ jQuery.each( [ "Same Domain", "Cross Domain" ] , function( crossDomain , label ) url: "data/jsonp.php", dataType: "jsonp", crossDomain: crossDomain, - data: { - callback: "?" - }, - success: function(data){ - ok( data.data, "JSON results returned (GET, processed data callback)" ); - plus(); - }, - error: function(data){ - ok( false, "Ajax error JSON (GET, processed data callback)" ); - plus(); - } - }); - - jQuery.ajax({ - url: "data/jsonp.php", - dataType: "jsonp", - crossDomain: crossDomain, jsonp: "callback", success: function(data){ ok( data.data, "JSON results returned (GET, data obj callback)" );