@motorcycle/test
Version:
Testing functions for Motorcycle.ts
28 lines • 1.03 kB
JavaScript
import { newScheduler, newTimeline } from '@most/scheduler';
import { VirtualTimer } from './VirtualTimer';
/**
* Creates a test scheduler. Using the test scheduler you are the master of time.
*
* @name createTestScheduler(timeline?: Timeline): TestScheduler
* @example
* import { createTestScheduler } from '@motorcycle/test'
* import { now, runEffects } from '@motorcycle/stream'
*
* const { tick, scheduler } createTestScheduler()
*
* const stream = now(100)
*
* runEffects(stream, scheduler).then(() => console.log('done!'))
*
* // manually tick forward in time
* // tick returns a Promise that resolves when all scheduled tasks have been run.
* tick(100)
*/
export function createTestScheduler(timeline) {
if (timeline === void 0) { timeline = newTimeline(); }
var timer = new VirtualTimer();
var tick = function (delay) { return timer.tick(delay); };
var scheduler = newScheduler(timer, timeline);
return { tick: tick, scheduler: scheduler };
}
//# sourceMappingURL=createTestScheduler.js.map