Rename, tests Fail, not Error

Parsing no longer depends on ui widget
This commit is contained in:
Willem van den Ende 2026-06-28 12:04:23 +02:00
parent ed147f6470
commit b6696a4f6c
3 changed files with 5 additions and 5 deletions

View File

@ -19,7 +19,7 @@ export default function testStatusExtension(pi: ExtensionAPI) {
ctx.ui.setWidget("test-status", [ ctx.ui.setWidget("test-status", [
`${theme.fg("success", "●")} ${theme.fg("text", testResult.summary)}`, `${theme.fg("success", "●")} ${theme.fg("text", testResult.summary)}`,
]); ]);
} else if (testResult.status === "Error" || event.isError) { } else if (testResult.status === "Fail" || event.isError) {
ctx.ui.setWidget("test-status", [ ctx.ui.setWidget("test-status", [
`${theme.fg("error", "●")} ${theme.fg("text", testResult.summary)}`, `${theme.fg("error", "●")} ${theme.fg("text", testResult.summary)}`,
]); ]);

View File

@ -35,14 +35,14 @@ describe("parseTestOutput", () => {
const result = parseTestOutput(output); const result = parseTestOutput(output);
expect(result.status).toBe("Error"); expect(result.status).toBe("Fail");
expect(result.summary).toContain("1 failed"); expect(result.summary).toContain("1 failed");
}); });
it("returns Error and a fallback summary for unrecognised output", () => { it("returns Error and a fallback summary for unrecognised output", () => {
const result = parseTestOutput("some random output"); const result = parseTestOutput("some random output");
expect(result.status).toBe("Error"); expect(result.status).toBe("Fail");
expect(result.summary).toBe("Tests failed"); expect(result.summary).toBe("Tests failed");
}); });

View File

@ -1,6 +1,6 @@
export type TestResult = export type TestResult =
| { status: "Success"; summary: string } | { status: "Success"; summary: string }
| { status: "Error"; summary: string }; | { status: "Fail"; summary: string };
export const isTestCommand = (command: string) => { export const isTestCommand = (command: string) => {
return command.includes("npm test") || command.includes("vitest"); return command.includes("npm test") || command.includes("vitest");
@ -21,5 +21,5 @@ export function parseTestOutput(output: string): TestResult {
const line = output const line = output
.split("\n") .split("\n")
.find((l) => /Tests\s+.+failed/.test(l)); .find((l) => /Tests\s+.+failed/.test(l));
return { status: "Error", summary: line?.trim() ?? "Tests failed" }; return { status: "Fail", summary: line?.trim() ?? "Tests failed" };
} }