From 31949fa528141dad4b92851212677b039cb23cfb Mon Sep 17 00:00:00 2001 From: Dan Heberden Date: Mon, 31 Jan 2011 19:37:28 -0800 Subject: [PATCH] Bug 8107; Fix argument handling for $.ajax for multiple method signatues and add test case --- src/ajax.js | 5 ++--- test/unit/ajax.js | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index c7d7f2d63..3158ca44a 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -322,9 +322,8 @@ jQuery.extend({ // Main method ajax: function( url, options ) { - // If options is not an object, - // we simulate pre-1.5 signature - if ( typeof options !== "object" ) { + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { options = url; url = undefined; } diff --git a/test/unit/ajax.js b/test/unit/ajax.js index a536b9f83..25e021873 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -2161,6 +2161,25 @@ test("jQuery.ajax - active counter", function() { ok( jQuery.active == 0, "ajax active counter should be zero: " + jQuery.active ); }); +test( "jQuery.ajax - multiple method signatures introduced in 1.5 ( #8107)", 4, function() { + + expect( 3 ); + + var i = 3; + + jQuery.ajaxSetup({success: function() { + ok( true, "Success"); + if ( ! --i ) start(); + }}); + + stop(); + jQuery.ajax('data/name.html'); + jQuery.ajax('data/name.html', {} ); + jQuery.ajax({ url: 'data/name.html'} ); + + jQuery.ajaxSetup({ success: null }); +}); + } //} \ No newline at end of file