testMergeScratchTakesBothSidesImports

tcmts.cli.merge.testMergeScratchTakesBothSidesImports · #hlkld2nw · term

import { mergeScratch } from "#codebase/tcmts/cli/merge";
import assert from "node:assert/strict";

export const testMergeScratchTakesBothSidesImports = () => {
  const base = `import { a } from "#codebase/lib";\n\nexport const f = () =>\n  a() +\n  0 +\n  1;\n`;
  const ours = `import { a, b } from "#codebase/lib";\n\nexport const f = () =>\n  a() + b() +\n  0 +\n  1;\n`;
  const theirs = `import { a } from "#codebase/lib";\nimport { c } from "#codebase/other";\n\nexport const f = () =>\n  a() +\n  0 +\n  c();\n`;
  const r = mergeScratch(base, ours, theirs);
  assert.equal(r.conflicts, 0);
  assert.equal(
    r.text,
    `import { a, b } from "#codebase/lib";\nimport { c } from "#codebase/other";\n\nexport const f = () =>\n  a() + b() +\n  0 +\n  c();\n`,
  );
}

uses