mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-20 16:57:46 +00:00
34 lines
925 B
TypeScript
34 lines
925 B
TypeScript
/**
|
|
* @license
|
|
* Copyright 2025 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import { vi } from 'vitest';
|
|
import { WorkspaceContext } from '../utils/workspaceContext.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 allDirs = [rootDir, ...additionalDirs];
|
|
|
|
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;
|
|
}
|