},
// Check if an object is a deferred
- isDeferred: function( object , method ) {
- method = method || "then";
- return !!( object && object[ method ] && object[ method ]._ === deferredMarker );
+ isDeferred: function( object ) {
+ return !!( object && object.then && object.then._ === deferredMarker );
},
// Deferred helper
- when: function( object , method ) {
- method = method || "then";
- object = jQuery.isDeferred( object , method ) ?
+ when: function( object ) {
+ object = jQuery.isDeferred( object ) ?
object :
jQuery.Deferred().resolve( object );
- object.fail = object.fail || function() { return this; };
- object[ method ] = object[ method ] || object.then;
- object.then = object.then || object[ method ];
return object;
},
test("jQuery.isDeferred()", function() {
- expect( 11 );
+ expect( 10 );
var object1 = { then: function() { return this; } },
object2 = { then: function() { return this; } };
object1 = {custom: jQuery._Deferred().then};
ok(!jQuery.isDeferred(object1) , "custom method name not found automagically");
- ok(jQuery.isDeferred(object1,"custom") , "custom method name");
});
test("jQuery.when()", function() {
- expect( 5 );
+ expect( 2 );
- var cache, i, deferred = { done: jQuery.Deferred().resolve( 1 ).then };
+ var cache, i;
for( i = 1 ; i < 3 ; i++ ) {
jQuery.when( cache || jQuery.Deferred( function() {
ok( false , "Fail called" );
});
}
-
- cache = 0;
-
- for( i = 1 ; i < 3 ; i++ ) {
- jQuery.when( cache || deferred , "done" ).done( function( value ) {
- strictEqual( value , 1 , "Custom method: resolved" + ( i > 1 ? " only once" : "" ) );
- cache = value;
- }).fail( function() {
- ok( false , "Custom method: fail called" );
- });
- }
-
- stop();
-
- jQuery.when( jQuery( document ) , "ready" ).then( function( test ) {
- strictEqual( test , jQuery , "jQuery.fn.ready recognized as a deferred" );
- start();
- });
});