test.govlab/docs/core/coordinators/output.fixture.ts

test.govlab/docs/core/coordinators/output.fixture.ts is a file in Codebase Testing. 18 lines of code and 3 definitions.

import process from "node:process";
import { vi } from "vitest";

export interface CapturedOutput {
    err: string[];
    out: string[];
}

export const captureOutput = function captureOutput(): CapturedOutput {
    const captured: CapturedOutput = { err: [], out: [] };
    vi.spyOn(process.stdout, "write").mockImplementation((chunk: Uint8Array | string) => {
        captured.out.push(String(chunk));
        return true;
    });
    vi.spyOn(process.stderr, "write").mockImplementation((chunk: Uint8Array | string) => {
        captured.err.push(String(chunk));
        return true;
    });
    return captured;
};