var binary = require('../'); var test = require('tap').test; var EventEmitter = require('events').EventEmitter; var seq = require('seq'); test('skip', function (t) { t.plan(7); var em = new EventEmitter; var state = 0; binary(em) .word16lu('a') .tap(function () { state = 1 }) .skip(7) .tap(function () { state = 2 }) .word8('b') .tap(function () { state = 3 }) .tap(function (vars) { t.same(state, 3); t.same(vars, { a : 2569, b : 8, }); }) ; seq() .seq(setTimeout, seq, 20) .seq(function () { t.same(state, 0); em.emit('data', new Buffer([ 9 ])); this(null); }) .seq(setTimeout, seq, 5) .seq(function () { t.same(state, 0); em.emit('data', new Buffer([ 10, 1, 2 ])); this(null); }) .seq(setTimeout, seq, 30) .seq(function () { t.same(state, 1); em.emit('data', new Buffer([ 3, 4, 5 ])); this(null); }) .seq(setTimeout, seq, 15) .seq(function () { t.same(state, 1); em.emit('data', new Buffer([ 6, 7 ])); this(null); }) .seq(function () { t.same(state, 2); em.emit('data', new Buffer([ 8 ])); this(null); }) ; });