@compas/cli
Version:
CLI containing utilities and simple script runner
68 lines (60 loc) • 1.31 kB
JavaScript
/**
* @typedef {object} TestAssertion
* @property {string} type
* @property {boolean} passed
* @property {{
* actual: boolean
* }|{
* actual?: any,
* expected?: any,
* message?: string
* }|undefined} meta
* @property {string|undefined} [message]
*/
/**
* @typedef {(t: import("../../types/advanced-types.js").TestRunner) =>
* (void|any|Promise<any>)} TestCallback
*/
/**
* @typedef {object} TestState
* @property {TestState|undefined} [parent]
* @property {boolean|undefined} [hasFailure]
* @property {string} name
* @property {TestCallback|undefined} [callback]
* @property {Array<TestAssertion>} assertions
* @property {Array<TestState>} children
* @property {Error|undefined} [caughtException]
*/
/**
* @type {import("@compas/stdlib").Logger}
*/
// @ts-ignore
export let testLogger = undefined;
/**
* @type {boolean}
*/
export let areTestsRunning = false;
/**
* @type {TestState}
*/
export const state = {
name: "root",
assertions: [],
children: [],
};
/**
* Mutate the global areTestsRunning
*
* @param {boolean} running
*/
export function setAreTestRunning(running) {
areTestsRunning = running;
}
/**
* Set the test logger
*
* @param {import("@compas/stdlib").Logger} logger
*/
export function setTestLogger(logger) {
testLogger = logger;
}