rafa
Version:
Rafa.js is a Javascript framework for building concurrent applications.
29 lines (25 loc) • 734 B
JavaScript
module.exports = (assert, Rafa) => {
suite("read", () => {
test("no value or callback registered", () => {
var l = Rafa.channel();
assert.equal(l.read(Rafa.noop), 2);
assert.equal(l.callback, Rafa.noop);
});
test("value available", () => {
var l = Rafa.channel(1);
var value;
var callback = m => value = m;
l.write(1);
assert.equal(l.read(callback), 1);
assert.equal(value, 1);
assert.equal(l.buffer.length, 0);
assert.isNull(l.callback);
});
test("callback is registered", () => {
var l = Rafa.channel();
l.read(Rafa.noop);
assert.equal(l.read(Rafa.identity), 0);
assert.equal(l.callback, Rafa.noop);
});
});
};