Fixed #1822 bug where queue() didn't always default to type 'fx'.
authorDavid Serduke <davidserduke@gmail.com>
Fri, 16 Nov 2007 18:23:59 +0000 (18:23 +0000)
committerDavid Serduke <davidserduke@gmail.com>
Fri, 16 Nov 2007 18:23:59 +0000 (18:23 +0000)
src/fx.js
test/unit/fx.js

index 4ccb089..711825f 100644 (file)
--- 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 )
index 6c5bb55..d6de83f 100644 (file)
@@ -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();