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
						
					
					
				| 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);
 | |
|         })
 | |
|     ;
 | |
| });
 |