X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=eb88c4a894def3c68e66993fc79890a0f2db0a28;hb=5237b09602d5e360da361823748b0f34861b5a9a;hp=f4117247ab61709944555193778e6f8fa1411175;hpb=88d97deb773e6142b7656a4bc4ee973957b6ba49;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index f411724..eb88c4a 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -903,15 +903,15 @@ test("jQuery.parseJSON", function(){ } }); -test("jQuery._deferred()", function() { +test("jQuery._Deferred()", function() { - expect( 14 ); + expect( 10 ); var deferred, object, test; - deferred = jQuery._deferred(); + deferred = jQuery._Deferred(); test = false; @@ -938,31 +938,19 @@ test("jQuery._deferred()", function() { test = true; deferred.then( function() { - ok( false , "Manual cancel was ignored" ); + ok( false , "Cancel was ignored" ); test = false; } ); - ok( test , "Test manual cancel" ); + ok( test , "Test cancel" ); - deferred = jQuery._deferred().then( function() { - return false; - } ); - - deferred.resolve(); - - test = true; - - deferred.then( function() { - test = false; - } ); + deferred = jQuery._Deferred().resolve(); - ok( test , "Test cancel by returning false" ); - try { - deferred = jQuery._deferred().resolve().then( function() { + deferred.then( function() { throw "Error"; } , function() { - ok( false , "Test deferred cancel on exception" ); + ok( true , "Test deferred do not cancel on exception" ); } ); } catch( e ) { strictEqual( e , "Error" , "Test deferred propagates exceptions"); @@ -970,7 +958,7 @@ test("jQuery._deferred()", function() { } test = ""; - deferred = jQuery._deferred().then( function() { + deferred = jQuery._Deferred().then( function() { test += "A"; @@ -1001,95 +989,40 @@ test("jQuery._deferred()", function() { strictEqual( test , "ABC" , "Test then callbacks order" ); - deferred = jQuery._deferred( false ).resolve().cancel(); - - deferred.then( function() { - ok( true , "Test non-cancellable deferred not cancelled manually"); - return false; - } ); - - deferred.then( function() { - ok( true , "Test non-cancellable deferred not cancelled by returning false"); - } ); - - try { - deferred.then( function() { - throw "Error"; - } , function() { - ok( true , "Test non-cancellable deferred keeps callbacks after exception" ); - } ); - } catch( e ) { - strictEqual( e , "Error" , "Test non-cancellable deferred propagates exceptions"); - deferred.then(); - } - - deferred = jQuery._deferred(); + deferred = jQuery._Deferred(); deferred.fire( jQuery , [ document ] ).then( function( doc ) { ok( this === jQuery && arguments.length === 1 && doc === document , "Test fire context & args" ); }); }); -test("jQuery.deferred()", function() { +test("jQuery.Deferred()", function() { - expect( 8 ); + expect( 4 ); - jQuery.deferred( function( defer ) { + jQuery.Deferred( function( defer ) { strictEqual( this , defer , "Defer passed as this & first argument" ); this.resolve( "done" ); }).then( function( value ) { strictEqual( value , "done" , "Passed function executed" ); }); - jQuery.deferred().resolve().then( function() { + jQuery.Deferred().resolve().then( function() { ok( true , "Success on resolve" ); }).fail( function() { ok( false , "Error on resolve" ); }); - jQuery.deferred().reject().then( function() { + jQuery.Deferred().reject().then( function() { ok( false , "Success on reject" ); }).fail( function() { ok( true , "Error on reject" ); }); - - var flag = true; - - jQuery.deferred().resolve().cancel().then( function() { - ok( flag = false , "Success on resolve/cancel" ); - }).fail( function() { - ok( flag = false , "Error on resolve/cancel" ); - }); - - ok( flag , "Cancel on resolve" ); - - flag = true; - - jQuery.deferred().reject().cancel().then( function() { - ok( flag = false , "Success on reject/cancel" ); - }).fail( function() { - ok( flag = false , "Error on reject/cancel" ); - }); - - ok( flag , "Cancel on reject" ); - - jQuery.deferred( false ).resolve().then( function() { - return false; - } , function() { - ok( true , "Not cancelled on resolve" ); - }); - - jQuery.deferred( false ).reject().fail( function() { - return false; - } , function() { - ok( true , "Not cancelled on reject" ); - }); - }); test("jQuery.isDeferred()", function() { - expect( 11 ); + expect( 10 ); var object1 = { then: function() { return this; } }, object2 = { then: function() { return this; } }; @@ -1097,8 +1030,8 @@ test("jQuery.isDeferred()", function() { object2.then._ = []; // The use case that we want to match - ok(jQuery.isDeferred(jQuery._deferred()), "Simple deferred"); - ok(jQuery.isDeferred(jQuery.deferred()), "Failable deferred"); + ok(jQuery.isDeferred(jQuery._Deferred()), "Simple deferred"); + ok(jQuery.isDeferred(jQuery.Deferred()), "Failable deferred"); // Some other objects ok(!jQuery.isDeferred(object1), "Object with then & no marker"); @@ -1111,20 +1044,19 @@ test("jQuery.isDeferred()", function() { ok(!jQuery.isDeferred(null), "null"); ok(!jQuery.isDeferred(undefined), "undefined"); - object1 = {custom: jQuery._deferred().then}; + object1 = {custom: jQuery._Deferred().then}; ok(!jQuery.isDeferred(object1) , "custom method name not found automagically"); - ok(jQuery.isDeferred(object1,"custom") , "custom method name"); }); test("jQuery.when()", function() { - expect( 5 ); + expect( 2 ); - var cache, i, deferred = { done: jQuery.deferred().resolve( 1 ).then }; + var cache, i; for( i = 1 ; i < 3 ; i++ ) { - jQuery.when( cache || jQuery.deferred( function() { + jQuery.when( cache || jQuery.Deferred( function() { this.resolve( i ); }) ).then( function( value ) { strictEqual( value , 1 , "Function executed" + ( i > 1 ? " only once" : "" ) ); @@ -1133,22 +1065,4 @@ test("jQuery.when()", function() { ok( false , "Fail called" ); }); } - - cache = 0; - - for( i = 1 ; i < 3 ; i++ ) { - jQuery.when( cache || deferred , "done" ).done( function( value ) { - strictEqual( value , 1 , "Custom method: resolved" + ( i > 1 ? " only once" : "" ) ); - cache = value; - }).fail( function() { - ok( false , "Custom method: fail called" ); - }); - } - - stop(); - - jQuery.when( jQuery( document ) , "ready" ).then( function( test ) { - strictEqual( test , jQuery , "jQuery.fn.ready recognized as a deferred" ); - start(); - }); });