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.58 kB
TypeScript
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;