Skip to content

Commit 131f9fa

Browse files
committed
#46851 fix init
1 parent 7ca8fbe commit 131f9fa

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/vs/workbench/services/configuration/browser/configuration.ts

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export class DefaultConfiguration extends Disposable {
5757

5858
async initialize(): Promise<ConfigurationModel> {
5959
await this.initializeCachedConfigurationDefaultsOverrides();
60+
this._configurationModel = undefined;
6061
this._register(this.configurationRegistry.onDidUpdateConfiguration(({ defaultsOverrides }) => this.onDidUpdateConfiguration(defaultsOverrides)));
6162
return this.configurationModel;
6263
}

src/vs/workbench/services/configuration/test/browser/configuration.test.ts

+21
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,27 @@ suite('DefaultConfiguration', () => {
6262
assert.deepStrictEqual(actual.getValue('test.configurationDefaultsOverride'), 'overrideValue');
6363
});
6464

65+
test('configuration default overrides are read from cache when model is read before initialize', async () => {
66+
await configurationCache.write(cacheKey, JSON.stringify({ 'test.configurationDefaultsOverride': 'overrideValue' }));
67+
const testObject = new DefaultConfiguration(configurationCache, TestEnvironmentService);
68+
69+
assert.deepStrictEqual(testObject.configurationModel.getValue('test.configurationDefaultsOverride'), 'defaultValue');
70+
71+
const actual = await testObject.initialize();
72+
73+
assert.deepStrictEqual(actual.getValue('test.configurationDefaultsOverride'), 'overrideValue');
74+
assert.deepStrictEqual(testObject.configurationModel.getValue('test.configurationDefaultsOverride'), 'overrideValue');
75+
});
76+
77+
test('configuration default overrides are read from cache', async () => {
78+
await configurationCache.write(cacheKey, JSON.stringify({ 'test.configurationDefaultsOverride': 'overrideValue' }));
79+
const testObject = new DefaultConfiguration(configurationCache, TestEnvironmentService);
80+
81+
const actual = await testObject.initialize();
82+
83+
assert.deepStrictEqual(actual.getValue('test.configurationDefaultsOverride'), 'overrideValue');
84+
});
85+
6586
test('configuration default overrides read from cache override environment', async () => {
6687
const environmentService = new BrowserWorkbenchEnvironmentService({ logsPath: joinPath(URI.file('tests').with({ scheme: 'vscode-tests' }), 'logs'), workspaceId: '', configurationDefaults: { 'test.configurationDefaultsOverride': 'envOverrideValue' } }, TestProductService);
6788
await configurationCache.write(cacheKey, JSON.stringify({ 'test.configurationDefaultsOverride': 'overrideValue' }));

0 commit comments

Comments
 (0)