test(tui): cover pending tmux appearance teardown
This commit is contained in:
@@ -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[] = [];
|
||||
|
||||
Reference in New Issue
Block a user