+test( "jQuery.ajax - multiple method signatures introduced in 1.5 ( #8107)", function() {
+
+ expect( 4 );
+
+ stop();
+
+ jQuery.when(
+ jQuery.ajax().success(function() { ok( true, 'With no arguments' ); }),
+ jQuery.ajax('data/name.html').success(function() { ok( true, 'With only string URL argument' ); }),
+ jQuery.ajax('data/name.html', {} ).success(function() { ok( true, 'With string URL param and map' ); }),
+ jQuery.ajax({ url: 'data/name.html'} ).success(function() { ok( true, 'With only map' ); })
+ ).then( start, start );
+
+});
+
+test("jQuery.ajax() - textStatus and errorThrown values", function() {
+
+ var nb = 2;
+
+ expect( 2 * nb );
+ stop();
+
+ function startN() {
+ if ( !( --nb ) ) {
+ start();
+ }
+ }
+
+ /*
+ Safari 3.x returns "OK" instead of "Not Found"
+ Safari 4.x doesn't have this issue so the test should be re-instated once
+ we drop support for 3.x
+
+ jQuery.ajax({
+ url: url("data/nonExistingURL"),
+ error: function( _ , textStatus , errorThrown ){
+ strictEqual( textStatus, "error", "textStatus is 'error' for 404" );
+ strictEqual( errorThrown, "Not Found", "errorThrown is 'Not Found' for 404");
+ startN();
+ }
+ });
+ */
+
+ jQuery.ajax({
+ url: url("data/name.php?wait=5"),
+ error: function( _ , textStatus , errorThrown ){
+ strictEqual( textStatus, "abort", "textStatus is 'abort' for abort" );
+ strictEqual( errorThrown, "abort", "errorThrown is 'abort' for abort");
+ startN();
+ }
+ }).abort();
+
+ jQuery.ajax({
+ url: url("data/name.php?wait=5"),
+ error: function( _ , textStatus , errorThrown ){
+ strictEqual( textStatus, "mystatus", "textStatus is 'mystatus' for abort('mystatus')" );
+ strictEqual( errorThrown, "mystatus", "errorThrown is 'mystatus' for abort('mystatus')");
+ startN();
+ }
+ }).abort( "mystatus" );
+});
+