Handle a falsy URL in the settings object for jQuery.ajax. Fixes #10093, Closes gh-979

This commit is contained in:
Ben Truyman
2012-10-16 11:37:15 -04:00
committed by Rick Waldron
parent fcaef88968
commit ce5784a480
2 changed files with 39 additions and 3 deletions

View File

@@ -1451,7 +1451,7 @@ if ( jQuery.ajax && ( !isLocal || hasPHP ) ) {
jQuery.each( [ "Same Domain", "Cross Domain" ], function( crossDomain, label ) {
asyncTest( "jQuery.ajax() - JSONP, Query String (?n)" + label, function() {
expect( 4 );
@@ -1543,7 +1543,7 @@ if ( jQuery.ajax && ( !isLocal || hasPHP ) ) {
plus();
}
});
window["jsonpResults"] = function( data ) {
ok( data["data"], "JSON results returned (GET, custom callback function)" );
window["jsonpResults"] = undefined;
@@ -2725,4 +2725,38 @@ if ( jQuery.ajax && ( !isLocal || hasPHP ) ) {
expect( 1 );
ok( jQuery.active === 0, "ajax active counter should be zero: " + jQuery.active );
});
test("jQuery.ajax - falsy url as argument (#10093)", function() {
expect( 4 );
jQuery.ajaxSetup({ timeout: 0 });
stop();
jQuery.when(
jQuery.ajax("").success(function(){ ok( true, "settings object - empty string" ); }),
jQuery.ajax( false ).success(function(){ ok( true, "false" ); }),
jQuery.ajax( null ).success(function(){ ok( true, "null" ); }),
jQuery.ajax( undefined ).success(function(){ ok( true, "undefined" ); })
).always(function () {
start();
});
});
test("jQuery.ajax - falsy url in settings object (#10093)", function() {
expect( 4 );
jQuery.ajaxSetup({ timeout: 0 });
stop();
jQuery.when(
jQuery.ajax({ url: "" }).success(function(){ ok( true, "settings object - empty string" ); }),
jQuery.ajax({ url: false }).success(function(){ ok( true, "false" ); }),
jQuery.ajax({ url: null }).success(function(){ ok( true, "null" ); }),
jQuery.ajax({ url: undefined }).success(function(){ ok( true, "undefined" ); })
).always(function () {
start();
});
});
}