},
queue: function(type, fn){
- if ( jQuery.isFunction(type) ) {
+ if ( jQuery.isFunction(type) || ( type && type.constructor == Array )) {
fn = type;
type = "fx";
}
if ( !elem )
return;
+ type = type || "fx";
+
var q = jQuery.data( elem, type + "queue" );
if ( !q || array )
$foo.animate({height:'100px'}, 10, function() {
// queued behind the first animation so should finish third
order.push(3);
- isSet( order, [ 1, 2, 3] );
+ isSet( order, [ 1, 2, 3], "Animations finished in the correct order" );
start();
});
});
+test("queue() defaults to 'fx' type", function () {
+ expect(2);
+ stop();
+
+ var $foo = $("#foo");
+ $foo.queue("fx", [ "sample", "array" ]);
+ var arr = $foo.queue();
+ isSet(arr, [ "sample", "array" ], "queue() got an array set with type 'fx'");
+ $foo.queue([ "another", "one" ]);
+ var arr = $foo.queue("fx");
+ isSet(arr, [ "another", "one" ], "queue('fx') got an array set with no type");
+ // clean up after test
+ $foo.queue([]);
+
+ start();
+});
+
test("stop()", function() {
expect(3);
stop();