aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/fx.js4
-rw-r--r--test/unit/fx.js19
2 files changed, 21 insertions, 2 deletions
diff --git a/src/fx.js b/src/fx.js
index 4ccb08911..711825f99 100644
--- a/src/fx.js
+++ b/src/fx.js
@@ -126,7 +126,7 @@ jQuery.fn.extend({
},
queue: function(type, fn){
- if ( jQuery.isFunction(type) ) {
+ if ( jQuery.isFunction(type) || ( type && type.constructor == Array )) {
fn = type;
type = "fx";
}
@@ -162,6 +162,8 @@ var queue = function( elem, type, array ) {
if ( !elem )
return;
+ type = type || "fx";
+
var q = jQuery.data( elem, type + "queue" );
if ( !q || array )
diff --git a/test/unit/fx.js b/test/unit/fx.js
index 6c5bb55cb..d6de83f92 100644
--- a/test/unit/fx.js
+++ b/test/unit/fx.js
@@ -29,11 +29,28 @@ test("animate option (queue === false)", function () {
$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();