--- /dev/null
+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,
+ });
+ })
+ ;
+});