@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
TypeScript
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;