summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx
diff options
context:
space:
mode:
authorShreya Keshive <[email protected]>2025-08-07 17:19:31 -0400
committerGitHub <[email protected]>2025-08-07 21:19:31 +0000
commit4d4eacfc40f87ecc991aaecc12c046d49654425c (patch)
tree933a4bbf90b1651d839aaa727df34f77610ad872 /packages/cli/src/ui/components/IDEContextDetailDisplay.test.tsx
parent19491b7b940912c2fb3fe24b2f189d3fd5668669 (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.tsx66
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();
+ });
+});