arnaucube
arnaucube/raspberryGPIOhtmlserverPublic Self-hosted repository
raspberryGPIOhtmlserver/node_modules/after/test/after-test.js
node_modules/after/test/after-test.jsRaw
  1/*global suite, test*/
  2
  3var assert = require("assert")
  4    , after = require("../")
  5
  6test("exists", function () {
  7    assert(typeof after === "function", "after is not a function")
  8})
  9
 10test("after when called with 0 invokes", function (done) {
 11    after(0, done)
 12});
 13
 14test("after 1", function (done) {
 15    var next = after(1, done)
 16    next()
 17})
 18
 19test("after 5", function (done) {
 20    var next = after(5, done)
 21    , i = 5
 22
 23    while (i--) {
 24        next()
 25    }
 26})
 27
 28test("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
 38test("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
 47test('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
 65test('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
 83test('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        // should not happen
 91        assert.ok(false);
 92    });
 93
 94    next()
 95    next()
 96    next(new Error(1))
 97})
 98
 99test('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        // should not happen
107        assert.ok(false);
108    });
109
110    next(new Error(1))
111    next()
112    next()
113})
114
115test('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