import { clampSplitPaneSize, splitPaneSizeFromPointer, } from "/packages/ui/split-pane.js"; test("분할 패널 폭이 설정 범위와 작업 영역 최소 폭을 지킨다", () => { const metrics = { containerSize: 1400, separatorSize: 12, minSize: 360, maxSize: 720, minMainSize: 560, }; assertEqual(clampSplitPaneSize(620, metrics), 620, "requested width"); assertEqual(clampSplitPaneSize(900, metrics), 720, "hard maximum"); assertEqual(clampSplitPaneSize(200, metrics), 360, "configured minimum"); assertEqual( clampSplitPaneSize(720, { ...metrics, containerSize: 981 }), 409, "workspace-aware maximum", ); }); test("분리선 pointer 좌표가 시작·끝 패널 폭으로 변환된다", () => { const common = { pointerX: 506, containerLeft: 100, containerRight: 1500, separatorSize: 12, }; assertEqual( splitPaneSizeFromPointer({ ...common, panelSide: "start" }), 400, "start panel width", ); assertEqual( splitPaneSizeFromPointer({ ...common, panelSide: "end" }), 988, "end panel width", ); });