Renames Deferred's fire and fireReject methods as resolveWith and rejectWith respecti...
[jquery.git] / test / unit / core.js
index 8e3756a..30039bf 100644 (file)
@@ -1,4 +1,4 @@
-module("core");
+module("core", { teardown: moduleTeardown });
 
 test("Basic requirements", function() {
        expect(7);
@@ -85,10 +85,16 @@ test("jQuery()", function() {
        exec = true;
        elem.click();
 
+       // manually clean up detached elements
+       elem.remove();
+
        for ( var i = 0; i < 3; ++i ) {
                elem = jQuery("<input type='text' value='TEST' />");
        }
        equals( elem[0].defaultValue, "TEST", "Ensure cached nodes are cloned properly (Bug #6655)" );
+
+       // manually clean up detached elements
+       elem.remove();
 });
 
 test("selector state", function() {
@@ -996,14 +1002,14 @@ test("jQuery._Deferred()", function() {
 
        deferred = jQuery._Deferred();
 
-       deferred.fire( jQuery , [ document ] ).done( function( doc ) {
+       deferred.resolveWith( jQuery , [ document ] ).done( function( doc ) {
                ok( this === jQuery && arguments.length === 1 && doc === document , "Test fire context & args" );
        });
 });
 
 test("jQuery.Deferred()", function() {
 
-       expect( 6 );
+       expect( 10 );
 
        jQuery.Deferred( function( defer ) {
                strictEqual( this , defer , "Defer passed as this & first argument" );
@@ -1024,6 +1030,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" );