Deferred: .resolve(), .reject() and .notify() now set the callback context to the promise instance rather than the deferred instance ; .then() has also been amended. Fixes #11405.

This commit is contained in:
jaubourg
2012-12-07 15:14:12 +01:00
parent 282c044d64
commit 23d7cf0488
2 changed files with 9 additions and 6 deletions

View File

@@ -292,7 +292,7 @@ test( "jQuery.Deferred.then - context", function() {
defer.resolve( 2 );
piped.done(function( value ) {
strictEqual( this.promise(), piped, "default context gets updated to latest defer in the chain" );
strictEqual( this, piped, "default context gets updated to latest promise in the chain" );
strictEqual( value, 6, "proper value received" );
});
});
@@ -395,8 +395,8 @@ test( "jQuery.when - joined", function() {
expected = shouldResolve ? [ 1, 1 ] : [ 0, undefined ],
expectedNotify = shouldNotify && [ willNotify[ id1 ], willNotify[ id2 ] ],
code = id1 + "/" + id2,
context1 = defer1 && jQuery.isFunction( defer1.promise ) ? defer1 : undefined,
context2 = defer2 && jQuery.isFunction( defer2.promise ) ? defer2 : undefined;
context1 = defer1 && jQuery.isFunction( defer1.promise ) ? defer1.promise() : undefined,
context2 = defer2 && jQuery.isFunction( defer2.promise ) ? defer2.promise() : undefined;
jQuery.when( defer1, defer2 ).done(function( a, b ) {
if ( shouldResolve ) {