Assert streams with ease.
var intoStream = require('into-stream'); var assert = require('stream-assert'); var is = require('funsert'); intoStream([1, 2, 3]) .pipe(assert.first(is.equal(1))) .pipe(assert.second(is.equal(2))) .pipe(assert.nth(2, is.equal(3))) .pipe(assert.length(1)) .pipe(assert.end(console.log));
Assertions are chained through passing
assertion from pipe to pipe. If you want inject assertions in the middle of pipeline, you can attach
on('assertion') handler to manualy catch assertions (instead of placing
Builder for asserting stream.
assertion function on
nth element in stream.
alias to nth(0, obj)
alias to nth(1, obj)
assertion function on the last element in stream.
Asserting, that length of stream is equal
len at the end of the stream.
Checking that all elements in stream pass assertion function.
Checking that at least one of elements in stream pass assertion function.
Since streams has internal buffer and highWatermark, that stops data flow, when reached — test stream needs a dumping point, that will flush that buffer.
assert.end will dump all data to
/dev/null — so all pipes after this point will not get any data.
Contains defaults, that will be passed to
highWatermark— by default, will be equal
16. If you don’t want to use
assert.end, then you can increase it.
MIT © 2014 Vsevolod Strukchinsky