layout.test.ts 953 B

1234567891011121314151617181920212223242526
  1. import { expect, test } from "bun:test"
  2. import {
  3. clampSessionTabsWidth,
  4. sessionTabsFitVertically,
  5. SESSION_SIDEBAR_MAX_WIDTH,
  6. SESSION_SIDEBAR_MIN_WIDTH,
  7. SESSION_SIDEBAR_WIDTH,
  8. } from "../../src/ui/layout"
  9. test("vertical tabs match the session sidebar and preserve compact content width", () => {
  10. expect(SESSION_SIDEBAR_WIDTH).toBe(42)
  11. expect(sessionTabsFitVertically(86)).toBe(true)
  12. expect(sessionTabsFitVertically(85)).toBe(false)
  13. })
  14. test("vertical tabs account for a resized width", () => {
  15. expect(sessionTabsFitVertically(104, 60)).toBe(true)
  16. expect(sessionTabsFitVertically(103, 60)).toBe(false)
  17. })
  18. test("vertical tab width preserves minimum rail and content widths", () => {
  19. expect(clampSessionTabsWidth(10, 120)).toBe(SESSION_SIDEBAR_MIN_WIDTH)
  20. expect(clampSessionTabsWidth(50, 120)).toBe(50)
  21. expect(clampSessionTabsWidth(100, 120)).toBe(SESSION_SIDEBAR_MAX_WIDTH)
  22. expect(clampSessionTabsWidth(100, 100)).toBe(56)
  23. })