@plugjs/expect5
Version:
Unit Testing for the PlugJS Build System ========================================
36 lines (35 loc) • 1.46 kB
TypeScript
import { Hook, Spec, Suite } from './executable';
export interface ExecutionFailure {
number: number;
error: Error;
source: Suite | Spec | Hook;
type: 'suite' | 'spec' | 'hook';
}
export interface ExecutionEvents {
'suite:start': (suite: Suite) => void;
'suite:done': (suite: Suite, time: number) => void;
'spec:start': (spec: Spec) => void;
'spec:error': (spec: Spec, failure: ExecutionFailure) => void;
'spec:skip': (spec: Spec, time: number) => void;
'spec:pass': (spec: Spec, time: number) => void;
'spec:fail': (spec: Spec, time: number, failure: ExecutionFailure) => void;
'hook:start': (hook: Hook) => void;
'hook:error': (hook: Hook, failure: ExecutionFailure) => void;
'hook:skip': (hook: Hook, time: number) => void;
'hook:pass': (hook: Hook, time: number) => void;
'hook:fail': (hook: Hook, time: number, failure: ExecutionFailure) => void;
}
export interface Execution {
on<E extends keyof ExecutionEvents>(event: E, listener: ExecutionEvents[E]): this;
off<E extends keyof ExecutionEvents>(event: E, listener: ExecutionEvents[E]): this;
once<E extends keyof ExecutionEvents>(event: E, listener: ExecutionEvents[E]): this;
result: Promise<ExecutionResult>;
}
export interface ExecutionResult {
passed: number;
failed: number;
skipped: number;
time: number;
failures: ExecutionFailure[];
}
export declare function runSuite(suite: Suite): Execution;