testDiffOfDefinitions
tcm diff compares definitions: two by #hash, or a conflicted name's, the base's against each side's.
import { withConflicts } from "#codebase/tcmts/cli/test/e2e/merge"; import assert from "node:assert/strict"; export const testDiffOfDefinitions = () => { const { tcm, sides } = withConflicts("merge diff"); const k = sides("lib.k"); const conflict = tcm("diff", "lib.k"); assert.match( conflict, /lib\.k: base \S+ → ours \(s\)[\s\S]*- +const a = 1;[\s\S]*\+ +const a = 10;/, ); assert.match(conflict, /→ theirs \(main\)[\s\S]*\+ +const a = 100;[\s\S]*\+ +const c = 30;/); const two = tcm("diff", k.ours, k.theirs); assert.match(two, /- +const a = 10;[\s\S]*\+ +const a = 100;/); }