import { describe, expect, it } from "vitest"; import { reservedRows } from "$lib/components/repo/fileDiff"; describe("reservedRows", () => { const file = (lines: number, insertions: number, deletions: number) => ({ lines, stat: { insertions, deletions } }); it("takes gitmirror's pair count as the split row count", () => { expect(reservedRows(file(40, 10, 6), true)).toBe(40); }); it("adds the replaced lines back for unified rows", () => { expect(reservedRows(file(40, 10, 6), false)).toBe(46); }); it("counts a pure addition the same either way", () => { expect(reservedRows(file(21, 21, 0), false)).toBe(21); expect(reservedRows(file(21, 21, 0), true)).toBe(21); }); it("falls back to the stat sum when the line count is unknown", () => { expect(reservedRows({ stat: { insertions: 10, deletions: 6 } }, true)).toBe(16); expect(reservedRows({ stat: { insertions: 10, deletions: 6 } }, false)).toBe(22); }); });