#46851 fix init
This commit is contained in:
parent
7ca8fbe2d3
commit
131f9fa97c
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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' }));
|
||||
|
|
Loading…
Reference in a new issue