3 var assert = require("assert")
4 , after = require("../")
6 test("exists", function () {
7 assert(typeof after === "function", "after is not a function")
10 test("after when called with 0 invokes", function (done) {
14 test("after 1", function (done) {
15 var next = after(1, done)
19 test("after 5", function (done) {
20 var next = after(5, done)
28 test("manipulate count", function (done) {
29 var next = after(1, done)
38 test("after terminates on error", function (done) {
39 var next = after(2, function(err) {
40 assert.equal(err.message, 'test');
43 next(new Error('test'))
44 next(new Error('test2'))
47 test('gee', function(done) {
51 assert.equal(err.message, 1);
55 var next = after(3, cb, function(err) {
56 assert.equal(err.message, 2)
65 test('eee', function(done) {
69 assert.equal(err.message, 1);
73 var next = after(3, cb, function(err) {
74 assert.equal(err.message, 2)
83 test('gge', function(done) {
85 assert.equal(err.message, 1);
89 var next = after(3, cb, function(err) {
99 test('egg', function(done) {
101 assert.equal(err.message, 1);
105 var next = after(3, cb, function(err) {
115 test('throws on too many calls', function(done) {
116 var next = after(1, done);
118 assert.throws(next, /after called too many times/);