test.coordination/core/steps/source.step.test.ts
test.coordination/core/steps/source.step.test.ts is a file in Codebase Testing. 63 lines of code and 0 definitions.
import { cleanSources, cleanStage, codeFiles, isVendored } from "coordination-surface/tools/core/steps/source.step.ts";
import { describe, it } from "vitest";
import { dirname, join } from "node:path";
import { mkdirSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
import assert from "node:assert/strict";
import { surfacePrefix } from "coordination-surface/config/surface.config.ts";
import { tmpdir } from "node:os";
import { writeVerbatim } from "@govlab/canonical-write";
type Spans = Parameters<typeof isVendored>[0];
type Options = Parameters<typeof cleanStage>[0];
const SOURCE = `${surfacePrefix()}/tools/core/runners/probe.runner.ts`;
const COMMENTED = "// explains the constant\nconst held = 1;\n";
const spansOf = function spansOf(text: string): Spans {
return [{ end: text.length, start: 0, text }];
};
const withSource = function withSource(check: (root: string) => void): void {
const root = mkdtempSync(join(tmpdir(), "coordination-clean-"));
try {
mkdirSync(dirname(join(root, SOURCE)), { recursive: true });
writeVerbatim(join(root, SOURCE), COMMENTED);
check(root);
} finally {
rmSync(root, { force: true, recursive: true });
}
};
describe("isVendored", () => {
it("holds a file whose leading comment is an attribution", () => {
assert.equal(isVendored(spansOf("MIT License")), true);
assert.equal(isVendored(spansOf("a note")), false);
assert.equal(isVendored([]), false);
});
});
describe("codeFiles and cleanSources", () => {
it("list the code files under the governed roots, and report the comments a clean would strip without writing", () => {
withSource((root) => {
assert.ok(codeFiles(root).includes(SOURCE));
const cleaned = cleanSources(root, false);
assert.deepEqual(
cleaned.files.map((file) => [file.path, file.removed]),
[[SOURCE, 1]],
);
assert.equal(readFileSync(join(root, SOURCE), "utf8"), COMMENTED);
cleanSources(root, true);
assert.ok(!readFileSync(join(root, SOURCE), "utf8").includes("explains"));
});
});
});
describe("cleanStage", () => {
it("records a bypassed stage, and otherwise counts the files it cleaned", () => {
withSource((root) => {
const options: Options = {
authoritative: false,
bypass: [],
fix: false,
repoRoot: root,
scanned: 0,
scope: "whole",
};
assert.equal(cleanStage({ ...options, bypass: ["clean"] }).stage.bypassed, true);
assert.equal(cleanStage(options).stage.healed, 1);
});
});
});