Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80542 views
1
var test = require('tape');
2
var through = require('through2');
3
var EventEmitter = require('events').EventEmitter;
4
var wrap = require('../');
5
6
test('falsey object mode', function (t) {
7
var oldStream = new EventEmitter;
8
var wrapped = wrap.obj(oldStream);
9
10
var input = [ 5, 'a', false, 0, '', 'xyz', { x: 4 }, 7, [], 555 ];
11
var expected = input.slice();
12
t.plan(expected.length + 1);
13
14
wrapped.pipe(through.obj(write, end));
15
16
var iv = setInterval(function () {
17
if (input.length === 0) {
18
oldStream.emit('end');
19
clearInterval(iv);
20
}
21
else oldStream.emit('data', input.shift());
22
}, 5);
23
24
function write (row, enc, next) {
25
t.deepEqual(row, expected.shift());
26
next();
27
}
28
29
function end () { t.ok('ended') }
30
});
31
32
test('falsey object mode option', function (t) {
33
var oldStream = new EventEmitter;
34
var wrapped = wrap(oldStream, { objectMode: true });
35
36
var input = [ 5, 'a', false, 0, '', 'xyz', { x: 4 }, 7, [], 555 ];
37
var expected = input.slice();
38
t.plan(expected.length + 1);
39
40
wrapped.pipe(through.obj(write, end));
41
42
var iv = setInterval(function () {
43
if (input.length === 0) {
44
oldStream.emit('end');
45
clearInterval(iv);
46
}
47
else oldStream.emit('data', input.shift());
48
}, 5);
49
50
function write (row, enc, next) {
51
t.deepEqual(row, expected.shift());
52
next();
53
}
54
55
function end () { t.ok('ended') }
56
});
57
58