Permalink
Browse files

Adds unit test to show order of parameters in the load callback are o…

…ff for errors since the rewrite (this test works in master).
  • Loading branch information...
1 parent ae6b14a commit d3e034f6c7b086ae772bf22d37f849a2d0ab5194 @jaubourg jaubourg committed May 2, 2012
Showing with 42 additions and 0 deletions.
  1. +42 −0 test/unit/ajax.js
View
@@ -1275,6 +1275,48 @@ asyncTest("load() - data specified in ajaxSettings is merged in (#10524)", 1, fu
});
});
+asyncTest("load() - callbacks get the correct parameters", 8, function() {
+ var slice = [].slice,
+ completeArgs = {};
+
+ jQuery.ajaxSetup({
+ success: function( _, status, jqXHR ) {
+ completeArgs[ this.url ] = [ jqXHR.responseText, status, jqXHR ];
+ },
+ error: function( jqXHR, status ) {
+ completeArgs[ this.url ] = [ jqXHR.responseText, status, jqXHR ];
+ }
+ });
+
+ jQuery.when.apply( jQuery, jQuery.map([
+ {
+ type: "success",
+ url: "data/echoQuery.php?arg=pop"
+ },
+ {
+ type: "error",
+ url: "data/404.php"
+ }
+ ], function( options ) {
+ return jQuery.Deferred(function( defer ) {
+ jQuery("#foo").load( options.url, function() {
+ var args = arguments;
+ strictEqual( completeArgs[ options.url ].length, args.length, "same number of arguments (" + options.type + ")" );
+ jQuery.each( completeArgs[ options.url ], function( i, value ) {
+ strictEqual( args[ i ], value, "argument #" + i + " is the same (" + options.type + ")" );
+ });
+ defer.resolve();
+ });
+ });
+ }) ).always(function() {
+ jQuery.ajaxSetup({
+ success: null,
+ error: null
+ });
+ start();
+ });
+});
+
test("jQuery.get(String, Function) - data in ajaxSettings (#8277)", function() {
expect(1);
stop();

0 comments on commit d3e034f

Please sign in to comment.