UNPKG

@rxjs-stuff/marbles

Version:

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

30 lines (29 loc) 1.4 kB
import { ColdObservable } from 'rxjs/internal/testing/ColdObservable'; import { HotObservable } from 'rxjs/internal/testing/HotObservable'; import { ContextualTestScheduler } from './contextual-test-scheduler'; import { MarbleValues } from './marble-values'; export interface AssertDeepEqualFn { (actual: any, expected: any, context?: any): boolean | void; } export interface CreateHotObservable { <T>(marbles: string, values?: MarbleValues<T>, error?: any): HotObservable<T>; } export interface CreateColdObservable { <T>(marbles: string, values?: MarbleValues<T>, error?: any): ColdObservable<T>; } export interface MarblesHelpers { readonly cold: CreateColdObservable; readonly expectObservable: typeof ContextualTestScheduler.prototype.expectObservable; readonly expectSubscriptions: typeof ContextualTestScheduler.prototype.expectSubscriptions; readonly hot: CreateHotObservable; readonly scheduler: ContextualTestScheduler; readonly helpers: MarblesHelpers; } export interface MarblesHelpersStatic extends MarblesHelpers { init(assertDeepEqual: AssertDeepEqualFn): void; createTestScheduler(): ContextualTestScheduler; run(fn: (helpers?: MarblesHelpers) => void): void; } export declare const MarblesHelpers: MarblesHelpersStatic; export declare function marblesTesting(): void; export declare function frameConsole(helpers: MarblesHelpers): void;