Skip to content

Commit 28c0435

Browse files
committed
test(core): retain invalid terminal size protection after refresh
1 parent 5c1d1a5 commit 28c0435

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

packages/core/src/tests/renderer.clock.test.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,20 @@ test("SIGWINCH reads dimensions from a TTY stdin when stdout is piped", () => {
7777
expect(renderer.height).toBe(44)
7878
})
7979

80+
test("SIGWINCH ignores invalid dimensions after refreshing", () => {
81+
const stdout = (renderer as unknown as { stdout: { columns: number; rows: number; _refreshSize?: () => void } })
82+
.stdout
83+
const before = [renderer.width, renderer.height]
84+
stdout._refreshSize = () => {
85+
stdout.columns = 0
86+
stdout.rows = 0
87+
}
88+
// @ts-expect-error - invoke the private signal handler in a regression test
89+
renderer.sigwinchHandler()
90+
clock.advance(100)
91+
expect([renderer.width, renderer.height]).toEqual(before)
92+
})
93+
8094
test("requestRender() does not stall after a backward clock jump", async () => {
8195
clock.setTime(10_000)
8296
// @ts-expect-error - inspect private renderer timing state in regression test

0 commit comments

Comments
 (0)