Files
diegosouzapw--omniroute/tests/unit/compression/rtk-render-gitdiff.test.ts
T
2026-07-13 13:39:12 +08:00

37 lines
1.1 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { renderGitDiff } from "../../../open-sse/services/compression/engines/rtk/renderers/gitDiff.ts";
const det = {
type: "git-diff",
command: "git diff",
confidence: 1,
category: "git",
matchedPatterns: [],
};
test("keeps file headers, hunks and +/- changes; drops context", () => {
const input = `diff --git a/x.ts b/x.ts
index 111..222 100644
--- a/x.ts
+++ b/x.ts
@@ -1,3 +1,3 @@
-const a = 1;
+const a = 2;
const b = 3;`;
const r = renderGitDiff(input, det);
assert.equal(r.changed, true);
assert.ok(r.text.includes("diff --git a/x.ts b/x.ts"));
assert.ok(r.text.includes("@@ -1,3 +1,3 @@"));
assert.ok(r.text.includes("-const a = 1;"));
assert.ok(r.text.includes("+const a = 2;"));
assert.ok(!r.text.includes("index 111..222"));
assert.ok(!r.text.includes("--- a/x.ts"));
assert.ok(!r.text.includes(" const b = 3;")); // contexto dropado
});
test("no hunks ⇒ no-op", () => {
const r = renderGitDiff("just some text\nno diff here", det);
assert.equal(r.changed, false);
});