UNPKG

@pipobscure/demitasse

Version:
143 lines (142 loc) 4.39 kB
declare class Cancelable<T> extends Promise<T> { cancel(): void; } export interface asserter { (): Promise<void> | void; } export interface describer { (): void; } export declare class AssertionError extends Error { code?: string; actual?: any; expected?: any; } export interface Walker { enter(item: TestSuite): void; case(item: TestCase): void; exit(item: TestSuite): void; } export interface Reporter extends Walker { bailed: boolean; report(item: TestCase, status: 'ok' | 'not ok' | 'skipped', error?: AssertionError): void; } export declare class TAPReporter implements Reporter { constructor(); private stack; private summary; bailed: boolean; private indent; case(item: TestCase): void; report(item: TestCase, status: 'ok' | 'not ok' | 'skipped', error?: AssertionError): void; enter(item: TestSuite): void; exit(item: TestSuite): void; } declare class TestCase { constructor(label: string, runner: asserter); label: string; private readonly run; skipped: boolean; timeout: number; execute(context: Reporter): Promise<boolean>; propagateSkip(skipped: boolean): void; print(indent?: string): void; } declare class TestSuite extends TestCase { constructor(label: string); private _before; private _beforeEach; private _test; private _afterEach; private _after; private _only; before(item: TestCase): void; beforeEach(item: TestCase): void; test(item: TestCase): void; afterEach(item: TestCase): void; after(item: TestCase): void; only(item: TestCase): void; propagateSkip(skipped: boolean): void; executeList(context: Reporter, list: TestCase[]): Promise<boolean>; execute(context: Reporter): Promise<boolean>; print(indent?: string): void; [Symbol.iterator](): IterableIterator<TestCase>; } export interface ConfigOptions { autorun?: boolean; output?: (args: any[]) => void; logout?: (args: any[]) => void; reporter?: () => Reporter; timeout?: number; print?: boolean; summary?: boolean; sleep?: (ms: number) => Cancelable<void>; } export declare function configure(options?: ConfigOptions): void; export declare function describe(label: string, runner: describer): { skip: () => any; todo: () => any; only: () => any; }; export declare namespace describe { var skip: (label: string, runner: describer) => { skip: () => any; todo: () => any; only: () => any; }; var todo: (label: string, runner: describer) => { skip: () => any; todo: () => any; only: () => any; }; var only: (label: string, runner: describer) => { skip: () => any; todo: () => any; only: () => any; }; } export declare function before(runner: asserter): void; export declare function beforeEach(runner: asserter): void; export declare function it(label: string, runner: asserter): { skip: () => any; todo: () => any; only: () => any; timeout: (ms: number) => any; }; export declare namespace it { var skip: (label: string, runner: asserter) => { skip: () => any; todo: () => any; only: () => any; timeout: (ms: number) => any; }; var todo: (label: string, runner: asserter) => { skip: () => any; todo: () => any; only: () => any; timeout: (ms: number) => any; }; var only: (label: string, runner: asserter) => { skip: () => any; todo: () => any; only: () => any; timeout: (ms: number) => any; }; var timeout: (label: string, ms: number, runner: asserter) => { skip: () => any; todo: () => any; only: () => any; timeout: (ms: number) => any; }; } export declare const timeout: (label: string, ms: number, runner: asserter) => { skip: () => any; todo: () => any; only: () => any; timeout: (ms: number) => any; }; export declare function afterEach(runner: asserter): void; export declare function after(runner: asserter): void; export declare function main(): Promise<boolean>; export declare function skeleton(walker: Walker, items?: TestCase[]): void; export {};