Files
paseo/packages/app/src/components/split-container-focus.test.ts
T
Mohamed Boudra e366dae367 fix(app): preserve desktop layout in half-screen windows
Treat native window controls as physical corner obstructions instead of deriving clearance from compact layout state. Keep 751px windows in desktop mode while preserving usable content when persisted sidebars are wide.
2026-07-14 22:44:03 +02:00

38 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { resolveSplitContainerRoot } from "@/components/split-container-focus";
import type { SplitNode } from "@/stores/workspace-layout-store";
const pane = (id: string): SplitNode => ({
kind: "pane",
pane: { id, tabIds: [], focusedTabId: null },
});
const root: SplitNode = {
kind: "group",
group: {
id: "root",
direction: "horizontal",
children: [pane("left"), pane("right")],
sizes: [0.5, 0.5],
},
};
describe("split focus root", () => {
it("renders only the valid focused pane in focus mode", () => {
expect(
resolveSplitContainerRoot({ root, focusedPaneId: "right", focusModeEnabled: true }),
).toEqual({ root: pane("right"), usesFallbackStrip: false });
});
it("keeps the full tree and reserves the boundary strip when focus is missing", () => {
expect(
resolveSplitContainerRoot({ root, focusedPaneId: "missing", focusModeEnabled: true }),
).toEqual({ root, usesFallbackStrip: true });
});
it("keeps normal splits unclaimed", () => {
expect(
resolveSplitContainerRoot({ root, focusedPaneId: "right", focusModeEnabled: false }),
).toEqual({ root, usesFallbackStrip: false });
});
});