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.
		
		
		
		
		
			
		
			
				
					59 lines
				
				1.4 KiB
			
		
		
			
		
	
	
					59 lines
				
				1.4 KiB
			| 
											2 years ago
										 | var binary = require('../'); | ||
|  | var test = require('tap').test; | ||
|  | var EventEmitter = require('events').EventEmitter; | ||
|  | var seq = require('seq'); | ||
|  | 
 | ||
|  | test('skip', function (t) { | ||
|  |     t.plan(7); | ||
|  |     var em = new EventEmitter; | ||
|  |     var state = 0; | ||
|  |      | ||
|  |     binary(em) | ||
|  |         .word16lu('a') | ||
|  |         .tap(function () { state = 1 }) | ||
|  |         .skip(7) | ||
|  |         .tap(function () { state = 2 }) | ||
|  |         .word8('b') | ||
|  |         .tap(function () { state = 3 }) | ||
|  |         .tap(function (vars) { | ||
|  |             t.same(state, 3); | ||
|  |             t.same(vars, { | ||
|  |                 a : 2569, | ||
|  |                 b : 8, | ||
|  |             }); | ||
|  |         }) | ||
|  |     ; | ||
|  |      | ||
|  |     seq() | ||
|  |         .seq(setTimeout, seq, 20) | ||
|  |         .seq(function () { | ||
|  |             t.same(state, 0); | ||
|  |             em.emit('data', new Buffer([ 9 ])); | ||
|  |             this(null); | ||
|  |         }) | ||
|  |         .seq(setTimeout, seq, 5) | ||
|  |         .seq(function () { | ||
|  |             t.same(state, 0); | ||
|  |             em.emit('data', new Buffer([ 10, 1, 2 ])); | ||
|  |             this(null); | ||
|  |         }) | ||
|  |         .seq(setTimeout, seq, 30) | ||
|  |         .seq(function () { | ||
|  |             t.same(state, 1); | ||
|  |             em.emit('data', new Buffer([ 3, 4, 5 ])); | ||
|  |             this(null); | ||
|  |         }) | ||
|  |         .seq(setTimeout, seq, 15) | ||
|  |         .seq(function () { | ||
|  |             t.same(state, 1); | ||
|  |             em.emit('data', new Buffer([ 6, 7 ])); | ||
|  |             this(null); | ||
|  |         }) | ||
|  |         .seq(function () { | ||
|  |             t.same(state, 2); | ||
|  |             em.emit('data', new Buffer([ 8 ])); | ||
|  |             this(null); | ||
|  |         }) | ||
|  |     ; | ||
|  | }); |