Fix #12989. Remove ajax "global" event behavior.

This commit is contained in:
Dave Methvin
2012-12-01 15:25:52 -05:00
parent b382af685a
commit c2d6847de0
2 changed files with 43 additions and 143 deletions

View File

@@ -7,7 +7,10 @@ module( "ajax", {
return callback;
};
},
teardown: moduleTeardown
teardown: function() {
jQuery( document ).off( "ajaxStart ajaxStop ajaxSend ajaxComplete ajaxError ajaxSuccess" );
moduleTeardown();
}
});
(function() {
@@ -16,24 +19,16 @@ module( "ajax", {
return;
}
function addGlobalEvents() {
jQuery( document ).on( "ajaxStart ajaxStop ajaxSend ajaxComplete ajaxError ajaxSuccess", function( e ) {
ok( true, e.type );
});
}
//----------- jQuery.ajax()
ajaxTest( "jQuery.ajax() - success callbacks", 8, {
setup: function() {
jQuery("#foo").ajaxStart(function() {
ok( true, "ajaxStart" );
}).ajaxStop(function() {
ok( true, "ajaxStop" );
}).ajaxSend(function() {
ok( true, "ajaxSend" );
}).ajaxComplete(function() {
ok( true, "ajaxComplete" );
}).ajaxError(function() {
ok( false, "ajaxError" );
}).ajaxSuccess(function() {
ok( true, "ajaxSuccess" );
});
},
setup: addGlobalEvents,
url: url("data/name.html"),
beforeSend: function() {
ok( true, "beforeSend" );
@@ -47,21 +42,7 @@ module( "ajax", {
});
ajaxTest( "jQuery.ajax() - success callbacks - (url, options) syntax", 8, {
setup: function() {
jQuery("#foo").ajaxStart(function() {
ok( true, "ajaxStart" );
}).ajaxStop(function() {
ok( true, "ajaxStop" );
}).ajaxSend(function() {
ok( true, "ajaxSend" );
}).ajaxComplete(function() {
ok( true, "ajaxComplete" );
}).ajaxError(function() {
ok( false, "ajaxError" );
}).ajaxSuccess(function() {
ok( true, "ajaxSuccess" );
});
},
setup: addGlobalEvents,
create: function( options ) {
return jQuery.ajax( url("data/name.html"), options );
},
@@ -77,21 +58,7 @@ module( "ajax", {
});
ajaxTest( "jQuery.ajax() - success callbacks (late binding)", 8, {
setup: function() {
jQuery("#foo").ajaxStart(function() {
ok( true, "ajaxStart" );
}).ajaxStop(function() {
ok( true, "ajaxStop" );
}).ajaxSend(function() {
ok( true, "ajaxSend" );
}).ajaxComplete(function() {
ok( true, "ajaxComplete" );
}).ajaxError(function() {
ok( false, "ajaxError" );
}).ajaxSuccess(function() {
ok( true, "ajaxSuccess" );
});
},
setup: addGlobalEvents,
url: url("data/name.html"),
beforeSend: function() {
ok( true, "beforeSend" );
@@ -109,21 +76,7 @@ module( "ajax", {
});
ajaxTest( "jQuery.ajax() - success callbacks (oncomplete binding)", 8, {
setup: function() {
jQuery("#foo").ajaxStart(function() {
ok( true, "ajaxStart" );
}).ajaxStop(function() {
ok( true, "ajaxStop" );
}).ajaxSend(function() {
ok( true, "ajaxSend" );
}).ajaxComplete(function() {
ok( true, "ajaxComplete" );
}).ajaxError(function() {
ok( false, "ajaxError" );
}).ajaxSuccess(function() {
ok( true, "ajaxSuccess" );
});
},
setup: addGlobalEvents,
url: url("data/name.html"),
beforeSend: function() {
ok( true, "beforeSend" );
@@ -141,21 +94,7 @@ module( "ajax", {
});
ajaxTest( "jQuery.ajax() - error callbacks", 8, {
setup: function() {
jQuery("#foo").ajaxStart(function() {
ok( true, "ajaxStart" );
}).ajaxStop(function() {
ok( true, "ajaxStop" );
}).ajaxSend(function() {
ok( true, "ajaxSend" );
}).ajaxComplete(function() {
ok( true, "ajaxComplete" );
}).ajaxError(function() {
ok( true, "ajaxError" );
}).ajaxSuccess(function() {
ok( false, "ajaxSuccess" );
});
},
setup: addGlobalEvents,
url: url("data/name.php?wait=5"),
beforeSend: function() {
ok( true, "beforeSend" );
@@ -237,7 +176,7 @@ module( "ajax", {
ajaxTest( "jQuery.ajax() - headers", 4, {
setup: function() {
jQuery("#foo").ajaxSend(function( evt, xhr ) {
jQuery( document ).ajaxSend(function( evt, xhr ) {
xhr.setRequestHeader( "ajax-send", "test" );
});
},
@@ -394,18 +333,8 @@ module( "ajax", {
];
});
ajaxTest( "jQuery.ajax() - abort", 8, {
setup: function() {
jQuery("#foo").ajaxStart(function() {
ok( true, "ajaxStart" );
}).ajaxStop(function() {
ok( true, "ajaxStop" );
}).ajaxSend(function() {
ok( true, "ajaxSend" );
}).ajaxComplete(function() {
ok( true, "ajaxComplete" );
});
},
ajaxTest( "jQuery.ajax() - abort", 9, {
setup: addGlobalEvents,
url: url("data/name.php?wait=5"),
beforeSend: function() {
ok( true, "beforeSend" );
@@ -660,14 +589,14 @@ module( "ajax", {
var success = function() {
successCount++;
};
jQuery("#foo").ajaxError(function( e, xml, s, ex ) {
jQuery( document ).on( "ajaxError.passthru", function( e, xml, s, ex ) {
errorCount++;
errorEx += ": " + xml.status;
});
jQuery("#foo").one( "ajaxStop", function() {
jQuery( document ).one( "ajaxStop", function() {
equal( successCount, 5, "Check all ajax calls successful" );
equal( errorCount, 0, "Check no ajax errors (status" + errorEx + ")" );
jQuery("#foo").unbind("ajaxError");
jQuery( document ).off("ajaxError.passthru");
start();
});
@@ -1592,7 +1521,7 @@ module( "ajax", {
pass = function() {
ok( passed++ < 2, "Error callback executed" );
if ( passed == 2 ) {
jQuery("#qunit-fixture").unbind("ajaxError");
jQuery( document ).off("ajaxError.setupTest");
start();
}
},
@@ -1601,7 +1530,7 @@ module( "ajax", {
start();
};
jQuery("#qunit-fixture").ajaxError( pass );
jQuery( document ).on( "ajaxError.setupTest", pass );
jQuery.ajaxSetup({
timeout: 1000
@@ -1767,20 +1696,8 @@ module( "ajax", {
});
asyncTest( "jQuery.fn.load() - 404 error callbacks", 6, function() {
jQuery("#foo").ajaxStart(function() {
ok( true, "ajaxStart" );
}).ajaxStop(function() {
ok( true, "ajaxStop" );
start();
}).ajaxSend(function() {
ok( true, "ajaxSend" );
}).ajaxComplete(function() {
ok( true, "ajaxComplete" );
}).ajaxError(function() {
ok( true, "ajaxError" );
}).ajaxSuccess(function() {
ok( false, "ajaxSuccess" );
});
addGlobalEvents();
jQuery( document ).ajaxStop( start );
jQuery("<div/>").load( "data/404.html", function() {
ok( true, "complete" );
});
@@ -1921,9 +1838,9 @@ module( "ajax", {
jQuery.ajaxSetup({
dataType: "json"
});
jQuery("#first").ajaxComplete(function( e, xml, s ) {
jQuery( document ).ajaxComplete(function( e, xml, s ) {
strictEqual( s.dataType, "html", "Verify the load() dataType was html" );
jQuery("#first").unbind("ajaxComplete");
jQuery( document ).unbind("ajaxComplete");
start();
});
jQuery("#first").load("data/test3.html");
@@ -1938,12 +1855,11 @@ module( "ajax", {
"foo": "bar"
}
});
jQuery("#foo")
.load( "data/echoQuery.php", data )
.ajaxComplete(function( event, jqXHR, options ) {
ok( ~options.data.indexOf("foo=bar"), "Data from ajaxSettings was used" );
start();
});
jQuery("#foo").load( "data/echoQuery.php", data );
jQuery( document ).ajaxComplete(function( event, jqXHR, options ) {
ok( ~options.data.indexOf("foo=bar"), "Data from ajaxSettings was used" );
start();
});
});
//----------- jQuery.post()