53 lines · 1.5 KB · TypeScript
RawDownload
import { beforeEach, describe, expect, it } from "vite-plus/test";import { EnvironmentId, ThreadId } from "@t3tools/contracts"; import {  cacheTerminalFontSize,  cacheTerminalGridSize,  getCachedTerminalFontSize,  getCachedTerminalGridSize,  resetTerminalUiStateCaches,} from "./terminalUiState"; describe("terminalUiState", () => {  beforeEach(() => {    resetTerminalUiStateCaches();  });   it("caches terminal font size using the shared normalization rules", () => {    expect(getCachedTerminalFontSize()).toBeNull();    expect(cacheTerminalFontSize(8.5)).toBe(8.5);    expect(getCachedTerminalFontSize()).toBe(8.5);    expect(cacheTerminalFontSize(100)).toBe(14);    expect(getCachedTerminalFontSize()).toBe(14);  });   it("stores terminal grid sizes per terminal target", () => {    const primaryTarget = {      environmentId: EnvironmentId.make("env-1"),      threadId: ThreadId.make("thread-1"),      terminalId: "default",    };    const otherTarget = {      environmentId: EnvironmentId.make("env-1"),      threadId: ThreadId.make("thread-1"),      terminalId: "term-2",    };     expect(getCachedTerminalGridSize(primaryTarget)).toBeNull();    expect(      cacheTerminalGridSize(primaryTarget, {        cols: 107.9,        rows: 33.2,      }),    ).toEqual({      cols: 107,      rows: 33,    });    expect(getCachedTerminalGridSize(primaryTarget)).toEqual({      cols: 107,      rows: 33,    });    expect(getCachedTerminalGridSize(otherTarget)).toBeNull();  });});