From 27f49c2a00efea90d5f02b4d2f79fc2d097912cb Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sat, 29 Aug 2026 20:49:25 -0700 Subject: [PATCH] test(terminal): share IME session event fixture --- ...inal-ime-composer-placeholder-mask.test.ts | 58 +++++++------------ 1 file changed, 20 insertions(+), 38 deletions(-) diff --git a/src/renderer/src/components/terminal-pane/terminal-ime-composer-placeholder-mask.test.ts b/src/renderer/src/components/terminal-pane/terminal-ime-composer-placeholder-mask.test.ts index 21379833bc9..88d885b0573 100644 --- a/src/renderer/src/components/terminal-pane/terminal-ime-composer-placeholder-mask.test.ts +++ b/src/renderer/src/components/terminal-pane/terminal-ime-composer-placeholder-mask.test.ts @@ -89,6 +89,15 @@ function codexPlaceholderFrame(): string { ].join('') } +function dispatchSession(rig: Rig, type: string, id: number): void { + rig.element.dispatchEvent( + new CustomEvent(type, { + bubbles: true, + detail: { id } + }) + ) +} + describe('terminal IME composer placeholder mask', () => { beforeEach(() => { vi.spyOn(HTMLCanvasElement.prototype, 'getContext').mockReturnValue({ @@ -203,21 +212,12 @@ describe('terminal IME composer placeholder mask', () => { const rig = openTerminal() await rig.write(codexPlaceholderFrame()) - const dispatchSession = (type: string, id: number): void => { - rig.element.dispatchEvent( - new CustomEvent(type, { - bubbles: true, - detail: { id } - }) - ) - } - - dispatchSession(XTERM_COMPOSITION_SESSION_START_EVENT, 1) - dispatchSession(XTERM_COMPOSITION_SESSION_START_EVENT, 2) - dispatchSession(XTERM_COMPOSITION_SESSION_END_EVENT, 1) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_START_EVENT, 1) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_START_EVENT, 2) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_END_EVENT, 1) expect(rig.element.classList.contains(TERMINAL_IME_COMPOSER_PLACEHOLDER_CLASS)).toBe(true) - dispatchSession(XTERM_COMPOSITION_SESSION_END_EVENT, 2) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_END_EVENT, 2) expect(rig.element.classList.contains(TERMINAL_IME_COMPOSER_PLACEHOLDER_CLASS)).toBe(false) }) @@ -225,21 +225,12 @@ describe('terminal IME composer placeholder mask', () => { const rig = openTerminal() await rig.write(codexPlaceholderFrame()) - const dispatchSession = (type: string, id: number): void => { - rig.element.dispatchEvent( - new CustomEvent(type, { - bubbles: true, - detail: { id } - }) - ) - } - - dispatchSession(XTERM_COMPOSITION_SESSION_START_EVENT, 11) - dispatchSession(XTERM_COMPOSITION_SESSION_START_EVENT, 12) - dispatchSession(XTERM_COMPOSITION_SESSION_END_EVENT, 12) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_START_EVENT, 11) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_START_EVENT, 12) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_END_EVENT, 12) expect(rig.element.classList.contains(TERMINAL_IME_COMPOSER_PLACEHOLDER_CLASS)).toBe(false) - dispatchSession(XTERM_COMPOSITION_SESSION_END_EVENT, 11) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_END_EVENT, 11) expect(rig.element.classList.contains(TERMINAL_IME_COMPOSER_PLACEHOLDER_CLASS)).toBe(false) }) @@ -247,25 +238,16 @@ describe('terminal IME composer placeholder mask', () => { const rig = openTerminal() await rig.write(codexPlaceholderFrame()) - const dispatchSession = (type: string, id: number): void => { - rig.element.dispatchEvent( - new CustomEvent(type, { - bubbles: true, - detail: { id } - }) - ) - } - const newestId = 2048 for (let id = 1; id <= newestId; id += 1) { - dispatchSession(XTERM_COMPOSITION_SESSION_START_EVENT, id) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_START_EVENT, id) } for (let id = 1; id < newestId; id += 1) { - dispatchSession(XTERM_COMPOSITION_SESSION_END_EVENT, id) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_END_EVENT, id) } expect(rig.element.classList.contains(TERMINAL_IME_COMPOSER_PLACEHOLDER_CLASS)).toBe(true) - dispatchSession(XTERM_COMPOSITION_SESSION_END_EVENT, newestId) + dispatchSession(rig, XTERM_COMPOSITION_SESSION_END_EVENT, newestId) expect(rig.element.classList.contains(TERMINAL_IME_COMPOSER_PLACEHOLDER_CLASS)).toBe(false) }) })