mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			566 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			566 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var test = require('tap').test
 | |
| var dz = require('../dezalgo.js')
 | |
| 
 | |
| test('the dark pony', function(t) {
 | |
| 
 | |
|   var n = 0
 | |
|   function foo(i, cb) {
 | |
|     cb = dz(cb)
 | |
|     if (++n % 2) cb(true, i)
 | |
|     else process.nextTick(cb.bind(null, false, i))
 | |
|   }
 | |
| 
 | |
|   var called = 0
 | |
|   var order = [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
 | |
|   var o = 0
 | |
|   for (var i = 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()
 | |
|   })
 | |
| })
 |