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