From 22e28b01e60e87b2454f88ca128fb84916b13564 Mon Sep 17 00:00:00 2001
From: unknown <Julian@.(none)>
Date: Fri, 24 Dec 2010 18:02:45 +0100
Subject: [PATCH] Changed dataConverters key format.

---
 src/ajax.js              |   25 +++++--------------------
 src/transports/jsonp.js  |    6 ++----
 src/transports/script.js |    2 +-
 src/xhr.js               |   10 ++++++----
 test/unit/ajax.js        |    6 +++++-
 5 files changed, 19 insertions(+), 30 deletions(-)

diff --git a/src/ajax.js b/src/ajax.js
index 6f09362..4f1fc6c 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -223,36 +223,21 @@ jQuery.extend({
 		},
 
 		// List of data converters
-		// 1) key format is "source_type => destination_type" (spaces required)
+		// 1) key format is "source_type destination_type" (a single space in-between)
 		// 2) the catchall symbol "*" can be used for source_type
 		dataConverters: {
 
 			// Convert anything to text
-			"* => text": function(data) {
-				return "" + data;
-			},
+			"* text": window.String,
 
 			// Text to html (no transformation)
-			"text => html": function(data) {
-				return data;
-			},
+			"text html": window.String,
 
 			// Evaluate text as a json expression
-			"text => json": jQuery.parseJSON,
+			"text json": jQuery.parseJSON,
 
 			// Parse text as xml
-			"text => xml": function(data) {
-				var xml, parser;
-				if ( window.DOMParser ) { // Standard
-					parser = new DOMParser();
-					xml = parser.parseFromString(data,"text/xml");
-				} else { // IE
-					xml = new ActiveXObject("Microsoft.XMLDOM");
-					xml.async="false";
-					xml.loadXML(data);
-				}
-				return xml;
-			}
+			"text xml": jQuery.parseXML
 		}
 	},
 
diff --git a/src/transports/jsonp.js b/src/transports/jsonp.js
index 6c9fb70..a685bb1 100644
--- a/src/transports/jsonp.js
+++ b/src/transports/jsonp.js
@@ -70,18 +70,16 @@ jQuery.xhr.prefilter("json jsonp", function(s) {
 		}, s.complete ];
 				
 		// Use data converter to retrieve json after script execution
-		s.dataConverters["script => json"] = function() {
+		s.dataConverters["script json"] = function() {
 			if ( ! responseContainer ) {
-				jQuery.error("Callback '" + jsonpCallback + "' was not called");
+				jQuery.error( jsonpCallback + " was not called" );
 			}
 			return responseContainer[ 0 ];
 		};
 		
 		// Delegate to script transport
 		return "script";
-		
 	}
-
 });
 
 })( jQuery );
diff --git a/src/transports/script.js b/src/transports/script.js
index 27473ee..4f55dc5 100644
--- a/src/transports/script.js
+++ b/src/transports/script.js
@@ -12,7 +12,7 @@ jQuery.extend( true, jQuery.ajaxSettings , {
 	},
 		
 	dataConverters: {
-		"text => script": jQuery.globalEval
+		"text script": jQuery.globalEval
 	}
 } );
 
diff --git a/src/xhr.js b/src/xhr.js
index 94c6fe1..929c99f 100644
--- a/src/xhr.js
+++ b/src/xhr.js
@@ -254,12 +254,14 @@ jQuery.xhr = function( _native ) {
 							} else if ( current !== "*" && prev !== current ) {
 							
 								oneConv = conv1 = 
-									dataConverters[ ( conversion = prev + " => " + current ) ] ||
-									dataConverters[ "* => " + current ];
+									dataConverters[ ( conversion = prev + " " + current ) ] ||
+									dataConverters[ "* " + current ];
+								
+								console.log( conversion );
 								
 								if ( ! oneConv && prev !== "text" && current !== "text" ) {
-									conv1 = dataConverters[ prev + " => text" ] || dataConverters[ "* => text" ];
-									conv2 = dataConverters[ "text => " + current ];
+									conv1 = dataConverters[ prev + " text" ] || dataConverters[ "* text" ];
+									conv2 = dataConverters[ "text " + current ];
 								}
 								if ( oneConv || conv1 && conv2 ) {
 									response = oneConv ? conv1( response ) : conv2( conv1( response ) );
diff --git a/test/unit/ajax.js b/test/unit/ajax.js
index beec2c5..88d66bf 100644
--- a/test/unit/ajax.js
+++ b/test/unit/ajax.js
@@ -707,6 +707,10 @@ test("jQuery.ajax - xml: non-namespace elements inside namespaced elements (over
 		equals( jQuery("jsconf", resp).length, 1, 'jsconf in responseXML' );
 		equals( jQuery("thing", resp).length, 2, 'things in responseXML' );
 		start();
+	  },
+	  error: function(_1,_2,error) {
+		ok( false, error );
+		start();
 	  }
 	});
 });
@@ -1487,7 +1491,7 @@ test("jQuery.ajax() - json by content-type disabled with options", function() {
 		},
 		success: function( text ) {
 			equals( typeof text , "string" , "json wasn't auto-determined" );
-			var json = this.dataConverters["text => json"]( text );
+			var json = this.dataConverters["text json"]( 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' );
-- 
1.7.10.4