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.
		
		
		
		
		
			
		
			
				
					34 lines
				
				827 B
			
		
		
			
		
	
	
					34 lines
				
				827 B
			| 
								 
											3 years ago
										 
									 | 
							
								var binary = require('../');
							 | 
						||
| 
								 | 
							
								var test = require('tap').test;
							 | 
						||
| 
								 | 
							
								var EventEmitter = require('events').EventEmitter;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('scan', function (t) {
							 | 
						||
| 
								 | 
							
								    t.plan(4);
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    var em = new EventEmitter;
							 | 
						||
| 
								 | 
							
								    binary(em)
							 | 
						||
| 
								 | 
							
								        .word8('a')
							 | 
						||
| 
								 | 
							
								        .scan('l1', new Buffer('\r\n'))
							 | 
						||
| 
								 | 
							
								        .scan('l2', '\r\n')
							 | 
						||
| 
								 | 
							
								        .word8('z')
							 | 
						||
| 
								 | 
							
								        .tap(function (vars) {
							 | 
						||
| 
								 | 
							
								            t.same(vars.a, 99);
							 | 
						||
| 
								 | 
							
								            t.same(vars.l1.toString(), 'foo bar');
							 | 
						||
| 
								 | 
							
								            t.same(vars.l2.toString(), 'baz');
							 | 
						||
| 
								 | 
							
								            t.same(vars.z, 42);
							 | 
						||
| 
								 | 
							
								        })
							 | 
						||
| 
								 | 
							
								    ;
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    setTimeout(function () {
							 | 
						||
| 
								 | 
							
								        em.emit('data', new Buffer([99,0x66,0x6f,0x6f,0x20]));
							 | 
						||
| 
								 | 
							
								    }, 20);
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    setTimeout(function () {
							 | 
						||
| 
								 | 
							
								        em.emit('data', new Buffer('bar\r'));
							 | 
						||
| 
								 | 
							
								    }, 40);
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    setTimeout(function () {
							 | 
						||
| 
								 | 
							
								        em.emit('data', new Buffer('\nbaz\r\n*'));
							 | 
						||
| 
								 | 
							
								    }, 60);
							 | 
						||
| 
								 | 
							
								});
							 |