summaryrefslogtreecommitdiff
path: root/test/test-async.js
diff options
context:
space:
mode:
authorCraig Andrews <craig.andrews@bskyb.com>2014-03-28 15:43:14 +0000
committerCaolan McMahon <caolan@caolanmcmahon.com>2014-03-28 17:23:48 +0000
commiteeca6ef225fe956021c3de82e54876a5620c9fa7 (patch)
treedbd79c5ecff04f7821a2eb1133a7b6abad5798b4 /test/test-async.js
parente87eacd90327869880d8cc6f26ba300554d68720 (diff)
downloadasync-eeca6ef225fe956021c3de82e54876a5620c9fa7.tar.gz
Add tests for queue idle() function
Diffstat (limited to 'test/test-async.js')
-rwxr-xr-xtest/test-async.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test-async.js b/test/test-async.js
index b21b04f..f7eca6d 100755
--- a/test/test-async.js
+++ b/test/test-async.js
@@ -2250,6 +2250,31 @@ exports['queue bulk task'] = function (test) {
}, 800);
};
+exports['queue idle'] = function(test) {
+ var q = async.queue(function (task, callback) {
+ // Queue is busy when workers are running
+ test.equal(q.idle(), false)
+ callback();
+ }, 1);
+
+ // Queue is idle before anything added
+ test.equal(q.idle(), true)
+
+ q.unshift(4);
+ q.unshift(3);
+ q.unshift(2);
+ q.unshift(1);
+
+ // Queue is busy when tasks added
+ test.equal(q.idle(), false)
+
+ q.drain = function() {
+ // Queue is idle after drain
+ test.equal(q.idle(), true);
+ test.done();
+ }
+}
+
exports['cargo'] = function (test) {
var call_order = [],
delays = [160, 160, 80];