Renamed several ajaxSettings options. Removed cors test, fixed failing cors test.
authorjaubourg <j@ubourg.net>
Tue, 28 Dec 2010 01:30:51 +0000 (02:30 +0100)
committerjaubourg <j@ubourg.net>
Fri, 31 Dec 2010 03:15:09 +0000 (04:15 +0100)
src/ajax.js
src/transports/jsonp.js
src/transports/script.js
test/unit/ajax.js

index 7c0e101..19ec836 100644 (file)
@@ -183,7 +183,7 @@ jQuery.extend({
                        "*": "*/*"
                },
 
-               autoDataType: {
+               contents: {
                        xml: /xml/,
                        html: /html/,
                        json: /json/
@@ -208,7 +208,7 @@ jQuery.extend({
                // List of data converters
                // 1) key format is "source_type destination_type" (a single space in-between)
                // 2) the catchall symbol "*" can be used for source_type
-               dataConverters: {
+               converters: {
 
                        // Convert anything to text
                        "* text": window.String,
@@ -398,7 +398,7 @@ jQuery.extend({
                                                        oneConv,
                                                        convertion,
                                                        dataTypes = s.dataTypes,
-                                                       dataConverters = s.dataConverters,
+                                                       converters = s.converters,
                                                        responses = {
                                                                "xml": "XML",
                                                                "text": "Text"
@@ -420,14 +420,14 @@ jQuery.extend({
                                                                if ( prev !== "*" && current !== "*" && prev !== current ) {
                                                                
                                                                        oneConv = conv1 = 
-                                                                               dataConverters[ ( conversion = prev + " " + current ) ] ||
-                                                                               dataConverters[ "* " + current ];
+                                                                               converters[ ( conversion = prev + " " + current ) ] ||
+                                                                               converters[ "* " + current ];
                                                                        
                                                                        if ( oneConv !== true ) {
                                                                                
                                                                                if ( ! oneConv && prev !== "text" && current !== "text" ) {
-                                                                                       conv1 = dataConverters[ prev + " text" ] || dataConverters[ "* text" ];
-                                                                                       conv2 = dataConverters[ "text " + current ];
+                                                                                       conv1 = converters[ prev + " text" ] || converters[ "* text" ];
+                                                                                       conv2 = converters[ "text " + current ];
                                                                                }
                                                                                
                                                                                if ( oneConv || conv1 && conv2 ) {
@@ -841,7 +841,7 @@ jQuery.each( [ "prefilter" , "transport" ] , function( _ , name ) {
 // (for those transports that can give text or xml responses)
 function determineDataType( s , ct , text , xml ) {
        
-       var autoDataType = s.autoDataType,
+       var contents = s.contents,
                type,
                regexp,
                dataTypes = s.dataTypes,
@@ -851,8 +851,8 @@ function determineDataType( s , ct , text , xml ) {
        // Auto (xml, json, script or text determined given headers)
        if ( transportDataType === "*" ) {
 
-               for ( type in autoDataType ) {
-                       if ( ( regexp = autoDataType[ type ] ) && regexp.test( ct ) ) {
+               for ( type in contents ) {
+                       if ( ( regexp = contents[ type ] ) && regexp.test( ct ) ) {
                                transportDataType = dataTypes[0] = type;
                                break;
                        }
@@ -871,7 +871,7 @@ function determineDataType( s , ct , text , xml ) {
                
                response = text;
                
-               // If it's not really text, defer to dataConverters
+               // If it's not really text, defer to converters
                if ( transportDataType !== "text" ) {
                        dataTypes.unshift( "text" );
                }
index f16b394..aa30b5d 100644 (file)
@@ -70,7 +70,7 @@ jQuery.ajax.prefilter("json jsonp", function(s) {
                }, s.complete ];
                                
                // Use data converter to retrieve json after script execution
-               s.dataConverters["script json"] = function() {
+               s.converters["script json"] = function() {
                        if ( ! responseContainer ) {
                                jQuery.error( jsonpCallback + " was not called" );
                        }
index ddfaf36..d18f4d7 100644 (file)
@@ -7,11 +7,11 @@ jQuery.extend( true, jQuery.ajaxSettings , {
                script: "text/javascript, application/javascript"
        },
        
-       autoDataType: {
+       contents: {
                script: /javascript/
        },
                
-       dataConverters: {
+       converters: {
                "text script": jQuery.globalEval
        }
 } );
index 1a1ec33..4019eb7 100644 (file)
@@ -70,44 +70,6 @@ test("jQuery.ajax() - success callbacks - (url, options) syntax", function() {
        }, 13);
 });
 
-test("jQuery.ajax() - success/error callbacks (remote)", function() {
-
-       var supports = jQuery.support.cors;
-       
-       expect( supports ? 9 : 4 );
-
-       jQuery.ajaxSetup({ timeout: 0 });
-
-       stop();
-
-       setTimeout(function(){
-               jQuery('#foo').ajaxStart(function(){
-                       ok( true, "ajaxStart" );
-               }).ajaxStop(function(){
-                       ok( true, "ajaxStop" );
-                       start();
-               }).ajaxSend(function(){
-                       ok( supports , "ajaxSend" );
-               }).ajaxComplete(function(){
-                       ok( true, "ajaxComplete" );
-               }).ajaxError(function(){
-                       ok( ! supports, "ajaxError" );
-               }).ajaxSuccess(function(){
-                       ok( supports, "ajaxSuccess" );
-               });
-
-               jQuery.ajax({
-                       // JULIAN TODO: Get an url especially for jQuery
-                       url: "http://rockstarapps.com/test.php",
-                       dataType: "text",
-                       beforeSend: function(){ ok(supports, "beforeSend"); },
-                       success: function( val ){ ok(supports, "success"); ok(supports && val.length, "data received"); },
-                       error: function(_ , a , b ){ ok(false, "error"); },
-                       complete: function(){ ok(supports, "complete"); }
-               });
-       }, 13);
-});
-
 test("jQuery.ajax() - success callbacks (late binding)", function() {
        expect( 8 );
 
@@ -1328,12 +1290,12 @@ test("jQuery.ajax() - json by content-type disabled with options", function() {
        jQuery.ajax({
                url: url("data/json.php"),
                data: { header: "json", json: "array" },
-               autoDataType: {
+               contents: {
                        json: false
                },
                success: function( text ) {
                        equals( typeof text , "string" , "json wasn't auto-determined" );
-                       var json = this.dataConverters["text json"]( text );
+                       var json = jQuery.parseJSON( text );
                        ok( json.length >= 2, "Check length");
                        equals( json[0].name, 'John', 'Check JSON: first, name' );
                        equals( json[0].age, 21, 'Check JSON: first, age' );
@@ -1676,21 +1638,27 @@ test("jQuery ajax - failing cross-domain", function() {
        stop();
 
        var i = 2;
-
-       jQuery.ajax({
-               url: 'http://somewebsitethatdoesnotexist.com',
+       
+       if ( jQuery.ajax({
+               url: 'http://somewebsitethatdoesnotexist-67864863574657654.com',
                success: function(){ ok( false , "success" ); },
                error: function(xhr,_,e){ ok( true , "file not found: " + xhr.status + " => " + e ); },
                complete: function() { if ( ! --i ) start(); }
-       });
-
-       jQuery.ajax({
+       }) === false ) {
+               ok( true , "no transport" );
+               if ( ! --i ) start();
+       }
+       
+       if ( jQuery.ajax({
                url: 'http://www.google.com',
                success: function(){ ok( false , "success" ); },
                error: function(xhr,_,e){ ok( true , "access denied: " + xhr.status + " => " + e ); },
                complete: function() { if ( ! --i ) start(); }
-       });
-
+       }) === false ) {
+               ok( true , "no transport" );
+               if ( ! --i ) start();
+       }
+       
 });
 
 test("jQuery ajax - atom+xml", function() {