From b7fab49b64275b83bcec8200d7492fc5d15ffe06 Mon Sep 17 00:00:00 2001 From: Dax Date: Tue, 7 Apr 2026 19:48:23 -0400 Subject: refactor(snapshot): store unified patches in file diffs (#21244) Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> --- packages/ui/src/components/session-diff.test.ts | 37 +++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 packages/ui/src/components/session-diff.test.ts (limited to 'packages/ui/src/components/session-diff.test.ts') diff --git a/packages/ui/src/components/session-diff.test.ts b/packages/ui/src/components/session-diff.test.ts new file mode 100644 index 000000000..463a72977 --- /dev/null +++ b/packages/ui/src/components/session-diff.test.ts @@ -0,0 +1,37 @@ +import { describe, expect, test } from "bun:test" +import { normalize, text } from "./session-diff" + +describe("session diff", () => { + test("keeps unified patch content", () => { + const diff = { + file: "a.ts", + patch: + "Index: a.ts\n===================================================================\n--- a.ts\t\n+++ a.ts\t\n@@ -1,2 +1,2 @@\n one\n-two\n+three\n", + additions: 1, + deletions: 1, + status: "modified" as const, + } + const view = normalize(diff) + + expect(view.patch).toBe(diff.patch) + expect(view.fileDiff.name).toBe("a.ts") + expect(text(view, "deletions")).toBe("one\ntwo\n") + expect(text(view, "additions")).toBe("one\nthree\n") + }) + + test("converts legacy content into a patch", () => { + const diff = { + file: "a.ts", + before: "one\n", + after: "two\n", + additions: 1, + deletions: 1, + status: "modified" as const, + } + const view = normalize(diff) + + expect(view.patch).toContain("@@ -1,1 +1,1 @@") + expect(text(view, "deletions")).toBe("one\n") + expect(text(view, "additions")).toBe("two\n") + }) +}) -- cgit v1.2.3