mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-15 22:33:05 -07:00
test(cli): fix hangs in renderHook by skipping wait for empty frames
This commit is contained in:
@@ -404,6 +404,7 @@ export const render = async (
|
||||
tree: React.ReactElement,
|
||||
terminalWidth?: number,
|
||||
terminalHeight?: number,
|
||||
allowEmptyFrame = false,
|
||||
): Promise<
|
||||
Omit<RenderInstance, 'capturedOverflowState' | 'capturedOverflowActions'>
|
||||
> => {
|
||||
@@ -459,11 +460,13 @@ export const render = async (
|
||||
|
||||
instances.push(instance);
|
||||
|
||||
while (stdout.renderCount === 0 || stdout.lastFrame({ allowEmpty: true }) === '') {
|
||||
if (vi.isFakeTimers()) {
|
||||
await vi.advanceTimersByTimeAsync(10);
|
||||
} else {
|
||||
await new Promise((resolve) => setTimeout(resolve, 10));
|
||||
if (!allowEmptyFrame) {
|
||||
while (stdout.renderCount === 0 || stdout.lastFrame({ allowEmpty: true }) === '') {
|
||||
if (vi.isFakeTimers()) {
|
||||
await vi.advanceTimersByTimeAsync(10);
|
||||
} else {
|
||||
await new Promise((resolve) => setTimeout(resolve, 10));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -886,6 +889,9 @@ export async function renderHook<Result, Props>(
|
||||
<Wrapper>
|
||||
<TestComponent renderCallback={renderCallback} props={currentProps} />
|
||||
</Wrapper>,
|
||||
undefined,
|
||||
undefined,
|
||||
true,
|
||||
);
|
||||
inkRerender = renderResult.rerender;
|
||||
unmount = renderResult.unmount;
|
||||
|
||||
Reference in New Issue
Block a user