"then" renamed "complete" and new "then" method defined using "complete" and "fail" internally. The API is still symetrical (complete/fail), still promotes AOP but is also now Promise/A compliant. Changed unit tests and ajax module accordingly.

This commit is contained in:
jaubourg 2011-01-05 04:29:30 +01:00
parent 4ab94a578e
commit cbf591152c
3 changed files with 40 additions and 36 deletions

View file

@ -917,7 +917,7 @@ test("jQuery._Deferred()", function() {
test = false;
deferred.then( function( value ) {
deferred.complete( function( value ) {
equals( value , "value" , "Test pre-resolve callback" );
test = true;
} );
@ -928,7 +928,7 @@ test("jQuery._Deferred()", function() {
test = false;
deferred.then( function( value ) {
deferred.complete( function( value ) {
equals( value , "value" , "Test post-resolve callback" );
test = true;
} );
@ -939,7 +939,7 @@ test("jQuery._Deferred()", function() {
test = true;
deferred.then( function() {
deferred.complete( function() {
ok( false , "Cancel was ignored" );
test = false;
} );
@ -949,18 +949,18 @@ test("jQuery._Deferred()", function() {
deferred = jQuery._Deferred().resolve();
try {
deferred.then( function() {
deferred.complete( function() {
throw "Error";
} , function() {
ok( true , "Test deferred do not cancel on exception" );
} );
} catch( e ) {
strictEqual( e , "Error" , "Test deferred propagates exceptions");
deferred.then();
deferred.complete();
}
test = "";
deferred = jQuery._Deferred().then( function() {
deferred = jQuery._Deferred().complete( function() {
test += "A";
@ -970,13 +970,13 @@ test("jQuery._Deferred()", function() {
} ).resolve();
strictEqual( test , "AB" , "Test multiple then parameters" );
strictEqual( test , "AB" , "Test multiple complete parameters" );
test = "";
deferred.then( function() {
deferred.complete( function() {
deferred.then( function() {
deferred.complete( function() {
test += "C";
@ -989,11 +989,11 @@ test("jQuery._Deferred()", function() {
test += "B";
} );
strictEqual( test , "ABC" , "Test then callbacks order" );
strictEqual( test , "ABC" , "Test complete callbacks order" );
deferred = jQuery._Deferred();
deferred.fire( jQuery , [ document ] ).then( function( doc ) {
deferred.fire( jQuery , [ document ] ).complete( function( doc ) {
ok( this === jQuery && arguments.length === 1 && doc === document , "Test fire context & args" );
});
});
@ -1011,13 +1011,13 @@ test("jQuery.Deferred()", function() {
jQuery.Deferred().resolve().then( function() {
ok( true , "Success on resolve" );
}).fail( function() {
}, function() {
ok( false , "Error on resolve" );
});
jQuery.Deferred().reject().then( function() {
ok( false , "Success on reject" );
}).fail( function() {
}, function() {
ok( true , "Error on reject" );
});
});
@ -1055,7 +1055,7 @@ test("jQuery.when()", function() {
}) ).then( function( value ) {
strictEqual( value , 1 , "Function executed" + ( i > 1 ? " only once" : "" ) );
cache = value;
}).fail( function() {
}, function() {
ok( false , "Fail called" );
});
}