From e701d715426c348178077b25475f2df9be5c03e0 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Fri, 14 Aug 2026 18:47:26 -0700 Subject: [PATCH] test(terminal): lock padding before fit --- .../terminal-pane/terminal-appearance.test.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/renderer/src/components/terminal-pane/terminal-appearance.test.ts b/src/renderer/src/components/terminal-pane/terminal-appearance.test.ts index 091b1bc03ee..8998b6a43af 100644 --- a/src/renderer/src/components/terminal-pane/terminal-appearance.test.ts +++ b/src/renderer/src/components/terminal-pane/terminal-appearance.test.ts @@ -150,6 +150,7 @@ describe('applyTerminalAppearance theme assignment', () => { getBoundingClientRect: () => ({ width: measurable ? 800 : 0, height: measurable ? 600 : 0 }) }, fitAddon: { + fit: vi.fn(), proposeDimensions: () => (measurable ? { cols: 80, rows: 24 } : undefined) } } as unknown as ManagedPane @@ -403,6 +404,31 @@ describe('applyTerminalAppearance theme assignment', () => { expect.objectContaining({ paddingX: 2, paddingY: 3 }) ) }) + + it('stamps padding before fitting the pane', () => { + const pane = makePane(1) + pane.fitAddon.proposeDimensions = () => ({ cols: 79, rows: 23 }) + const manager = makeManager([pane]) + + applyTerminalAppearance( + manager, + getDefaultSettings('/tmp'), + true, + new Map(), + new Map(), + 'false', + new Map(), + new Map() + ) + + const setPaneStyleOptions = vi.mocked(manager.setPaneStyleOptions) + const fit = vi.mocked(pane.fitAddon.fit) + expect(setPaneStyleOptions).toHaveBeenCalledOnce() + expect(fit).toHaveBeenCalledOnce() + expect(setPaneStyleOptions.mock.invocationCallOrder[0]!).toBeLessThan( + fit.mock.invocationCallOrder[0]! + ) + }) }) describe('publishTerminalViewAttributesAtAppStart', () => {