aboutsummaryrefslogtreecommitdiffhomepage
path: root/node_modules/after/test/after-test.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/after/test/after-test.js')
-rw-r--r--node_modules/after/test/after-test.js120
1 files changed, 120 insertions, 0 deletions
diff --git a/node_modules/after/test/after-test.js b/node_modules/after/test/after-test.js
new file mode 100644
index 0000000..0d63f4c
--- /dev/null
+++ b/node_modules/after/test/after-test.js
@@ -0,0 +1,120 @@
+/*global suite, test*/
+
+var assert = require("assert")
+ , after = require("../")
+
+test("exists", function () {
+ assert(typeof after === "function", "after is not a function")
+})
+
+test("after when called with 0 invokes", function (done) {
+ after(0, done)
+});
+
+test("after 1", function (done) {
+ var next = after(1, done)
+ next()
+})
+
+test("after 5", function (done) {
+ var next = after(5, done)
+ , i = 5
+
+ while (i--) {
+ next()
+ }
+})
+
+test("manipulate count", function (done) {
+ var next = after(1, done)
+ , i = 5
+
+ next.count = i
+ while (i--) {
+ next()
+ }
+})
+
+test("after terminates on error", function (done) {
+ var next = after(2, function(err) {
+ assert.equal(err.message, 'test');
+ done();
+ })
+ next(new Error('test'))
+ next(new Error('test2'))
+})
+
+test('gee', function(done) {
+ done = after(2, done)
+
+ function cb(err) {
+ assert.equal(err.message, 1);
+ done()
+ }
+
+ var next = after(3, cb, function(err) {
+ assert.equal(err.message, 2)
+ done()
+ });
+
+ next()
+ next(new Error(1))
+ next(new Error(2))
+})
+
+test('eee', function(done) {
+ done = after(3, done)
+
+ function cb(err) {
+ assert.equal(err.message, 1);
+ done()
+ }
+
+ var next = after(3, cb, function(err) {
+ assert.equal(err.message, 2)
+ done()
+ });
+
+ next(new Error(1))
+ next(new Error(2))
+ next(new Error(2))
+})
+
+test('gge', function(done) {
+ function cb(err) {
+ assert.equal(err.message, 1);
+ done()
+ }
+
+ var next = after(3, cb, function(err) {
+ // should not happen
+ assert.ok(false);
+ });
+
+ next()
+ next()
+ next(new Error(1))
+})
+
+test('egg', function(done) {
+ function cb(err) {
+ assert.equal(err.message, 1);
+ done()
+ }
+
+ var next = after(3, cb, function(err) {
+ // should not happen
+ assert.ok(false);
+ });
+
+ next(new Error(1))
+ next()
+ next()
+})
+
+test('throws on too many calls', function(done) {
+ var next = after(1, done);
+ next()
+ assert.throws(next, /after called too many times/);
+});
+