aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authornanto_vi <nanto@moon.email.ne.jp>2013-01-06 17:09:28 +0900
committernanto_vi <nanto@moon.email.ne.jp>2013-01-07 02:49:15 +0900
commite7fdda981928befda72b78e9e2b17e33e232a603 (patch)
tree89a4eb15a5e89c507866b8deccb4afd6ef248f5a /test
parentc61150427fc8ccc8e884df8f221a6c9bb5477929 (diff)
downloadjquery-e7fdda981928befda72b78e9e2b17e33e232a603.tar.gz
jquery-e7fdda981928befda72b78e9e2b17e33e232a603.zip
Propagete context of returned deferred object in Deferred.then(). Fixes #13160
Diffstat (limited to 'test')
-rw-r--r--test/unit/deferred.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/test/unit/deferred.js b/test/unit/deferred.js
index 86b0b3411..f9bc13a9c 100644
--- a/test/unit/deferred.js
+++ b/test/unit/deferred.js
@@ -273,7 +273,7 @@ test( "jQuery.Deferred.then - deferred (progress)", function() {
test( "jQuery.Deferred.then - context", function() {
- expect( 4 );
+ expect( 7 );
var context = {};
@@ -284,6 +284,12 @@ test( "jQuery.Deferred.then - context", function() {
strictEqual( value, 6, "proper value received" );
});
+ jQuery.Deferred().resolve().then(function() {
+ return jQuery.Deferred().resolveWith(context);
+ }).done(function() {
+ strictEqual( this, context, "custom context of returned deferred correctly propagated" );
+ });
+
var defer = jQuery.Deferred(),
piped = defer.then(function( value ) {
return value * 3;
@@ -295,6 +301,16 @@ test( "jQuery.Deferred.then - context", function() {
strictEqual( this, piped, "default context gets updated to latest promise in the chain" );
strictEqual( value, 6, "proper value received" );
});
+
+ var defer2 = jQuery.Deferred(),
+ piped2 = defer2.then();
+
+ defer2.resolve( 2 );
+
+ piped2.done(function( value ) {
+ strictEqual( this, piped2, "default context gets updated to latest promise in the chain (without passing function)" );
+ strictEqual( value, 2, "proper value received (without passing function)" );
+ });
});
test( "jQuery.when", function() {