mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Deferred: Fix $.when with resolved deferred and progress callbacks
Ref ab20d9d24f
This commit is contained in:
parent
62a333e064
commit
efb98f85ba
@ -133,9 +133,9 @@ jQuery.extend({
|
||||
for ( ; i < length; i++ ) {
|
||||
if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
|
||||
resolveValues[ i ].promise()
|
||||
.progress( updateFunc( i, progressContexts, progressValues ) )
|
||||
.done( updateFunc( i, resolveContexts, resolveValues ) )
|
||||
.fail( deferred.reject )
|
||||
.progress( updateFunc( i, progressContexts, progressValues ) );
|
||||
.fail( deferred.reject );
|
||||
} else {
|
||||
--remaining;
|
||||
}
|
||||
|
@ -436,3 +436,25 @@ test( "jQuery.when - joined", function() {
|
||||
deferreds.futureSuccess.resolve( 1 );
|
||||
deferreds.futureError.reject( 0 );
|
||||
});
|
||||
|
||||
test( "jQuery.when - resolved", function() {
|
||||
|
||||
expect( 6 );
|
||||
|
||||
var a = jQuery.Deferred().notify( 1 ).resolve( 4 ),
|
||||
b = jQuery.Deferred().notify( 2 ).resolve( 5 ),
|
||||
c = jQuery.Deferred().notify( 3 ).resolve( 6 );
|
||||
|
||||
jQuery.when( a, b, c ).progress(function( a, b, c ) {
|
||||
strictEqual( a, 1, "first notify value ok" );
|
||||
strictEqual( b, 2, "second notify value ok" );
|
||||
strictEqual( c, 3, "third notify value ok" );
|
||||
}).done(function( a, b, c ) {
|
||||
strictEqual( a, 4, "first resolve value ok" );
|
||||
strictEqual( b, 5, "second resolve value ok" );
|
||||
strictEqual( c, 6, "third resolve value ok" );
|
||||
}).fail(function() {
|
||||
ok( false, "Error on resolve" );
|
||||
});
|
||||
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user