testAddToScratchJoinsImports
tcmts.cli.main.testAddToScratchJoinsImports · #wk25li5a · term
import { addToScratch } from "#codebase/tcmts/cli/main";
import assert from "node:assert/strict";
export const testAddToScratchJoinsImports = () => {
const file = "/tmp/scratch.ts";
const existing = `// tcm: namespace lib\nimport { a } from "#codebase/lib";\nimport type { T } from "#codebase/types";\n\nexport const x = a;\n`;
const text = `import { b, c } from "#codebase/lib";\nimport type { U } from "#codebase/lib";\nimport { v } from "#codebase/types";\nimport fs from "node:fs";\n\nexport const y = b + c;\n`;
const out = addToScratch(file, existing, text);
assert.match(out, /^import \{ a, b, c \} from "#codebase\/lib";$/m, out);
// a type and a value are imported apart, as tcm writes them
assert.match(out, /^import type \{ U \} from "#codebase\/lib";$/m, out);
assert.match(out, /^import type \{ T \} from "#codebase\/types";$/m, out);
assert.match(out, /^import \{ v \} from "#codebase\/types";$/m, out);
assert.match(out, /^import fs from "node:fs";$/m, out);
assert.match(out, /export const x = a;\n\nexport const y = b \+ c;\n$/, out);
}
uses