Files
anomalyco_opencode/packages/tui/test/ui/layout.test.ts
T
2026-08-14 13:16:49 -04:00

27 lines
953 B
TypeScript

import { expect, test } from "bun:test"
import {
clampSessionTabsWidth,
sessionTabsFitVertically,
SESSION_SIDEBAR_MAX_WIDTH,
SESSION_SIDEBAR_MIN_WIDTH,
SESSION_SIDEBAR_WIDTH,
} from "../../src/ui/layout"
test("vertical tabs match the session sidebar and preserve compact content width", () => {
expect(SESSION_SIDEBAR_WIDTH).toBe(42)
expect(sessionTabsFitVertically(86)).toBe(true)
expect(sessionTabsFitVertically(85)).toBe(false)
})
test("vertical tabs account for a resized width", () => {
expect(sessionTabsFitVertically(104, 60)).toBe(true)
expect(sessionTabsFitVertically(103, 60)).toBe(false)
})
test("vertical tab width preserves minimum rail and content widths", () => {
expect(clampSessionTabsWidth(10, 120)).toBe(SESSION_SIDEBAR_MIN_WIDTH)
expect(clampSessionTabsWidth(50, 120)).toBe(50)
expect(clampSessionTabsWidth(100, 120)).toBe(SESSION_SIDEBAR_MAX_WIDTH)
expect(clampSessionTabsWidth(100, 100)).toBe(56)
})