1 |
|
2 |
|
3 | var assert = require("assert")
|
4 | , after = require("../")
|
5 |
|
6 | test("exists", function () {
|
7 | assert(typeof after === "function", "after is not a function")
|
8 | })
|
9 |
|
10 | test("after when called with 0 invokes", function (done) {
|
11 | after(0, done)
|
12 | });
|
13 |
|
14 | test("after 1", function (done) {
|
15 | var next = after(1, done)
|
16 | next()
|
17 | })
|
18 |
|
19 | test("after 5", function (done) {
|
20 | var next = after(5, done)
|
21 | , i = 5
|
22 |
|
23 | while (i--) {
|
24 | next()
|
25 | }
|
26 | })
|
27 |
|
28 | test("manipulate count", function (done) {
|
29 | var next = after(1, done)
|
30 | , i = 5
|
31 |
|
32 | next.count = i
|
33 | while (i--) {
|
34 | next()
|
35 | }
|
36 | })
|
37 |
|
38 | test("after terminates on error", function (done) {
|
39 | var next = after(2, function(err) {
|
40 | assert.equal(err.message, 'test');
|
41 | done();
|
42 | })
|
43 | next(new Error('test'))
|
44 | next(new Error('test2'))
|
45 | })
|
46 |
|
47 | test('gee', function(done) {
|
48 | done = after(2, done)
|
49 |
|
50 | function cb(err) {
|
51 | assert.equal(err.message, 1);
|
52 | done()
|
53 | }
|
54 |
|
55 | var next = after(3, cb, function(err) {
|
56 | assert.equal(err.message, 2)
|
57 | done()
|
58 | });
|
59 |
|
60 | next()
|
61 | next(new Error(1))
|
62 | next(new Error(2))
|
63 | })
|
64 |
|
65 | test('eee', function(done) {
|
66 | done = after(3, done)
|
67 |
|
68 | function cb(err) {
|
69 | assert.equal(err.message, 1);
|
70 | done()
|
71 | }
|
72 |
|
73 | var next = after(3, cb, function(err) {
|
74 | assert.equal(err.message, 2)
|
75 | done()
|
76 | });
|
77 |
|
78 | next(new Error(1))
|
79 | next(new Error(2))
|
80 | next(new Error(2))
|
81 | })
|
82 |
|
83 | test('gge', function(done) {
|
84 | function cb(err) {
|
85 | assert.equal(err.message, 1);
|
86 | done()
|
87 | }
|
88 |
|
89 | var next = after(3, cb, function(err) {
|
90 |
|
91 | assert.ok(false);
|
92 | });
|
93 |
|
94 | next()
|
95 | next()
|
96 | next(new Error(1))
|
97 | })
|
98 |
|
99 | test('egg', function(done) {
|
100 | function cb(err) {
|
101 | assert.equal(err.message, 1);
|
102 | done()
|
103 | }
|
104 |
|
105 | var next = after(3, cb, function(err) {
|
106 |
|
107 | assert.ok(false);
|
108 | });
|
109 |
|
110 | next(new Error(1))
|
111 | next()
|
112 | next()
|
113 | })
|
114 |
|
115 | test('throws on too many calls', function(done) {
|
116 | var next = after(1, done);
|
117 | next()
|
118 | assert.throws(next, /after called too many times/);
|
119 | });
|
120 |
|