aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/data/testinit.js110
1 files changed, 45 insertions, 65 deletions
diff --git a/test/data/testinit.js b/test/data/testinit.js
index b16b0be3d..0a7448f26 100644
--- a/test/data/testinit.js
+++ b/test/data/testinit.js
@@ -144,75 +144,55 @@ function url( value ) {
}
// Ajax testing helper
-var ajaxTest = (function() {
-
- var resolved = $.Deferred().resolve();
-
- function getRequests( options ) {
- var requests = options.requests || options.request || options || [];
- if ( !jQuery.isArray(requests) ) {
- requests = [ requests ];
- }
- return requests;
+function ajaxTest( title, expect, options ) {
+ var requestOptions;
+ if ( jQuery.isFunction( options ) ) {
+ options = options();
+ }
+ options = options || [];
+ requestOptions = options.requests || options.request || options;
+ if ( !jQuery.isArray( requestOptions ) ) {
+ requestOptions = [ requestOptions ];
}
-
- return function( title, expect, options ) {
- if ( jQuery.isFunction(options) ) {
- options = options();
+ asyncTest( title, expect, function() {
+ if ( options.setup ) {
+ options.setup();
}
- options = options || [];
- asyncTest( title, expect, function() {
- setTimeout(function() {
- if ( options.setup ) {
- options.setup();
- }
- var ajaxSettings = jQuery.ajaxSetup( {}, {} );
- aborted = false,
- abort = function( reason ) {
- if ( !aborted ) {
- aborted = true;
- ok( false, "unexpected " + reason );
- jQuery.each( requests, function( _, request ) {
- request.abort();
- });
- }
- },
- requestOptions = getRequests( options ),
- requests = jQuery.map( requestOptions, function( options ) {
- var request = ( options.create || jQuery.ajax )( options );
- if ( options.afterSend ) {
- options.afterSend( request );
- }
- return request;
+ var aborted = false,
+ abort = function( reason ) {
+ if ( !aborted ) {
+ aborted = true;
+ ok( false, "unexpected " + reason );
+ jQuery.each( requests, function( _, request ) {
+ request.abort();
});
- requests = jQuery.map( requests, function( request, index ) {
- function callIfDefined( type, type2 ) {
- var handler = requestOptions[ index ][ type ] || !!requestOptions[ index ][ type2 ];
- return handler ? function() {
- if ( !aborted && jQuery.isFunction( handler ) ) {
- handler.apply( this, arguments );
- }
- return resolved;
- } : function() {
- abort( type );
- return resolved;
- }
- }
- var promise = request.then( callIfDefined( "done", "success" ), callIfDefined( "fail", "error" ) );
- promise.abort = request.abort;
- return promise;
- });
- jQuery.when.apply( jQuery, requests ).done(
- options.teardown,
- function() {
- jQuery.ajaxSetup( ajaxSettings );
- setTimeout( start, 0 );
+ }
+ },
+ requests = jQuery.map( requestOptions, function( options ) {
+ var request = ( options.create || jQuery.ajax )( options );
+ if ( options.afterSend ) {
+ options.afterSend( request );
+ }
+ return request;
+ });
+ jQuery.when.apply( jQuery, jQuery.map( requests, function( request, index ) {
+ function callIfDefined( deferType, optionType ) {
+ var handler = requestOptions[ index ][ deferType ] || !!requestOptions[ index ][ optionType ];
+ return handler ? function() {
+ if ( !aborted && jQuery.isFunction( handler ) ) {
+ handler.apply( this, arguments );
}
- );
- }, 0 );
- });
- };
-})();
+ } : function() {
+ abort( optionType );
+ }
+ }
+ return request.then( callIfDefined( "done", "success" ), callIfDefined( "fail", "error" ) );
+ }) ).always(
+ options.teardown,
+ start
+ );
+ });
+};
(function () {