Download packages/core/src/test-utils/mockWorkspaceContext.ts from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 1.27 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/core/src/test-utils/mockWorkspaceContext.ts
- Command line
-
hf download hf://SaylorTwift/gemini-cli/packages/core/src/test-utils/mockWorkspaceContext.ts
-
curl -L -o mockWorkspaceContext.ts https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/core/src/test-utils/mockWorkspaceContext.ts
1.27 kB
| /** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| import { vi } from 'vitest'; | |
| import type { WorkspaceContext } from '../utils/workspaceContext.js'; | |
| import { resolveToRealPath } from '../utils/paths.js'; | |
| /** | |
| * Creates a mock WorkspaceContext for testing | |
| * @param rootDir The root directory to use for the mock | |
| * @param additionalDirs Optional additional directories to include in the workspace | |
| * @returns A mock WorkspaceContext instance | |
| */ | |
| export function createMockWorkspaceContext( | |
| rootDir: string, | |
| additionalDirs: string[] = [], | |
| ): WorkspaceContext { | |
| const resolveToRealPathSafe = (p: string) => { | |
| try { | |
| return resolveToRealPath(p); | |
| } catch { | |
| return p; | |
| } | |
| }; | |
| const resolvedRootDir = resolveToRealPathSafe(rootDir); | |
| const resolvedAdditionalDirs = additionalDirs.map(resolveToRealPathSafe); | |
| const allDirs = [resolvedRootDir, ...resolvedAdditionalDirs]; | |
| const mockWorkspaceContext = { | |
| addDirectory: vi.fn(), | |
| getDirectories: vi.fn().mockReturnValue(allDirs), | |
| isPathWithinWorkspace: vi | |
| .fn() | |
| .mockImplementation((path: string) => | |
| allDirs.some((dir) => path.startsWith(dir)), | |
| ), | |
| } as unknown as WorkspaceContext; | |
| return mockWorkspaceContext; | |
| } | |