You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					39 lines
				
				877 B
			
		
		
			
		
	
	
					39 lines
				
				877 B
			| 
											2 years ago
										 | var binary = require('../'); | ||
|  | var test = require('tap').test; | ||
|  | var EventEmitter = require('events').EventEmitter; | ||
|  | 
 | ||
|  | test('interval', function (t) { | ||
|  |     t.plan(1); | ||
|  |      | ||
|  |     var em = new EventEmitter; | ||
|  |     var i = 0; | ||
|  |     var iv = setInterval(function () { | ||
|  |         var buf = new Buffer(1000); | ||
|  |         buf[0] = 0xff; | ||
|  |         if (++i >= 1000) { | ||
|  |             clearInterval(iv); | ||
|  |             buf[0] = 0; | ||
|  |         } | ||
|  |         em.emit('data', buf); | ||
|  |     }, 1); | ||
|  |      | ||
|  |     var loops = 0; | ||
|  |     binary(em) | ||
|  |         .loop(function (end) { | ||
|  |             this | ||
|  |             .word8('x') | ||
|  |             .word8('y') | ||
|  |             .word32be('z') | ||
|  |             .word32le('w') | ||
|  |             .buffer('buf', 1000 - 10) | ||
|  |             .tap(function (vars) { | ||
|  |                 loops ++; | ||
|  |                 if (vars.x == 0) end(); | ||
|  |             }) | ||
|  |         }) | ||
|  |         .tap(function () { | ||
|  |             t.same(loops, 1000); | ||
|  |         }) | ||
|  |     ; | ||
|  | }); |