rafa
Version:
Rafa.js is a Javascript framework for building concurrent applications.
30 lines (25 loc) • 907 B
JavaScript
module.exports = (assert, Rafa) => {
suite("recover", () => {
test("map errors to values", () => {
var stream = Rafa.stream();
var values = [];
stream.recover(error => 2).each(v => values.push(v));
stream.push(Rafa.context(), Rafa.errorMessage(1));
assert.equal(values.length, 1);
assert.equal(values[0], 2);
});
test("values and done messages pass through", () => {
var stream = Rafa.stream();
var values = [];
stream.recover(error => 9).each(v => values.push(v)).done(v => values.push(v));
stream.push(Rafa.context(), Rafa.message(1));
assert.equal(values.length, 1);
assert.equal(values[0], 1);
stream.push(Rafa.context(), Rafa.doneMessage(2));
assert.equal(values.length, 3);
assert.equal(values[0], 1);
assert.equal(values[1], 2);
assert.equal(values[2], 2);
});
});
};