thedesk/app/node_modules/match-stream/test/until.js

30 lines
816 B
JavaScript
Raw Normal View History

2018-02-18 18:29:06 +11:00
var test = require('tap').test;
var streamBuffers = require("stream-buffers");
var MatchStream = require('../');
test("pipe until pattern", function (t) {
t.plan(2);
var ms = new MatchStream({ pattern: 'World'}, function (buf, matched, extra) {
if (!matched) {
return this.push(buf);
}
this.push(buf);
t.equal(extra.toString(), 'World');
return this.push(null); //end the stream
});
var sourceStream = new streamBuffers.ReadableStreamBuffer();
sourceStream.put("Hello World");
var writableStream = new streamBuffers.WritableStreamBuffer();
sourceStream
.pipe(ms)
.pipe(writableStream)
.once('close', function () {
var str = writableStream.getContentsAsString('utf8');
t.equal(str, 'Hello ');
sourceStream.destroy();
t.end();
});
});