1import { describe, expect, it } from "vite-plus/test";
2
3import { areAllDiffFilesCollapsed, toggleAllDiffFiles } from "./diffCollapse";
4
5const FILE_KEYS = ["src/app.ts", "src/index.ts"];
6const FIRST_FILE_KEY = FILE_KEYS[0]!;
7
8describe("diff collapse controls", () => {
9 it("reports whether every rendered file is collapsed", () => {
10 expect(areAllDiffFilesCollapsed(FILE_KEYS, new Set(FILE_KEYS))).toBe(true);
11 expect(areAllDiffFilesCollapsed(FILE_KEYS, new Set([FIRST_FILE_KEY]))).toBe(false);
12 expect(areAllDiffFilesCollapsed([], new Set())).toBe(false);
13 });
14
15 it("collapses all files when any rendered file is expanded", () => {
16 expect(toggleAllDiffFiles(FILE_KEYS, new Set([FIRST_FILE_KEY]))).toEqual(new Set(FILE_KEYS));
17 });
18
19 it("expands all files when every rendered file is collapsed", () => {
20 expect(toggleAllDiffFiles(FILE_KEYS, new Set(FILE_KEYS))).toEqual(new Set());
21 });
22});