This commit is contained in:
Sandeep Somavarapu 2021-11-25 11:03:50 +01:00
parent 7ca8fbe2d3
commit 131f9fa97c
No known key found for this signature in database
GPG key ID: 1FED25EC4646638B
2 changed files with 22 additions and 0 deletions

View file

@ -57,6 +57,7 @@ export class DefaultConfiguration extends Disposable {
async initialize(): Promise<ConfigurationModel> {
await this.initializeCachedConfigurationDefaultsOverrides();
this._configurationModel = undefined;
this._register(this.configurationRegistry.onDidUpdateConfiguration(({ defaultsOverrides }) => this.onDidUpdateConfiguration(defaultsOverrides)));
return this.configurationModel;
}

View file

@ -62,6 +62,27 @@ suite('DefaultConfiguration', () => {
assert.deepStrictEqual(actual.getValue('test.configurationDefaultsOverride'), 'overrideValue');
});
test('configuration default overrides are read from cache when model is read before initialize', async () => {
await configurationCache.write(cacheKey, JSON.stringify({ 'test.configurationDefaultsOverride': 'overrideValue' }));
const testObject = new DefaultConfiguration(configurationCache, TestEnvironmentService);
assert.deepStrictEqual(testObject.configurationModel.getValue('test.configurationDefaultsOverride'), 'defaultValue');
const actual = await testObject.initialize();
assert.deepStrictEqual(actual.getValue('test.configurationDefaultsOverride'), 'overrideValue');
assert.deepStrictEqual(testObject.configurationModel.getValue('test.configurationDefaultsOverride'), 'overrideValue');
});
test('configuration default overrides are read from cache', async () => {
await configurationCache.write(cacheKey, JSON.stringify({ 'test.configurationDefaultsOverride': 'overrideValue' }));
const testObject = new DefaultConfiguration(configurationCache, TestEnvironmentService);
const actual = await testObject.initialize();
assert.deepStrictEqual(actual.getValue('test.configurationDefaultsOverride'), 'overrideValue');
});
test('configuration default overrides read from cache override environment', async () => {
const environmentService = new BrowserWorkbenchEnvironmentService({ logsPath: joinPath(URI.file('tests').with({ scheme: 'vscode-tests' }), 'logs'), workspaceId: '', configurationDefaults: { 'test.configurationDefaultsOverride': 'envOverrideValue' } }, TestProductService);
await configurationCache.write(cacheKey, JSON.stringify({ 'test.configurationDefaultsOverride': 'overrideValue' }));