123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- var binary = require('../');
- var test = require('tap').test;
- test('parse', function (t) {
- t.plan(6);
- var res = binary.parse(new Buffer([ 97, 98, 99, 99, 99, 99, 1, 2, 3 ]))
- .word8('a')
- .word16be('bc')
- .skip(3)
- .buffer('def', 3)
- .tap(function (vars) {
- t.equal(vars.a, 97);
- t.equal(vars.bc, 25187);
- t.same(
- [].slice.call(vars.def),
- [].slice.call(new Buffer([ 1, 2, 3]))
- );
- })
- .vars
- ;
- t.equal(res.a, 97);
- t.equal(res.bc, 25187);
- t.same(
- [].slice.call(res.def),
- [].slice.call(new Buffer([ 1, 2, 3 ]))
- );
- });
- test('loop', function (t) {
- t.plan(2);
- var res = binary.parse(new Buffer([ 97, 98, 99, 4, 5, 2, -3, 9 ]))
- .word8('a')
- .word16be('bc')
- .loop(function (end) {
- var x = this.word8s('x').vars.x;
- if (x < 0) end();
- })
- .tap(function (vars) {
- t.same(vars, {
- a : 97,
- bc : 25187,
- x : -3,
- });
- })
- .word8('y')
- .vars
- ;
- t.same(res, {
- a : 97,
- bc : 25187,
- x : -3,
- y : 9,
- });
- });
|