From 92164c9b70bbc9d613fa922ee396f4635268449b Mon Sep 17 00:00:00 2001 From: "A.K.M. Adib" Date: Thu, 23 Apr 2026 08:50:57 -0400 Subject: [PATCH] restore --- packages/cli/src/ui/App.test.tsx | 55 ++++--------------- .../src/ui/ToolConfirmationFullFrame.test.tsx | 2 +- .../components/ToolConfirmationQueue.test.tsx | 5 +- .../messages/RedirectionConfirmation.test.tsx | 31 +++++------ .../messages/ToolConfirmationMessage.test.tsx | 2 +- .../ToolConfirmationMessage.test.tsx.snap | 2 +- 6 files changed, 29 insertions(+), 68 deletions(-) diff --git a/packages/cli/src/ui/App.test.tsx b/packages/cli/src/ui/App.test.tsx index edebd7daaf..3505e63452 100644 --- a/packages/cli/src/ui/App.test.tsx +++ b/packages/cli/src/ui/App.test.tsx @@ -94,10 +94,7 @@ describe('App', () => { it('should render main content and composer when not quitting', async () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState: mockUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: false }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: false } }), }); expect(lastFrame()).toContain('Tips for getting started'); @@ -114,10 +111,7 @@ describe('App', () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState: quittingUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: false }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: false } }), }); expect(lastFrame()).toContain('Quitting...'); @@ -134,10 +128,7 @@ describe('App', () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState: quittingUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toContain('HistoryItemDisplay'); @@ -153,10 +144,7 @@ describe('App', () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState: dialogUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toContain('Tips for getting started'); @@ -179,10 +167,7 @@ describe('App', () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toContain(`Press Ctrl+${key} again to exit.`); @@ -195,10 +180,7 @@ describe('App', () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState: mockUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toContain('Notifications'); @@ -213,10 +195,7 @@ describe('App', () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState: mockUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toContain('Tips for getting started'); @@ -268,10 +247,7 @@ describe('App', () => { const { lastFrame, unmount } = await renderWithProviders(, { uiState: stateWithConfirmingTool, config: configWithExperiment, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toContain('Tips for getting started'); @@ -287,10 +263,7 @@ describe('App', () => { (useIsScreenReaderEnabled as Mock).mockReturnValue(false); const { lastFrame, unmount } = await renderWithProviders(, { uiState: mockUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toMatchSnapshot(); unmount(); @@ -300,10 +273,7 @@ describe('App', () => { (useIsScreenReaderEnabled as Mock).mockReturnValue(true); const { lastFrame, unmount } = await renderWithProviders(, { uiState: mockUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toMatchSnapshot(); unmount(); @@ -316,10 +286,7 @@ describe('App', () => { } as UIState; const { lastFrame, unmount } = await renderWithProviders(, { uiState: dialogUIState, - settings: createMockSettings({ - ui: { useAlternateBuffer: true }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: true } }), }); expect(lastFrame()).toMatchSnapshot(); unmount(); diff --git a/packages/cli/src/ui/ToolConfirmationFullFrame.test.tsx b/packages/cli/src/ui/ToolConfirmationFullFrame.test.tsx index 5ac19cfcd2..5fde51c429 100644 --- a/packages/cli/src/ui/ToolConfirmationFullFrame.test.tsx +++ b/packages/cli/src/ui/ToolConfirmationFullFrame.test.tsx @@ -158,7 +158,7 @@ describe('Full Terminal Tool Confirmation Snapshot', () => { }, }, security: { - enablePermanentToolApproval: false, + enablePermanentToolApproval: true, }, }, }), diff --git a/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx b/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx index 18a3705761..703a028557 100644 --- a/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx +++ b/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx @@ -203,10 +203,7 @@ describe('ToolConfirmationQueue', () => { />, { config: mockConfig, - settings: createMockSettings({ - ui: { useAlternateBuffer: false }, - security: { enablePermanentToolApproval: false }, - }), + settings: createMockSettings({ ui: { useAlternateBuffer: false } }), uiState: { terminalWidth: 80, terminalHeight: 40, diff --git a/packages/cli/src/ui/components/messages/RedirectionConfirmation.test.tsx b/packages/cli/src/ui/components/messages/RedirectionConfirmation.test.tsx index 558ff6e223..2b09401e55 100644 --- a/packages/cli/src/ui/components/messages/RedirectionConfirmation.test.tsx +++ b/packages/cli/src/ui/components/messages/RedirectionConfirmation.test.tsx @@ -4,34 +4,36 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { describe, it, expect, beforeAll, vi } from 'vitest'; +import { describe, it, expect, beforeAll } from 'vitest'; import { ToolConfirmationMessage } from './ToolConfirmationMessage.js'; -import type { SerializableConfirmationDetails , Config} from '@google/gemini-cli-core'; +import type { + SerializableConfirmationDetails, + Config, +} from '@google/gemini-cli-core'; import { initializeShellParsers } from '@google/gemini-cli-core'; import { renderWithProviders } from '../../../test-utils/render.js'; -import { createMockSettings } from '../../../test-utils/settings.js'; describe('ToolConfirmationMessage Redirection', () => { beforeAll(async () => { await initializeShellParsers(); }); + const mockConfig = { + isTrustedFolder: () => true, + getIdeMode: () => false, + getDisableAlwaysAllow: () => false, + getApprovalMode: () => 'default', + } as unknown as Config; + it('should display redirection warning and tip for redirected commands', async () => { const confirmationDetails: SerializableConfirmationDetails = { type: 'exec', - title: 'Confirm execution', + title: 'Confirm Shell Command', command: 'echo "hello" > test.txt', - rootCommand: 'echo', + rootCommand: 'echo, redirection (>)', rootCommands: ['echo'], }; - const mockConfig = { - isTrustedFolder: () => true, - getIdeMode: () => false, - getDisableAlwaysAllow: () => false, - getApprovalMode: () => 'default', - } as unknown as Config; - const { lastFrame, unmount } = await renderWithProviders( { terminalWidth={100} toolName="shell" />, - { - settings: createMockSettings({ - security: { enablePermanentToolApproval: false }, - }), - }, ); const output = lastFrame(); diff --git a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.test.tsx b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.test.tsx index ab0c4cb595..3a3a4df557 100644 --- a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.test.tsx +++ b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.test.tsx @@ -419,7 +419,7 @@ describe('ToolConfirmationMessage', () => { unmount(); }); - it('should show "Allow for all future sessions" when trusted (default)', async () => { + it('should show "Allow for all future sessions" when trusted', async () => { const mockConfig = { isTrustedFolder: () => true, getIdeMode: () => false, diff --git a/packages/cli/src/ui/components/messages/__snapshots__/ToolConfirmationMessage.test.tsx.snap b/packages/cli/src/ui/components/messages/__snapshots__/ToolConfirmationMessage.test.tsx.snap index d9d99f27c6..6d33b6fbfb 100644 --- a/packages/cli/src/ui/components/messages/__snapshots__/ToolConfirmationMessage.test.tsx.snap +++ b/packages/cli/src/ui/components/messages/__snapshots__/ToolConfirmationMessage.test.tsx.snap @@ -1,6 +1,6 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when trusted (default) 1`] = ` +exports[`ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when trusted 1`] = ` "╭──────────────────────────────────────────────────────────────────────────────╮ │ │ │ No changes detected. │