UNPKG

rafa

Version:

Rafa.js is a Javascript framework for building concurrent applications.

40 lines (36 loc) 1.07 kB
require("../../core.js")((assert, Rafa) => { suite("Rafa", () => { test("defer", (done) => { var now = new Date(); var value; var channel = Rafa.defer(250); channel.read(date => value = date); setTimeout(() => { assert.ok(value - now < 300, 1); assert.ok(value - now > 100, 2); done(); }, 300); }); test("interval", (done) => { var now = new Date(); var values = []; var channel = Rafa.interval(250); channel.read(date => values.push(date)); setTimeout(() => { channel.read(date => values.push(date)); setTimeout(() => { channel.read(date => values.push(date)); channel.close(); assert.ok(values[0] - now < 300, 1); assert.ok(values[0] - now > 100, 2); assert.ok(values[1] - now < 600, 3); assert.ok(values[1] - now > 400, 4); setTimeout(() => { assert.equal(values.length, 2); done(); }, 300); }, 300); }, 300); }); }); });