提交 17b0c8d0 编写于 作者: C Christof Marti

Additional tests (#13051)

上级 0bd44492
......@@ -147,7 +147,7 @@ export class ConfigurationResolverService implements IConfigurationResolverServi
}
config = config[key];
}
newValue = config ? config[keys[0]] : '';
newValue = config && config.hasOwnProperty(keys[0]) ? config[keys[0]] : '';
} catch (e) {
return '';
}
......
......@@ -244,12 +244,36 @@ suite('Configuration Resolver Service', () => {
let configurationService: IConfigurationService;
configurationService = new MockConfigurationService({
editor: {
a: 'foo'
abc: 'foo'
}
});
let service = new ConfigurationResolverService(uri.parse('file:///VSCode/workspaceLocation'), envVariables, new TestEditorService(), TestEnvironmentService, configurationService, mockCommandService);
assert.strictEqual(service.resolve("abc ${config.editor['abc'.substr(0)]} xyz"), 'abc undefined xyz');
assert.strictEqual(service.resolve("abc ${config.editor['abc'.substr(0)]} xyz"), 'abc xyz');
});
test('uses empty string as fallback', () => {
let configurationService: IConfigurationService;
configurationService = new MockConfigurationService({
editor: {}
});
let service = new ConfigurationResolverService(uri.parse('file:///VSCode/workspaceLocation'), envVariables, new TestEditorService(), TestEnvironmentService, configurationService, mockCommandService);
assert.strictEqual(service.resolve("abc ${config.editor.abc} xyz"), 'abc xyz');
assert.strictEqual(service.resolve("abc ${config.editor.abc.def} xyz"), 'abc xyz');
assert.strictEqual(service.resolve("abc ${config.panel} xyz"), 'abc xyz');
assert.strictEqual(service.resolve("abc ${config.panel.abc} xyz"), 'abc xyz');
});
test('is restricted to own properties', () => {
let configurationService: IConfigurationService;
configurationService = new MockConfigurationService({
editor: {}
});
let service = new ConfigurationResolverService(uri.parse('file:///VSCode/workspaceLocation'), envVariables, new TestEditorService(), TestEnvironmentService, configurationService, mockCommandService);
assert.strictEqual(service.resolve("abc ${config.editor.__proto__} xyz"), 'abc xyz');
assert.strictEqual(service.resolve("abc ${config.editor.toString} xyz"), 'abc xyz');
});
test('interactive variable simple', () => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册