| module("queue", { teardown: moduleTeardown }); |
| |
| test("queue() with other types",function() { |
| expect(9); |
| var counter = 0; |
| |
| var $div = jQuery({}); |
| |
| $div |
| .queue('foo',function(){ |
| equals( ++counter, 1, "Dequeuing" ); |
| jQuery.dequeue(this,'foo'); |
| }) |
| .queue('foo',function(){ |
| equals( ++counter, 2, "Dequeuing" ); |
| jQuery(this).dequeue('foo'); |
| }) |
| .queue('foo',function(){ |
| equals( ++counter, 3, "Dequeuing" ); |
| }) |
| .queue('foo',function(){ |
| equals( ++counter, 4, "Dequeuing" ); |
| }); |
| |
| equals( $div.queue('foo').length, 4, "Testing queue length" ); |
| |
| $div.dequeue('foo'); |
| |
| equals( counter, 3, "Testing previous call to dequeue" ); |
| equals( $div.queue('foo').length, 1, "Testing queue length" ); |
| |
| $div.dequeue('foo'); |
| |
| equals( counter, 4, "Testing previous call to dequeue" ); |
| equals( $div.queue('foo').length, 0, "Testing queue length" ); |
| }); |
| |
| test("queue(name) passes in the next item in the queue as a parameter", function() { |
| expect(2); |
| |
| var div = jQuery({}); |
| var counter = 0; |
| |
| div.queue("foo", function(next) { |
| equals(++counter, 1, "Dequeueing"); |
| next(); |
| }).queue("foo", function(next) { |
| equals(++counter, 2, "Next was called"); |
| next(); |
| }).queue("bar", function() { |
| equals(++counter, 3, "Other queues are not triggered by next()") |
| }); |
| |
| div.dequeue("foo"); |
| }); |
| |
| test("queue(name) passes in the next item in the queue as a parameter", function() { |
| expect(2); |
| |
| var div = jQuery({}); |
| var counter = 0; |
| |
| div.queue("foo", function(next) { |
| equals(++counter, 1, "Dequeueing"); |
| next(); |
| }).queue("foo", function(next) { |
| equals(++counter, 2, "Next was called"); |
| next(); |
| }).queue("bar", function() { |
| equals(++counter, 3, "Other queues are not triggered by next()") |
| }); |
| |
| div.dequeue("foo"); |
| }); |
| |
| test("queue() passes in the next item in the queue as a parameter to fx queues", function() { |
| expect(2); |
| stop(); |
| |
| var div = jQuery({}); |
| var counter = 0; |
| |
| div.queue(function(next) { |
| equals(++counter, 1, "Dequeueing"); |
| var self = this; |
| setTimeout(function() { next() }, 500); |
| }).queue(function(next) { |
| equals(++counter, 2, "Next was called"); |
| next(); |
| start(); |
| }).queue("bar", function() { |
| equals(++counter, 3, "Other queues are not triggered by next()") |
| }); |
| |
| }); |
| |
| test("delay()", function() { |
| expect(2); |
| stop(); |
| |
| var foo = jQuery({}), run = 0; |
| |
| foo.delay(100).queue(function(){ |
| run = 1; |
| ok( true, "The function was dequeued." ); |
| start(); |
| }); |
| |
| equals( run, 0, "The delay delayed the next function from running." ); |
| }); |
| |
| test("clearQueue(name) clears the queue", function() { |
| expect(1); |
| |
| var div = jQuery({}); |
| var counter = 0; |
| |
| div.queue("foo", function(next) { |
| counter++; |
| jQuery(this).clearQueue("foo"); |
| next(); |
| }).queue("foo", function(next) { |
| counter++; |
| }); |
| |
| div.dequeue("foo"); |
| |
| equals(counter, 1, "the queue was cleared"); |
| }); |
| |
| test("clearQueue() clears the fx queue", function() { |
| expect(1); |
| |
| var div = jQuery({}); |
| var counter = 0; |
| |
| div.queue(function(next) { |
| counter++; |
| var self = this; |
| setTimeout(function() { jQuery(self).clearQueue(); next(); }, 50); |
| }).queue(function(next) { |
| counter++; |
| }); |
| |
| equals(counter, 1, "the queue was cleared"); |
| |
| div.removeData(); |
| }); |