test.govlab/quality/core/parsers/tool.knip.parser.test.ts
test.govlab/quality/core/parsers/tool.knip.parser.test.ts is a file in Codebase Testing. 28 lines of code and 0 definitions.
import { describe, expect, it } from "vitest";
import { isUnusedFile, parseKnipOutput } from "@govlab/quality/core/parsers/tool.knip.parser.ts";
import { relativePath } from "@ssot/paths";
describe("parseKnipOutput", () => {
it("reports an unused file and each unused item under its category", () => {
const stdout = JSON.stringify({
issues: [{ exports: [{ line: 4, name: "gone" }], file: "a.ts", files: ["a.ts"] }],
});
const findings = parseKnipOutput(stdout, "typescript");
expect(findings.map((finding) => finding.ruleId)).toStrictEqual(["knip/files", "knip/exports"]);
expect(findings[1]?.message).toBe("Unused export: gone");
expect(parseKnipOutput("", "typescript")).toStrictEqual([]);
});
});
describe("isUnusedFile", () => {
it("is false for knip's empty per-issue files array (an empty array is truthy in JS)", () => {
expect(isUnusedFile([])).toBe(false);
});
it("is true ONLY when the files array is populated (a genuinely unused file)", () => {
expect(isUnusedFile([`${relativePath("app.member")}/dead.js`])).toBe(true);
});
it("falls back to boolean truthiness when files is not an array", () => {
expect(isUnusedFile(true)).toBe(true);
expect(isUnusedFile(false)).toBe(false);
const absent: unknown = null;
expect(isUnusedFile(absent)).toBe(false);
});
});