X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fdata.js;h=5d390e1a20dc65363595a10d7a99407c66869d6c;hb=4ae7234736fd501110a7bf2acea6cc68e24bd4cd;hp=fa56891fe4d0c3e9260134e17bbd5023455a9ac4;hpb=4afa60835146e71c0e57b492a1cca278eaf1ef9c;p=jquery.git diff --git a/test/unit/data.js b/test/unit/data.js index fa56891..5d390e1 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -157,4 +157,121 @@ test("queue() with other types",function() { // Clean up $div.removeData(); +}); + +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"); + + div.removeData(); +}); + + 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("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"); + + div.removeData(); +}); + +test("queue() passes in the next item in the queue as a parameter to fx queues", function() { + expect(2); + + var div = jQuery({}); + var counter = 0; + + div.queue(function(next) { + equals(++counter, 1, "Dequeueing"); + next(); + }).queue(function(next) { + equals(++counter, 2, "Next was called"); + next(); + }).queue(function() { + equals(++counter, 3, "Other queues are not triggered by next()") + }); + + div.dequeue(); + + div.removeData(); +}); + +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++; + jQuery(this).clearQueue(); + next(); + }).queue(function(next) { + counter++; + }); + + div.dequeue(); + + equals(counter, 1, "the queue was cleared"); })