vartest=require('tap').testvardz=require('../dezalgo.js')test('the dark pony',function(t){varn=0functionfoo(i,cb){cb=dz(cb)if(++n%2)cb(true,i)elseprocess.nextTick(cb.bind(null,false,i))}varcalled=0varorder=[0,2,4,6,8,1,3,5,7,9]varo=0for(vari=0;i<10;i++){foo(i,function(cached,i){t.equal(i,order[o++])t.equal(i%2,cached?0:1)called++})t.equal(called,0)}setTimeout(function(){t.equal(called,10)t.end()})})