1234567891011121314151617181920212223242526272829303132333435363738 |
- var binary = require('../');
- var test = require('tap').test;
- var EventEmitter = require('events').EventEmitter;
- test('interval', function (t) {
- t.plan(1);
-
- var em = new EventEmitter;
- var i = 0;
- var iv = setInterval(function () {
- var buf = new Buffer(1000);
- buf[0] = 0xff;
- if (++i >= 1000) {
- clearInterval(iv);
- buf[0] = 0;
- }
- em.emit('data', buf);
- }, 1);
-
- var loops = 0;
- binary(em)
- .loop(function (end) {
- this
- .word8('x')
- .word8('y')
- .word32be('z')
- .word32le('w')
- .buffer('buf', 1000 - 10)
- .tap(function (vars) {
- loops ++;
- if (vars.x == 0) end();
- })
- })
- .tap(function () {
- t.same(loops, 1000);
- })
- ;
- });
|