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();