test(tui): cover pending tmux appearance teardown

This commit is contained in:
can1357
2026-08-07 13:17:11 +02:00
parent d8def7418c
commit 2e0e0618db
@@ -410,6 +410,26 @@ describe("ProcessTerminal OSC 11 appearance detection", () => {
expect(received).toEqual([]);
});
it("cancels a pending tmux appearance cache read during teardown", () => {
vi.useFakeTimers();
Bun.env.TMUX = "/tmp/tmux-1000/default,1234,0";
const { terminal, queryCount, sentinelCount } = setupTerminal();
process.stdin.emit("data", "\x1b]11;rgb:0000/0000/0000\x07");
for (let i = 0; i < 7; i++) process.stdin.emit("data", "\x1b[?1;2c");
const directQueriesBeforeRefresh = queryCount();
const directSentinelsBeforeRefresh = sentinelCount();
terminal.refreshAppearance?.();
expect(vi.getTimerCount()).toBe(1);
terminal.stop();
expect(vi.getTimerCount()).toBe(0);
vi.advanceTimersByTime(100);
expect(queryCount()).toBe(directQueriesBeforeRefresh);
expect(sentinelCount()).toBe(directSentinelsBeforeRefresh);
});
it("refreshAppearance() re-evaluates a changed background through the callback pipeline", () => {
const { terminal } = setupTerminal();
const appearances: string[] = [];