Files
gemini-cli/packages/cli/src/ui/components/ShortcutsHelp.test.tsx
2026-02-07 06:35:14 +00:00

50 lines
1.2 KiB
TypeScript

/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { describe, it, expect, afterEach, vi } from 'vitest';
import { renderWithProviders } from '../../test-utils/render.js';
import { ShortcutsHelp } from './ShortcutsHelp.js';
describe('ShortcutsHelp', () => {
const originalPlatform = process.platform;
afterEach(() => {
Object.defineProperty(process, 'platform', {
value: originalPlatform,
});
vi.restoreAllMocks();
});
const testCases = [
{ name: 'wide', width: 100 },
{ name: 'narrow', width: 40 },
];
const platforms = [
{ name: 'mac', value: 'darwin' },
{ name: 'linux', value: 'linux' },
] as const;
it.each(
platforms.flatMap((platform) =>
testCases.map((testCase) => ({ ...testCase, platform })),
),
)(
'renders correctly in $name mode on $platform.name',
({ width, platform }) => {
Object.defineProperty(process, 'platform', {
value: platform.value,
});
const { lastFrame } = renderWithProviders(<ShortcutsHelp />, {
width,
});
expect(lastFrame()).toContain('shell mode');
expect(lastFrame()).toMatchSnapshot();
},
);
});