Removed custom method in isDeferred and when.
This commit is contained in:
parent
23d455b446
commit
240d8b681e
13
src/core.js
13
src/core.js
|
@ -936,20 +936,15 @@ jQuery.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
// Check if an object is a deferred
|
// Check if an object is a deferred
|
||||||
isDeferred: function( object , method ) {
|
isDeferred: function( object ) {
|
||||||
method = method || "then";
|
return !!( object && object.then && object.then._ === deferredMarker );
|
||||||
return !!( object && object[ method ] && object[ method ]._ === deferredMarker );
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Deferred helper
|
// Deferred helper
|
||||||
when: function( object , method ) {
|
when: function( object ) {
|
||||||
method = method || "then";
|
object = jQuery.isDeferred( object ) ?
|
||||||
object = jQuery.isDeferred( object , method ) ?
|
|
||||||
object :
|
object :
|
||||||
jQuery.Deferred().resolve( 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;
|
return object;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1024,7 +1024,7 @@ test("jQuery.Deferred()", function() {
|
||||||
|
|
||||||
test("jQuery.isDeferred()", function() {
|
test("jQuery.isDeferred()", function() {
|
||||||
|
|
||||||
expect( 11 );
|
expect( 10 );
|
||||||
|
|
||||||
var object1 = { then: function() { return this; } },
|
var object1 = { then: function() { return this; } },
|
||||||
object2 = { then: function() { return this; } };
|
object2 = { then: function() { return this; } };
|
||||||
|
@ -1049,14 +1049,13 @@ test("jQuery.isDeferred()", function() {
|
||||||
object1 = {custom: jQuery._Deferred().then};
|
object1 = {custom: jQuery._Deferred().then};
|
||||||
|
|
||||||
ok(!jQuery.isDeferred(object1) , "custom method name not found automagically");
|
ok(!jQuery.isDeferred(object1) , "custom method name not found automagically");
|
||||||
ok(jQuery.isDeferred(object1,"custom") , "custom method name");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("jQuery.when()", function() {
|
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++ ) {
|
for( i = 1 ; i < 3 ; i++ ) {
|
||||||
jQuery.when( cache || jQuery.Deferred( function() {
|
jQuery.when( cache || jQuery.Deferred( function() {
|
||||||
|
@ -1068,22 +1067,4 @@ test("jQuery.when()", function() {
|
||||||
ok( false , "Fail called" );
|
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();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue