From 049d48ef6068ca9862a4a09dcb7f6f112830f2d1 Mon Sep 17 00:00:00 2001 From: Jarrod Whelan <150866123+jwhelangoog@users.noreply.github.com> Date: Thu, 26 Feb 2026 16:30:43 -0800 Subject: [PATCH] test(cli): fix flaky ToolResultDisplay overflow test (#20518) --- .../ToolResultDisplayOverflow.test.tsx | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/packages/cli/src/ui/components/messages/ToolResultDisplayOverflow.test.tsx b/packages/cli/src/ui/components/messages/ToolResultDisplayOverflow.test.tsx index a196b8d989..a1d4106cea 100644 --- a/packages/cli/src/ui/components/messages/ToolResultDisplayOverflow.test.tsx +++ b/packages/cli/src/ui/components/messages/ToolResultDisplayOverflow.test.tsx @@ -8,7 +8,6 @@ import { describe, it, expect } from 'vitest'; import { ToolGroupMessage } from './ToolGroupMessage.js'; import { renderWithProviders } from '../../../test-utils/render.js'; import { StreamingState, type IndividualToolCallDisplay } from '../../types.js'; -import { OverflowProvider } from '../../contexts/OverflowContext.js'; import { waitFor } from '../../../test-utils/async.js'; import { CoreToolCallStatus } from '@google/gemini-cli-core'; @@ -32,16 +31,14 @@ describe('ToolResultDisplay Overflow', () => { }, ]; - const { lastFrame } = renderWithProviders( - - - , + const { lastFrame, waitUntilReady } = renderWithProviders( + , { uiState: { streamingState: StreamingState.Idle, @@ -51,12 +48,13 @@ describe('ToolResultDisplay Overflow', () => { }, ); - // ResizeObserver might take a tick - await waitFor(() => - expect(lastFrame()?.toLowerCase()).toContain( - 'press ctrl+o to show more lines', - ), - ); + await waitUntilReady(); + + // ResizeObserver might take a tick, though ToolGroupMessage calculates overflow synchronously + await waitFor(() => { + const frame = lastFrame(); + expect(frame.toLowerCase()).toContain('press ctrl+o to show more lines'); + }); const frame = lastFrame(); expect(frame).toBeDefined();