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.
		
		
		
		
		
			
		
			
				
					44 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					44 lines
				
				1.1 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								var binary = require('../');
							 | 
						||
| 
								 | 
							
								var test = require('tap').test;
							 | 
						||
| 
								 | 
							
								var EventEmitter = require('events').EventEmitter;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('into stream', function (t) {
							 | 
						||
| 
								 | 
							
								    t.plan(3);
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    var digits = [ 1, 2, 3, 4, 5, 6 ];
							 | 
						||
| 
								 | 
							
								    var stream = new EventEmitter;
							 | 
						||
| 
								 | 
							
								    var iv = setInterval(function () {
							 | 
						||
| 
								 | 
							
								        var d = digits.shift();
							 | 
						||
| 
								 | 
							
								        if (d) stream.emit('data', new Buffer([ d ]))
							 | 
						||
| 
								 | 
							
								        else clearInterval(iv)
							 | 
						||
| 
								 | 
							
								    }, 20);
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    binary.stream(stream)
							 | 
						||
| 
								 | 
							
								        .into('moo', function () {
							 | 
						||
| 
								 | 
							
								            this
							 | 
						||
| 
								 | 
							
								                .word8('x')
							 | 
						||
| 
								 | 
							
								                .word8('y')
							 | 
						||
| 
								 | 
							
								                .word8('z')
							 | 
						||
| 
								 | 
							
								            ;
							 | 
						||
| 
								 | 
							
								        })
							 | 
						||
| 
								 | 
							
								        .tap(function (vars) {
							 | 
						||
| 
								 | 
							
								            t.same(vars, { moo : { x : 1, y : 2, z : 3 } });
							 | 
						||
| 
								 | 
							
								        })
							 | 
						||
| 
								 | 
							
								        .word8('w')
							 | 
						||
| 
								 | 
							
								        .tap(function (vars) {
							 | 
						||
| 
								 | 
							
								            t.same(vars, {
							 | 
						||
| 
								 | 
							
								                moo : { x : 1, y : 2, z : 3 },
							 | 
						||
| 
								 | 
							
								                w : 4,
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								        })
							 | 
						||
| 
								 | 
							
								        .word8('x')
							 | 
						||
| 
								 | 
							
								        .tap(function (vars) {
							 | 
						||
| 
								 | 
							
								            t.same(vars, {
							 | 
						||
| 
								 | 
							
								                moo : { x : 1, y : 2, z : 3 },
							 | 
						||
| 
								 | 
							
								                w : 4,
							 | 
						||
| 
								 | 
							
								                x : 5,
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								        })
							 | 
						||
| 
								 | 
							
								    ;
							 | 
						||
| 
								 | 
							
								});
							 |