UNPKG

@rxjs-stuff/marbles

Version:

A set of plugins that provide a natural feeling integration with Mocha and Chai for RxJS "marbles" testing.

50 lines 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.frameConsole = exports.marblesTesting = void 0; const marbles_helpers_1 = require("./marbles-helpers"); const marbles_helpers_internal_1 = require("./marbles-helpers-internal"); function marblesTesting() { frameConsole(marbles_helpers_internal_1.MarblesHelpersInternal); beforeEach(() => { const scheduler = marbles_helpers_1.MarblesHelpers.createTestScheduler(); const cold = scheduler.createColdObservable.bind(scheduler); const hot = scheduler.createHotObservable.bind(scheduler); const expectObservable = scheduler.expectObservable.bind(scheduler); const expectSubscriptions = scheduler.expectSubscriptions.bind(scheduler); Object.assign(marbles_helpers_internal_1.MarblesHelpersInternal, { cold, expectObservable, expectSubscriptions, hot, scheduler, helpers: marbles_helpers_internal_1.MarblesHelpersInternal, }); }); afterEach(() => { delete marbles_helpers_internal_1.MarblesHelpersInternal.cold; delete marbles_helpers_internal_1.MarblesHelpersInternal.expectObservable; delete marbles_helpers_internal_1.MarblesHelpersInternal.expectSubscriptions; delete marbles_helpers_internal_1.MarblesHelpersInternal.hot; delete marbles_helpers_internal_1.MarblesHelpersInternal.scheduler; delete marbles_helpers_internal_1.MarblesHelpersInternal.helpers; }); } exports.marblesTesting = marblesTesting; function frameConsole(helpers) { const ogConsole = (() => { const { debug, log, warn, info, error, trace } = console; return { debug, log, warn, info, error, trace }; })(); function initConsole() { Object.entries(ogConsole).forEach(([name, fn]) => { console[name] = (...args) => fn.call(console, `#${helpers.scheduler.frame}`, ...args); }); } function resetConsole() { Object.entries(ogConsole).forEach(([name, fn]) => console[name] = fn); } beforeEach(initConsole); afterEach(resetConsole); } exports.frameConsole = frameConsole; //# sourceMappingURL=marbles-testing.js.map