-
Notifications
You must be signed in to change notification settings - Fork 452
Expand file tree
/
Copy pathscan.js
More file actions
33 lines (28 loc) · 827 Bytes
/
scan.js
File metadata and controls
33 lines (28 loc) · 827 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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);
});