Capitalized Deferred & _Deferred to clearly mark them as new types, like Event.
This commit is contained in:
parent
d303687815
commit
1e1a9c7eb0
12
src/core.js
12
src/core.js
|
@ -805,7 +805,7 @@ jQuery.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
// Create a simple deferred (one callbacks list)
|
// Create a simple deferred (one callbacks list)
|
||||||
_deferred: function( cancellable ) {
|
_Deferred: function( cancellable ) {
|
||||||
|
|
||||||
// cancellable by default
|
// cancellable by default
|
||||||
cancellable = cancellable !== false;
|
cancellable = cancellable !== false;
|
||||||
|
@ -901,7 +901,7 @@ jQuery.extend({
|
||||||
|
|
||||||
// Full fledged deferred (two callbacks list)
|
// Full fledged deferred (two callbacks list)
|
||||||
// Typical success/error system
|
// Typical success/error system
|
||||||
deferred: function( func , cancellable ) {
|
Deferred: function( func , cancellable ) {
|
||||||
|
|
||||||
// Handle varargs
|
// Handle varargs
|
||||||
if ( arguments.length === 1 ) {
|
if ( arguments.length === 1 ) {
|
||||||
|
@ -912,8 +912,8 @@ jQuery.extend({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var errorDeferred = jQuery._deferred( cancellable ),
|
var errorDeferred = jQuery._Deferred( cancellable ),
|
||||||
deferred = jQuery._deferred( cancellable ),
|
deferred = jQuery._Deferred( cancellable ),
|
||||||
// Keep reference of the cancel method since we'll redefine it
|
// Keep reference of the cancel method since we'll redefine it
|
||||||
cancelThen = deferred.cancel;
|
cancelThen = deferred.cancel;
|
||||||
|
|
||||||
|
@ -953,7 +953,7 @@ jQuery.extend({
|
||||||
method = method || "then";
|
method = method || "then";
|
||||||
object = jQuery.isDeferred( object , method ) ?
|
object = jQuery.isDeferred( object , method ) ?
|
||||||
object :
|
object :
|
||||||
jQuery.deferred().resolve( object );
|
jQuery.Deferred().resolve( object );
|
||||||
object.fail = object.fail || function() { return this; };
|
object.fail = object.fail || function() { return this; };
|
||||||
object[ method ] = object[ method ] || object.then;
|
object[ method ] = object[ method ] || object.then;
|
||||||
object.then = object.then || object[ method ];
|
object.then = object.then || object[ method ];
|
||||||
|
@ -979,7 +979,7 @@ jQuery.extend({
|
||||||
|
|
||||||
// Create readyList deferred
|
// Create readyList deferred
|
||||||
// also force $.fn.ready to be recognized as a defer
|
// also force $.fn.ready to be recognized as a defer
|
||||||
readyList = jQuery._deferred( false );
|
readyList = jQuery._Deferred( false );
|
||||||
jQuery.fn.ready._ = deferredMarker;
|
jQuery.fn.ready._ = deferredMarker;
|
||||||
|
|
||||||
// Populate the class2type map
|
// Populate the class2type map
|
||||||
|
|
|
@ -23,8 +23,8 @@ jQuery.xhr = function( _native ) {
|
||||||
if ( force || internal ) {
|
if ( force || internal ) {
|
||||||
|
|
||||||
// Reset callbacks lists
|
// Reset callbacks lists
|
||||||
deferred = jQuery.deferred();
|
deferred = jQuery.Deferred();
|
||||||
completeDeferred = jQuery._deferred();
|
completeDeferred = jQuery._Deferred();
|
||||||
|
|
||||||
xhr.success = xhr.then = deferred.then;
|
xhr.success = xhr.then = deferred.then;
|
||||||
xhr.error = xhr.fail = deferred.fail;
|
xhr.error = xhr.fail = deferred.fail;
|
||||||
|
|
|
@ -903,7 +903,7 @@ test("jQuery.parseJSON", function(){
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
test("jQuery._deferred()", function() {
|
test("jQuery._Deferred()", function() {
|
||||||
|
|
||||||
expect( 14 );
|
expect( 14 );
|
||||||
|
|
||||||
|
@ -911,7 +911,7 @@ test("jQuery._deferred()", function() {
|
||||||
object,
|
object,
|
||||||
test;
|
test;
|
||||||
|
|
||||||
deferred = jQuery._deferred();
|
deferred = jQuery._Deferred();
|
||||||
|
|
||||||
test = false;
|
test = false;
|
||||||
|
|
||||||
|
@ -944,7 +944,7 @@ test("jQuery._deferred()", function() {
|
||||||
|
|
||||||
ok( test , "Test manual cancel" );
|
ok( test , "Test manual cancel" );
|
||||||
|
|
||||||
deferred = jQuery._deferred().then( function() {
|
deferred = jQuery._Deferred().then( function() {
|
||||||
return false;
|
return false;
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
@ -959,7 +959,7 @@ test("jQuery._deferred()", function() {
|
||||||
ok( test , "Test cancel by returning false" );
|
ok( test , "Test cancel by returning false" );
|
||||||
|
|
||||||
try {
|
try {
|
||||||
deferred = jQuery._deferred().resolve().then( function() {
|
deferred = jQuery._Deferred().resolve().then( function() {
|
||||||
throw "Error";
|
throw "Error";
|
||||||
} , function() {
|
} , function() {
|
||||||
ok( false , "Test deferred cancel on exception" );
|
ok( false , "Test deferred cancel on exception" );
|
||||||
|
@ -970,7 +970,7 @@ test("jQuery._deferred()", function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
test = "";
|
test = "";
|
||||||
deferred = jQuery._deferred().then( function() {
|
deferred = jQuery._Deferred().then( function() {
|
||||||
|
|
||||||
test += "A";
|
test += "A";
|
||||||
|
|
||||||
|
@ -1001,7 +1001,7 @@ test("jQuery._deferred()", function() {
|
||||||
|
|
||||||
strictEqual( test , "ABC" , "Test then callbacks order" );
|
strictEqual( test , "ABC" , "Test then callbacks order" );
|
||||||
|
|
||||||
deferred = jQuery._deferred( false ).resolve().cancel();
|
deferred = jQuery._Deferred( false ).resolve().cancel();
|
||||||
|
|
||||||
deferred.then( function() {
|
deferred.then( function() {
|
||||||
ok( true , "Test non-cancellable deferred not cancelled manually");
|
ok( true , "Test non-cancellable deferred not cancelled manually");
|
||||||
|
@ -1023,31 +1023,31 @@ test("jQuery._deferred()", function() {
|
||||||
deferred.then();
|
deferred.then();
|
||||||
}
|
}
|
||||||
|
|
||||||
deferred = jQuery._deferred();
|
deferred = jQuery._Deferred();
|
||||||
|
|
||||||
deferred.fire( jQuery , [ document ] ).then( function( doc ) {
|
deferred.fire( jQuery , [ document ] ).then( function( doc ) {
|
||||||
ok( this === jQuery && arguments.length === 1 && doc === document , "Test fire context & args" );
|
ok( this === jQuery && arguments.length === 1 && doc === document , "Test fire context & args" );
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test("jQuery.deferred()", function() {
|
test("jQuery.Deferred()", function() {
|
||||||
|
|
||||||
expect( 8 );
|
expect( 8 );
|
||||||
|
|
||||||
jQuery.deferred( function( defer ) {
|
jQuery.Deferred( function( defer ) {
|
||||||
strictEqual( this , defer , "Defer passed as this & first argument" );
|
strictEqual( this , defer , "Defer passed as this & first argument" );
|
||||||
this.resolve( "done" );
|
this.resolve( "done" );
|
||||||
}).then( function( value ) {
|
}).then( function( value ) {
|
||||||
strictEqual( value , "done" , "Passed function executed" );
|
strictEqual( value , "done" , "Passed function executed" );
|
||||||
});
|
});
|
||||||
|
|
||||||
jQuery.deferred().resolve().then( function() {
|
jQuery.Deferred().resolve().then( function() {
|
||||||
ok( true , "Success on resolve" );
|
ok( true , "Success on resolve" );
|
||||||
}).fail( function() {
|
}).fail( function() {
|
||||||
ok( false , "Error on resolve" );
|
ok( false , "Error on resolve" );
|
||||||
});
|
});
|
||||||
|
|
||||||
jQuery.deferred().reject().then( function() {
|
jQuery.Deferred().reject().then( function() {
|
||||||
ok( false , "Success on reject" );
|
ok( false , "Success on reject" );
|
||||||
}).fail( function() {
|
}).fail( function() {
|
||||||
ok( true , "Error on reject" );
|
ok( true , "Error on reject" );
|
||||||
|
@ -1055,7 +1055,7 @@ test("jQuery.deferred()", function() {
|
||||||
|
|
||||||
var flag = true;
|
var flag = true;
|
||||||
|
|
||||||
jQuery.deferred().resolve().cancel().then( function() {
|
jQuery.Deferred().resolve().cancel().then( function() {
|
||||||
ok( flag = false , "Success on resolve/cancel" );
|
ok( flag = false , "Success on resolve/cancel" );
|
||||||
}).fail( function() {
|
}).fail( function() {
|
||||||
ok( flag = false , "Error on resolve/cancel" );
|
ok( flag = false , "Error on resolve/cancel" );
|
||||||
|
@ -1065,7 +1065,7 @@ test("jQuery.deferred()", function() {
|
||||||
|
|
||||||
flag = true;
|
flag = true;
|
||||||
|
|
||||||
jQuery.deferred().reject().cancel().then( function() {
|
jQuery.Deferred().reject().cancel().then( function() {
|
||||||
ok( flag = false , "Success on reject/cancel" );
|
ok( flag = false , "Success on reject/cancel" );
|
||||||
}).fail( function() {
|
}).fail( function() {
|
||||||
ok( flag = false , "Error on reject/cancel" );
|
ok( flag = false , "Error on reject/cancel" );
|
||||||
|
@ -1073,13 +1073,13 @@ test("jQuery.deferred()", function() {
|
||||||
|
|
||||||
ok( flag , "Cancel on reject" );
|
ok( flag , "Cancel on reject" );
|
||||||
|
|
||||||
jQuery.deferred( false ).resolve().then( function() {
|
jQuery.Deferred( false ).resolve().then( function() {
|
||||||
return false;
|
return false;
|
||||||
} , function() {
|
} , function() {
|
||||||
ok( true , "Not cancelled on resolve" );
|
ok( true , "Not cancelled on resolve" );
|
||||||
});
|
});
|
||||||
|
|
||||||
jQuery.deferred( false ).reject().fail( function() {
|
jQuery.Deferred( false ).reject().fail( function() {
|
||||||
return false;
|
return false;
|
||||||
} , function() {
|
} , function() {
|
||||||
ok( true , "Not cancelled on reject" );
|
ok( true , "Not cancelled on reject" );
|
||||||
|
@ -1097,8 +1097,8 @@ test("jQuery.isDeferred()", function() {
|
||||||
object2.then._ = [];
|
object2.then._ = [];
|
||||||
|
|
||||||
// The use case that we want to match
|
// The use case that we want to match
|
||||||
ok(jQuery.isDeferred(jQuery._deferred()), "Simple deferred");
|
ok(jQuery.isDeferred(jQuery._Deferred()), "Simple deferred");
|
||||||
ok(jQuery.isDeferred(jQuery.deferred()), "Failable deferred");
|
ok(jQuery.isDeferred(jQuery.Deferred()), "Failable deferred");
|
||||||
|
|
||||||
// Some other objects
|
// Some other objects
|
||||||
ok(!jQuery.isDeferred(object1), "Object with then & no marker");
|
ok(!jQuery.isDeferred(object1), "Object with then & no marker");
|
||||||
|
@ -1111,7 +1111,7 @@ test("jQuery.isDeferred()", function() {
|
||||||
ok(!jQuery.isDeferred(null), "null");
|
ok(!jQuery.isDeferred(null), "null");
|
||||||
ok(!jQuery.isDeferred(undefined), "undefined");
|
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 method name not found automagically");
|
||||||
ok(jQuery.isDeferred(object1,"custom") , "custom method name");
|
ok(jQuery.isDeferred(object1,"custom") , "custom method name");
|
||||||
|
@ -1121,10 +1121,10 @@ test("jQuery.when()", function() {
|
||||||
|
|
||||||
expect( 5 );
|
expect( 5 );
|
||||||
|
|
||||||
var cache, i, deferred = { done: jQuery.deferred().resolve( 1 ).then };
|
var cache, i, deferred = { done: jQuery.Deferred().resolve( 1 ).then };
|
||||||
|
|
||||||
for( i = 1 ; i < 3 ; i++ ) {
|
for( i = 1 ; i < 3 ; i++ ) {
|
||||||
jQuery.when( cache || jQuery.deferred( function() {
|
jQuery.when( cache || jQuery.Deferred( function() {
|
||||||
this.resolve( i );
|
this.resolve( i );
|
||||||
}) ).then( function( value ) {
|
}) ).then( function( value ) {
|
||||||
strictEqual( value , 1 , "Function executed" + ( i > 1 ? " only once" : "" ) );
|
strictEqual( value , 1 , "Function executed" + ( i > 1 ? " only once" : "" ) );
|
||||||
|
|
Loading…
Reference in a new issue