testCodebaseRecordsAreRead
tcmts.records.test.testCodebaseRecordsAreRead · #xezcl32p · term
import { codebaseRecord, parseCodebaseRecord } from "#codebase/tcmts/records";
export const testCodebaseRecordsAreRead = () => {
const good = codebaseRecord(
{ name: "notes", url: "https://code.alice.dev", description: "Notes." },
"2026-11-04T00:00:00.000Z",
);
const r = parseCodebaseRecord("notes", good);
if (JSON.stringify(r) !== JSON.stringify(good)) throw new Error(JSON.stringify(r));
if (parseCodebaseRecord("notes", { ...good, description: undefined })?.description !== "")
throw new Error("no description is an empty one");
if (parseCodebaseRecord("other", good)) throw new Error("at another key");
for (const name of ["", ".hidden", "a/b", "a b", "x".repeat(65)])
if (parseCodebaseRecord(name, { ...good, name })) throw new Error(`named ${name}`);
for (const url of ["file:///etc", "javascript:alert(1)", "https://", 3])
if (parseCodebaseRecord("notes", { ...good, url })) throw new Error(`at ${url}`);
if (parseCodebaseRecord("notes", { ...good, $type: "codes.tcm.release" }))
throw new Error("another kind of record");
if (parseCodebaseRecord("notes", null)) throw new Error("null");
}
uses