Have Deferred.always return the object onto which it is currently attached to enable true chainability. Fixes #10723. Unit tests added.

This commit is contained in:
jaubourg
2011-11-09 01:02:29 +01:00
parent c3600e261b
commit 2a9f0681de
2 changed files with 15 additions and 1 deletions

View File

@@ -56,6 +56,19 @@ jQuery.each( [ "", " - new operator" ], function( _, withNew ) {
});
} );
test( "jQuery.Deferred - chainability", function() {
var methods = "resolve reject notify resolveWith rejectWith notifyWith done fail progress then always".split( " " ),
defer = jQuery.Deferred();
expect( methods.length );
jQuery.each( methods, function( _, method ) {
var object = { m: defer[ method ] };
strictEqual( object.m(), object, method + " is chainable" );
});
});
test( "jQuery.Deferred.pipe - filtering (done)", function() {
expect(4);