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.
43 lines
1.1 KiB
43 lines
1.1 KiB
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, |
|
}); |
|
}) |
|
; |
|
});
|
|
|