summaryrefslogtreecommitdiff
path: root/packages/cli/src
diff options
context:
space:
mode:
authorJacob Richman <[email protected]>2025-08-05 14:56:38 -0700
committerGitHub <[email protected]>2025-08-05 21:56:38 +0000
commitdd85aaa951f8df0af1b6477922b3a5c061b7d1ba (patch)
tree37dfd5a891b8c137bbd254db516d5ce525ae7e30 /packages/cli/src
parentaacae1de43a202e35ea88ed3ae5829586711f06f (diff)
bug(core): Fix flaky test by using waitFor. (#5540)
Co-authored-by: Sandy Tao <[email protected]>
Diffstat (limited to 'packages/cli/src')
-rw-r--r--packages/cli/src/ui/components/InputPrompt.test.tsx27
1 files changed, 17 insertions, 10 deletions
diff --git a/packages/cli/src/ui/components/InputPrompt.test.tsx b/packages/cli/src/ui/components/InputPrompt.test.tsx
index 2291b5a1..f050ba07 100644
--- a/packages/cli/src/ui/components/InputPrompt.test.tsx
+++ b/packages/cli/src/ui/components/InputPrompt.test.tsx
@@ -5,6 +5,7 @@
*/
import { render } from 'ink-testing-library';
+import { waitFor } from '@testing-library/react';
import { InputPrompt, InputPromptProps } from './InputPrompt.js';
import type { TextBuffer } from './shared/text-buffer.js';
import { Config } from '@google/gemini-cli-core';
@@ -1226,11 +1227,12 @@ describe('InputPrompt', () => {
stdin.write('\x12');
await wait();
stdin.write('\x1B');
- await wait();
- const frame = stdout.lastFrame();
- expect(frame).not.toContain('(r:)');
- expect(frame).not.toContain('echo hello');
+ await waitFor(() => {
+ expect(stdout.lastFrame()).not.toContain('(r:)');
+ });
+
+ expect(stdout.lastFrame()).not.toContain('echo hello');
unmount();
});
@@ -1240,9 +1242,11 @@ describe('InputPrompt', () => {
stdin.write('\x12');
await wait();
stdin.write('\t');
- await wait();
- expect(stdout.lastFrame()).not.toContain('(r:)');
+ await waitFor(() => {
+ expect(stdout.lastFrame()).not.toContain('(r:)');
+ });
+
expect(props.buffer.setText).toHaveBeenCalledWith('echo hello');
unmount();
});
@@ -1253,9 +1257,11 @@ describe('InputPrompt', () => {
await wait();
expect(stdout.lastFrame()).toContain('(r:)');
stdin.write('\r');
- await wait();
- expect(stdout.lastFrame()).not.toContain('(r:)');
+ await waitFor(() => {
+ expect(stdout.lastFrame()).not.toContain('(r:)');
+ });
+
expect(props.onSubmit).toHaveBeenCalledWith('echo hello');
unmount();
});
@@ -1268,9 +1274,10 @@ describe('InputPrompt', () => {
await wait();
expect(stdout.lastFrame()).toContain('(r:)');
stdin.write('\x1B');
- await wait();
- expect(stdout.lastFrame()).not.toContain('(r:)');
+ await waitFor(() => {
+ expect(stdout.lastFrame()).not.toContain('(r:)');
+ });
expect(props.buffer.text).toBe('initial text');
expect(props.buffer.cursor).toEqual([0, 3]);