| |
| |
| |
| |
| |
|
|
| |
|
|
| import { |
| LoadedSettings, |
| createTestMergedSettings, |
| type SettingsError, |
| } from '../config/settings.js'; |
|
|
| export interface MockSettingsFile { |
| settings: any; |
| originalSettings: any; |
| path: string; |
| readOnly?: boolean; |
| } |
|
|
| interface CreateMockSettingsOptions { |
| system?: MockSettingsFile; |
| systemDefaults?: MockSettingsFile; |
| user?: MockSettingsFile; |
| workspace?: MockSettingsFile; |
| isTrusted?: boolean; |
| errors?: SettingsError[]; |
| merged?: any; |
| [key: string]: any; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| export const createMockSettings = ( |
| overrides: CreateMockSettingsOptions = {}, |
| ): LoadedSettings => { |
| const { |
| system, |
| systemDefaults, |
| user, |
| workspace, |
| isTrusted, |
| errors, |
| merged: mergedOverride, |
| ...settingsOverrides |
| } = overrides; |
|
|
| const loaded = new LoadedSettings( |
| (system as any) || { path: '', settings: {}, originalSettings: {} }, |
|
|
| (systemDefaults as any) || { path: '', settings: {}, originalSettings: {} }, |
|
|
| (user as any) || { |
| path: '', |
| settings: settingsOverrides, |
| originalSettings: settingsOverrides, |
| }, |
| (workspace as any) || { path: '', settings: {}, originalSettings: {} }, |
| isTrusted ?? true, |
| errors || [], |
| ); |
|
|
| if (mergedOverride) { |
| |
| loaded._merged = createTestMergedSettings(mergedOverride); |
| } |
|
|
| |
| for (const key in overrides) { |
| if (typeof overrides[key] === 'function') { |
| (loaded as any)[key] = overrides[key]; |
| } |
| } |
|
|
| return loaded; |
| }; |
|
|