test for index-access style, make object immutable, #1396

This commit is contained in:
Johannes Rieken 2016-08-25 11:56:40 +02:00
parent 043ff9f76e
commit e3c810ec52
3 changed files with 19 additions and 1 deletions

View file

@ -26,6 +26,10 @@
},
"farboo.config4": {
"type": "string"
},
"farboo.get": {
"type": "string",
"default": "get-prop"
}
}
}

View file

@ -21,6 +21,10 @@ suite('workspace-namespace', () => {
assert.ok(config.has('config0'));
assert.equal(config.get('config0'), true);
assert.equal(config.get('config4'), '');
assert.equal(config['config0'], true);
assert.equal(config['config4'], '');
assert.throws(() => config['config4'] = 'valuevalue');
assert.ok(config.has('nested.config1'));
assert.equal(config.get('nested.config1'), 42);
@ -28,6 +32,15 @@ suite('workspace-namespace', () => {
assert.equal(config.get('nested.config2'), 'Das Pferd frisst kein Reis.');
});
test('configuration, name vs property', () => {
const config = workspace.getConfiguration('farboo');
assert.ok(config.has('get'));
assert.equal(config.get('get'), 'get-prop');
assert.deepEqual(config['get'], config.get);
assert.throws(() => config['get'] = <any> 'get-prop');
});
test('configuration, getConfig/value', () => {
const value = workspace.getConfiguration('farboo.config0');
assert.equal(Object.keys(value).length, 2);

View file

@ -61,7 +61,8 @@ export class ExtHostConfiguration extends ExtHostConfigurationShape {
}
return result;
};
return result;
return Object.freeze(result);
}
private static _lookUp(section: string, config: any) {