rafa
Version:
Rafa.js is a Javascript framework for building concurrent applications.
28 lines (21 loc) • 685 B
JavaScript
module.exports = (assert, Rafa) => {
suite("scan", () => {
test("emit values from scanner", () => {
var values = [];
var stream = Rafa.stream();
stream.scan(1, (a,b) => a + b).each(v => values.push(v));
stream.write(1).write(2);
assert.equal(values.length, 2);
assert.equal(values[0], 2);
assert.equal(values[1], 4);
});
test("errors pass through", () => {
var values = [];
var stream = Rafa.stream();
stream.scan(1, (a,b) => a + b).error(v => values.push(v));
stream.write(new Error("oops"));
assert.isNotNull(values[0]);
assert.equal(values[0].message, "oops");
});
});
};