From 6165cc45b7f673aa0d9daf33659a2783f68a45ac Mon Sep 17 00:00:00 2001 From: jaubourg Date: Tue, 28 Dec 2010 02:30:51 +0100 Subject: [PATCH] Renamed several ajaxSettings options. Removed cors test, fixed failing cors test. --- src/ajax.js | 22 ++++++++-------- src/transports/jsonp.js | 2 +- src/transports/script.js | 4 +-- test/unit/ajax.js | 64 ++++++++++++---------------------------------- 4 files changed, 30 insertions(+), 62 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index 7c0e101..19ec836 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -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" ); } diff --git a/src/transports/jsonp.js b/src/transports/jsonp.js index f16b394..aa30b5d 100644 --- a/src/transports/jsonp.js +++ b/src/transports/jsonp.js @@ -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" ); } diff --git a/src/transports/script.js b/src/transports/script.js index ddfaf36..d18f4d7 100644 --- a/src/transports/script.js +++ b/src/transports/script.js @@ -7,11 +7,11 @@ jQuery.extend( true, jQuery.ajaxSettings , { script: "text/javascript, application/javascript" }, - autoDataType: { + contents: { script: /javascript/ }, - dataConverters: { + converters: { "text script": jQuery.globalEval } } ); diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 1a1ec33..4019eb7 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -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() { -- 1.7.10.4