Added unit tests to check and demonstrate new jQuery.Deferred() works.
authorjaubourg <j@ubourg.net>
Mon, 17 Jan 2011 16:52:30 +0000 (17:52 +0100)
committerjaubourg <j@ubourg.net>
Mon, 17 Jan 2011 16:52:30 +0000 (17:52 +0100)
test/unit/core.js

index 8e3756a..88f7609 100644 (file)
@@ -1003,7 +1003,7 @@ test("jQuery._Deferred()", function() {
 
 test("jQuery.Deferred()", function() {
 
-       expect( 6 );
+       expect( 10 );
 
        jQuery.Deferred( function( defer ) {
                strictEqual( this , defer , "Defer passed as this & first argument" );
@@ -1024,6 +1024,25 @@ test("jQuery.Deferred()", function() {
                ok( true , "Error on reject" );
        });
 
+       ( new jQuery.Deferred( function( defer ) {
+               strictEqual( this , defer , "Defer passed as this & first argument (new)" );
+               this.resolve( "done" );
+       }) ).then( function( value ) {
+               strictEqual( value , "done" , "Passed function executed (new)" );
+       });
+
+       ( new jQuery.Deferred() ).resolve().then( function() {
+               ok( true , "Success on resolve (new)" );
+       }, function() {
+               ok( false , "Error on resolve (new)" );
+       });
+
+       ( new jQuery.Deferred() ).reject().then( function() {
+               ok( false , "Success on reject (new)" );
+       }, function() {
+               ok( true , "Error on reject (new)" );
+       });
+
        var tmp = jQuery.Deferred();
 
        strictEqual( tmp.promise() , tmp.promise() , "Test deferred always return same promise" );