UNPKG

@typed/test

Version:
49 lines (48 loc) 1.63 kB
import { equal } from './assertions/equal'; import { notEqual } from './assertions/notEqual'; import { notOk } from './assertions/notOk'; import { ok } from './assertions/ok'; import { rejects } from './assertions/rejects'; import { same } from './assertions/same'; import { throws } from './assertions/throws'; export declare type Done = <Err extends Error>(error?: Err) => void; export declare type TestFn = (assertions: Assertions, done: Done) => any; export declare type TestResult = SuccessfulTestResult | FailedTestResult; export interface SuccessfulTestResult { readonly passed: true; readonly error: void; } export interface FailedTestResult { readonly passed: false; readonly error: Error; } export interface Test { readonly name: string; readonly run: (timeout: number) => Promise<TestResult>; } export interface TestCollection { readonly name: string; readonly tests: ReadonlyArray<Test | TestCollection>; readonly run: (timeout: number) => Promise<TestResults>; } export interface TestResults { readonly passed: boolean; readonly results: Results; } export declare type Results = Record<string, TestResult | TestResults | ReadonlyArray<TestResult | TestResults>>; export interface Assertions { readonly equal: typeof equal; readonly notEqual: typeof notEqual; readonly notOk: typeof notOk; readonly ok: typeof ok; readonly rejects: typeof rejects; readonly same: typeof same; readonly throws: typeof throws; } export interface Stats { count: number; } export interface AssertionEnvironment { stats: Stats; assertions: Assertions; }