|
|
/*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/); });
|