mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-23 11:34:44 -07:00
feat(cli): implement modular dense tool output with summary/payload pattern
- Support structured summaries and payloads in ToolGroupMessage/DenseToolMessage. - Add specialized box-layout rendering for file and read-many-files tools. - Refine tool state management in useGeminiStream during cancellations. - Update UI tests and snapshots to reflect new compact rendering styles.
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
||||
renderWithProviders,
|
||||
persistentStateMock,
|
||||
} from '../../test-utils/render.js';
|
||||
import { createMockSettings } from '../../test-utils/settings.js';
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
import { AlternateBufferQuittingDisplay } from './AlternateBufferQuittingDisplay.js';
|
||||
import { ToolCallStatus } from '../types.js';
|
||||
@@ -90,6 +91,10 @@ const mockPendingHistoryItems: HistoryItemWithoutId[] = [
|
||||
];
|
||||
|
||||
describe('AlternateBufferQuittingDisplay', () => {
|
||||
const mockSettings = createMockSettings({
|
||||
ui: { enableCompactToolOutput: false },
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
});
|
||||
@@ -116,6 +121,7 @@ describe('AlternateBufferQuittingDisplay', () => {
|
||||
history: mockHistory,
|
||||
pendingHistoryItems: mockPendingHistoryItems,
|
||||
},
|
||||
settings: mockSettings,
|
||||
},
|
||||
);
|
||||
expect(lastFrame()).toMatchSnapshot('with_history_and_pending');
|
||||
@@ -131,6 +137,7 @@ describe('AlternateBufferQuittingDisplay', () => {
|
||||
history: [],
|
||||
pendingHistoryItems: [],
|
||||
},
|
||||
settings: mockSettings,
|
||||
},
|
||||
);
|
||||
expect(lastFrame()).toMatchSnapshot('empty');
|
||||
@@ -146,6 +153,7 @@ describe('AlternateBufferQuittingDisplay', () => {
|
||||
history: mockHistory,
|
||||
pendingHistoryItems: [],
|
||||
},
|
||||
settings: mockSettings,
|
||||
},
|
||||
);
|
||||
expect(lastFrame()).toMatchSnapshot('with_history_no_pending');
|
||||
@@ -161,6 +169,7 @@ describe('AlternateBufferQuittingDisplay', () => {
|
||||
history: [],
|
||||
pendingHistoryItems: mockPendingHistoryItems,
|
||||
},
|
||||
settings: mockSettings,
|
||||
},
|
||||
);
|
||||
expect(lastFrame()).toMatchSnapshot('with_pending_no_history');
|
||||
@@ -196,6 +205,7 @@ describe('AlternateBufferQuittingDisplay', () => {
|
||||
history: [],
|
||||
pendingHistoryItems,
|
||||
},
|
||||
settings: mockSettings,
|
||||
},
|
||||
);
|
||||
const output = lastFrame();
|
||||
@@ -219,6 +229,7 @@ describe('AlternateBufferQuittingDisplay', () => {
|
||||
history,
|
||||
pendingHistoryItems: [],
|
||||
},
|
||||
settings: mockSettings,
|
||||
},
|
||||
);
|
||||
expect(lastFrame()).toMatchSnapshot('with_user_gemini_messages');
|
||||
|
||||
Reference in New Issue
Block a user