diff options
| author | Shreya Keshive <[email protected]> | 2025-08-07 17:19:31 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-07 21:19:31 +0000 |
| commit | 4d4eacfc40f87ecc991aaecc12c046d49654425c (patch) | |
| tree | 933a4bbf90b1651d839aaa727df34f77610ad872 /packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx | |
| parent | 19491b7b940912c2fb3fe24b2f189d3fd5668669 (diff) | |
Few IDE integration polishes (#5727)
Diffstat (limited to 'packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx')
| -rw-r--r-- | packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx b/packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx new file mode 100644 index 00000000..629d6c2e --- /dev/null +++ b/packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx @@ -0,0 +1,66 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { render } from 'ink-testing-library'; +import { describe, it, expect } from 'vitest'; +import { IDEContextDetailDisplay } from './IDEContextDetailDisplay.js'; +import { type IdeContext } from '@google/gemini-cli-core'; + +describe('IDEContextDetailDisplay', () => { + it('renders an empty string when there are no open files', () => { + const ideContext: IdeContext = { + workspaceState: { + openFiles: [], + }, + }; + const { lastFrame } = render( + <IDEContextDetailDisplay + ideContext={ideContext} + detectedIdeDisplay="VS Code" + />, + ); + expect(lastFrame()).toBe(''); + }); + + it('renders a list of open files with active status', () => { + const ideContext: IdeContext = { + workspaceState: { + openFiles: [ + { path: '/foo/bar.txt', isActive: true }, + { path: '/foo/baz.txt', isActive: false }, + ], + }, + }; + const { lastFrame } = render( + <IDEContextDetailDisplay + ideContext={ideContext} + detectedIdeDisplay="VS Code" + />, + ); + const output = lastFrame(); + expect(output).toMatchSnapshot(); + }); + + it('handles duplicate basenames by showing path hints', () => { + const ideContext: IdeContext = { + workspaceState: { + openFiles: [ + { path: '/foo/bar.txt', isActive: true }, + { path: '/qux/bar.txt', isActive: false }, + { path: '/foo/unique.txt', isActive: false }, + ], + }, + }; + const { lastFrame } = render( + <IDEContextDetailDisplay + ideContext={ideContext} + detectedIdeDisplay="VS Code" + />, + ); + const output = lastFrame(); + expect(output).toMatchSnapshot(); + }); +}); |
