pass-stream
Version:
pass-through stream which can filter/adapt and pause data as it passes through (streams2)
52 lines (44 loc) • 1.2 kB
JavaScript
/*global suite:false test:false */
;
var Stream = require('stream');
var chai = require('chai-stack');
var passStream = require('..'); // require('pass-stream');
var t = chai.assert;
suite('basic');
test('simple use', function (done) {
var accum = [];
var rstream = new Stream();
rstream
.pipe(passStream(null, null, { objectMode: true }))
.on('error', function (err) { done(err); })
.on('data', function (data) { accum.push(data); })
.on('end', function () {
t.deepEqual(accum, [1, 2, 3]);
done();
});
process.nextTick(function () {
rstream.emit('data', 1);
rstream.emit('data', 2);
rstream.emit('data', 3);
rstream.emit('end');
});
});
test('paused', function (done) {
var accum = [];
var rstream = new Stream();
var s = rstream
.pipe(passStream(null, null, { objectMode: true }))
.on('data', function (data) { accum.push(data); })
.on('end', function () {
t.deepEqual(accum, [1, 2, 3]);
done();
});
s.pause();
process.nextTick(function () {
rstream.emit('data', 1);
rstream.emit('data', 2);
rstream.emit('data', 3);
rstream.emit('end');
s.resume();
});
});