test.govlab/docs/core/normalizers/diagram.normalizer.test.ts

test.govlab/docs/core/normalizers/diagram.normalizer.test.ts is a file in Codebase Testing. 23 lines of code and 0 definitions.

import { describe, expect, it } from "vitest";
import { idSanitize, label, nodeId } from "@govlab/docs/core/normalizers/diagram.normalizer.ts";

describe("label", () => {
    it("drops reserved and non-ASCII characters and collapses whitespace", () => {
        expect(label("run (x) — then;  go")).toBe("run x then, go");
    });
});

describe("idSanitize", () => {
    it("keeps an identifier, fills other characters and prefixes a leading digit", () => {
        expect(idSanitize("a-b.c")).toBe("a_b_c");
        expect(idSanitize("1x")).toBe("n_1x");
        expect(idSanitize("")).toBe("n");
    });
});

describe("nodeId", () => {
    it("builds a stable id from the last name segment plus a hash of the whole name", () => {
        const id = nodeId("src/a.ts#createThing");
        expect(id.startsWith("createThing_")).toBe(true);
        expect(nodeId("src/a.ts#createThing")).toBe(id);
        expect(nodeId("src/b.ts#createThing")).not.toBe(id);
        expect(nodeId("pkg/2fast").startsWith("n2fast_")).toBe(true);
    });
});