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.
33 lines
827 B
33 lines
827 B
var binary = require('../');
|
|
var test = require('tap').test;
|
|
var EventEmitter = require('events').EventEmitter;
|
|
|
|
test('scan', function (t) {
|
|
t.plan(4);
|
|
|
|
var em = new EventEmitter;
|
|
binary(em)
|
|
.word8('a')
|
|
.scan('l1', new Buffer('\r\n'))
|
|
.scan('l2', '\r\n')
|
|
.word8('z')
|
|
.tap(function (vars) {
|
|
t.same(vars.a, 99);
|
|
t.same(vars.l1.toString(), 'foo bar');
|
|
t.same(vars.l2.toString(), 'baz');
|
|
t.same(vars.z, 42);
|
|
})
|
|
;
|
|
|
|
setTimeout(function () {
|
|
em.emit('data', new Buffer([99,0x66,0x6f,0x6f,0x20]));
|
|
}, 20);
|
|
|
|
setTimeout(function () {
|
|
em.emit('data', new Buffer('bar\r'));
|
|
}, 40);
|
|
|
|
setTimeout(function () {
|
|
em.emit('data', new Buffer('\nbaz\r\n*'));
|
|
}, 60);
|
|
});
|
|
|