UNPKG

starlight-view-modes

Version:

Starlight plugin adding view mode capabilities to your documentation website.

37 lines (29 loc) 818 B
import { build } from "astro"; import { fileURLToPath } from "node:url"; import { vi } from "vitest"; export async function buildFixture(name: string) { const fixturePath = fileURLToPath( new URL(`fixtures/${name}/`, import.meta.url) ); let output = ""; let status: "success" | "error"; function writeOutput(chunk: string | Uint8Array) { output += String(chunk); return true; } const stdoutWriteSpy = vi .spyOn(process.stdout, "write") .mockImplementation(writeOutput); const stderrWriteSpy = vi .spyOn(process.stderr, "write") .mockImplementation(writeOutput); try { await build({ root: fixturePath }); status = "success"; } catch { status = "error"; } stderrWriteSpy.mockRestore(); stdoutWriteSpy.mockRestore(); return { output, status }; }