• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1var test = require('tap').test
2var dz = require('../dezalgo.js')
3
4test('the dark pony', function(t) {
5
6  var n = 0
7  function foo(i, cb) {
8    cb = dz(cb)
9    if (++n % 2) cb(true, i)
10    else process.nextTick(cb.bind(null, false, i))
11  }
12
13  var called = 0
14  var order = [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
15  var o = 0
16  for (var i = 0; i < 10; i++) {
17    foo(i, function(cached, i) {
18      t.equal(i, order[o++])
19      t.equal(i % 2, cached ? 0 : 1)
20      called++
21    })
22    t.equal(called, 0)
23  }
24
25  setTimeout(function() {
26    t.equal(called, 10)
27    t.end()
28  })
29})
30