node/deps/npm/node_modules/dezalgo/test/basic.js

30 lines
566 B
JavaScript
Raw Normal View History

2014-09-25 05:41:07 +08:00
var test = require('tap').test
var dz = require('../dezalgo.js')
test('the dark pony', function(t) {
var n = 0
2014-11-05 07:08:12 +08:00
function foo(i, cb) {
2014-09-25 05:41:07 +08:00
cb = dz(cb)
2014-11-05 07:08:12 +08:00
if (++n % 2) cb(true, i)
else process.nextTick(cb.bind(null, false, i))
2014-09-25 05:41:07 +08:00
}
var called = 0
2014-11-05 07:08:12 +08:00
var order = [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
var o = 0
2014-09-25 05:41:07 +08:00
for (var i = 0; i < 10; i++) {
2014-11-05 07:08:12 +08:00
foo(i, function(cached, i) {
t.equal(i, order[o++])
t.equal(i % 2, cached ? 0 : 1)
2014-09-25 05:41:07 +08:00
called++
})
t.equal(called, 0)
}
setTimeout(function() {
t.equal(called, 10)
t.end()
})
})