testTracedModulesKeepTheirLines
tcmts.cli.web.testTracedModulesKeepTheirLines · #x5tcnz4c · term
import { tracedModule } from "#codebase/tcmts/cli/web";
import assert from "node:assert/strict";
export const testTracedModulesKeepTheirLines = () => {
const h = "a".repeat(52);
const source = `import { x } from "./y.ts";\nfunction f() {\n return x;\n}\nexport { f as h_${h} };\nif (typeof f === "function") Object.defineProperty(f, Symbol.for("tcm.hash"), { value: "${h}" });\n`;
const traced = tracedModule(source);
assert.deepEqual(traced.split("\n").slice(0, 6), [
...source.split("\n").slice(0, 4),
"",
source.split("\n")[5]!,
]);
assert.match(
traced,
new RegExp(
`const __tcm_traced_${h} = globalThis\\.__tcmTraceCall \\? globalThis\\.__tcmTraceCall\\("${h}", f\\) : f;\\nexport \\{ __tcm_traced_${h} as h_${h} \\};\\n$`,
),
);
assert.equal(tracedModule("export type { T as h_x };\n"), "export type { T as h_x };\n");
}
uses