Removed errorThrown test for 404 responses seeing as Safari 3.x XHR sets the statusTe...
[jquery.git] / test / unit / ajax.js
index d018372..ec28b7c 100644 (file)
@@ -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"),
@@ -415,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);
 
@@ -1180,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);
        });
 });
@@ -1199,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();
 
@@ -1310,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)" );