UNPKG

pa11y-ci-reporter-runner

Version:

Pa11y CI Reporter Runner is designed to facilitate testing of Pa11y CI reporters. Given a Pa11y CI JSON results file and optional configuration it simulates the Pa11y CI calls to the reporter.

100 lines (90 loc) 2.44 kB
type RunnerStates = 'afterAll' | 'beforeAll' | 'beginUrl' | 'urlResults'; export type RunnerState = { state: RunnerStates; url: string; }; export type Runner = { /** * Get the current state (state, url). * * @instance * @returns The current runner state. * @public */ getCurrentState(): RunnerState; /** * Get the next state (state, url). * * @instance * @returns The next runner state. * @public */ getNextState(): RunnerState; /** * Resets the runner and reporter to the initial states. * * @instance * @async * @public */ reset(): void; /** * Executes the entire Pa11y CI sequence, calling all reporter functions. * * @instance * @async * @public */ runAll(): void; /** * Executes the next event in the Pa11y CI sequence, calling the * appropriate reporter function. * * @instance * @async * @public */ runNext(): void; /** * Executes the entire Pa11y CI sequence, calling all reporter functions, * until the specified current state and optional URL are reached. If a URL is not * specified, the run completes on the first occurrence of the target state. * * @instance * @param targetState The target state to run to. * @param targetUrl The target URL to run to. * @async * @public */ runUntil(state: RunnerStates, url?: string): void; /** * Executes the entire Pa11y CI sequence, calling all reporter functions, * until the specified next state and optional URL are reached. If a URL is not * specified, the run completes on the first occurrence of the target state. * * @instance * @param targetState The target state to run to. * @param targetUrl The target URL to run to. * @async * @public */ runUntilNext(state: RunnerStates, url?: string): void; }; /** * Factory to create a pa11y-ci reporter runner that can execute * a reporter with the specified pa11y-ci JSON results file. * * @param resultsFileName Pa11y CI JSON results file. * @param reporterName Name of the reporter to execute (module or path). * @param options The reporter options. * @param config The Pa11y CI configuration. * @returns A Pa11y CI reporter runner. * @static * @public */ export function createRunner( resultsFileName: string, reporterName: string, options?: object, config?: object ): Runner;