diff --git a/src/vs/platform/configuration/test/common/configurationModels.test.ts b/src/vs/platform/configuration/test/common/configurationModels.test.ts index ef1f5a33328..97b4a40cc91 100644 --- a/src/vs/platform/configuration/test/common/configurationModels.test.ts +++ b/src/vs/platform/configuration/test/common/configurationModels.test.ts @@ -37,7 +37,12 @@ suite('ConfigurationModel', () => { testObject.setValue('b.c', 1); - assert.deepEqual(testObject.contents, { 'a': { 'b': 1 }, 'b': { 'c': 1 }, 'f': 1 }); + const expected: any = {}; + expected['a'] = { 'b': 1 }; + expected['f'] = 1; + expected['b'] = Object.create(null); + expected['b']['c'] = 1; + assert.deepStrictEqual(testObject.contents, expected); assert.deepStrictEqual(testObject.keys, ['a.b', 'f', 'b.c']); }); @@ -315,17 +320,17 @@ suite('CustomConfigurationModel', () => { const testObject = new ConfigurationModelParser('test'); testObject.parseContent(''); - assert.deepEqual(testObject.configurationModel.contents, {}); + assert.deepStrictEqual(testObject.configurationModel.contents, Object.create(null)); assert.deepStrictEqual(testObject.configurationModel.keys, []); testObject.parseContent(null!); - assert.deepEqual(testObject.configurationModel.contents, {}); + assert.deepStrictEqual(testObject.configurationModel.contents, Object.create(null)); assert.deepStrictEqual(testObject.configurationModel.keys, []); testObject.parseContent(undefined!); - assert.deepEqual(testObject.configurationModel.contents, {}); + assert.deepStrictEqual(testObject.configurationModel.contents, Object.create(null)); assert.deepStrictEqual(testObject.configurationModel.keys, []); }); diff --git a/src/vs/workbench/services/configuration/test/common/configurationModels.test.ts b/src/vs/workbench/services/configuration/test/common/configurationModels.test.ts index 653b2a3eb7b..74fecfd1931 100644 --- a/src/vs/workbench/services/configuration/test/common/configurationModels.test.ts +++ b/src/vs/workbench/services/configuration/test/common/configurationModels.test.ts @@ -53,7 +53,11 @@ suite('FolderSettingsModelParser', () => { testObject.parseContent(JSON.stringify({ 'FolderSettingsModelParser.window': 'window', 'FolderSettingsModelParser.resource': 'resource', 'FolderSettingsModelParser.application': 'application', 'FolderSettingsModelParser.machine': 'executable' })); - assert.deepEqual(testObject.configurationModel.contents, { 'FolderSettingsModelParser': { 'window': 'window', 'resource': 'resource' } }); + const expected = Object.create(null); + expected['FolderSettingsModelParser'] = Object.create(null); + expected['FolderSettingsModelParser']['window'] = 'window'; + expected['FolderSettingsModelParser']['resource'] = 'resource'; + assert.deepStrictEqual(testObject.configurationModel.contents, expected); }); test('parse resource folder settings', () => { @@ -61,7 +65,10 @@ suite('FolderSettingsModelParser', () => { testObject.parseContent(JSON.stringify({ 'FolderSettingsModelParser.window': 'window', 'FolderSettingsModelParser.resource': 'resource', 'FolderSettingsModelParser.application': 'application', 'FolderSettingsModelParser.machine': 'executable' })); - assert.deepEqual(testObject.configurationModel.contents, { 'FolderSettingsModelParser': { 'resource': 'resource' } }); + const expected = Object.create(null); + expected['FolderSettingsModelParser'] = Object.create(null); + expected['FolderSettingsModelParser']['resource'] = 'resource'; + assert.deepStrictEqual(testObject.configurationModel.contents, expected); }); test('parse resource and resource language settings', () => { @@ -69,7 +76,11 @@ suite('FolderSettingsModelParser', () => { testObject.parseContent(JSON.stringify({ '[json]': { 'FolderSettingsModelParser.window': 'window', 'FolderSettingsModelParser.resource': 'resource', 'FolderSettingsModelParser.resourceLanguage': 'resourceLanguage', 'FolderSettingsModelParser.application': 'application', 'FolderSettingsModelParser.machine': 'executable' } })); - assert.deepEqual(testObject.configurationModel.overrides, [{ 'contents': { 'FolderSettingsModelParser': { 'resource': 'resource', 'resourceLanguage': 'resourceLanguage' } }, 'identifiers': ['json'], 'keys': ['FolderSettingsModelParser.resource', 'FolderSettingsModelParser.resourceLanguage'] }]); + const expected = Object.create(null); + expected['FolderSettingsModelParser'] = Object.create(null); + expected['FolderSettingsModelParser']['resource'] = 'resource'; + expected['FolderSettingsModelParser']['resourceLanguage'] = 'resourceLanguage'; + assert.deepStrictEqual(testObject.configurationModel.overrides, [{ 'contents': expected, 'identifiers': ['json'], 'keys': ['FolderSettingsModelParser.resource', 'FolderSettingsModelParser.resourceLanguage'] }]); }); test('reprocess folder settings excludes application and machine setting', () => { @@ -77,7 +88,11 @@ suite('FolderSettingsModelParser', () => { testObject.parseContent(JSON.stringify({ 'FolderSettingsModelParser.resource': 'resource', 'FolderSettingsModelParser.anotherApplicationSetting': 'executable' })); - assert.deepEqual(testObject.configurationModel.contents, { 'FolderSettingsModelParser': { 'resource': 'resource', 'anotherApplicationSetting': 'executable' } }); + let expected = Object.create(null); + expected['FolderSettingsModelParser'] = Object.create(null); + expected['FolderSettingsModelParser']['resource'] = 'resource'; + expected['FolderSettingsModelParser']['anotherApplicationSetting'] = 'executable'; + assert.deepStrictEqual(testObject.configurationModel.contents, expected); const configurationRegistry = Registry.as(ConfigurationExtensions.Configuration); configurationRegistry.registerConfiguration({ @@ -98,7 +113,11 @@ suite('FolderSettingsModelParser', () => { }); testObject.parse(); - assert.deepEqual(testObject.configurationModel.contents, { 'FolderSettingsModelParser': { 'resource': 'resource' } }); + + expected = Object.create(null); + expected['FolderSettingsModelParser'] = Object.create(null); + expected['FolderSettingsModelParser']['resource'] = 'resource'; + assert.deepStrictEqual(testObject.configurationModel.contents, expected); }); }); @@ -110,7 +129,11 @@ suite('StandaloneConfigurationModelParser', () => { testObject.parseContent(JSON.stringify({ 'version': '1.1.1', 'tasks': [] })); - assert.deepEqual(testObject.configurationModel.contents, { 'tasks': { 'version': '1.1.1', 'tasks': [] } }); + const expected = Object.create(null); + expected['tasks'] = Object.create(null); + expected['tasks']['version'] = '1.1.1'; + expected['tasks']['tasks'] = []; + assert.deepStrictEqual(testObject.configurationModel.contents, expected); }); }); diff --git a/src/vs/workbench/test/browser/codeeditor.test.ts b/src/vs/workbench/test/browser/codeeditor.test.ts index d84c3e0d788..35100e22784 100644 --- a/src/vs/workbench/test/browser/codeeditor.test.ts +++ b/src/vs/workbench/test/browser/codeeditor.test.ts @@ -55,52 +55,52 @@ suite('Editor - Range decorations', () => { }); test('highlight range for the resource if it is an active editor', function () { - let range: IRange = { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 }; + const range: IRange = new Range(1, 1, 1, 1); testObject.highlightRange({ resource: model.uri, range }); - let actuals = rangeHighlightDecorations(model); + const actuals = rangeHighlightDecorations(model); - assert.deepEqual([range], actuals); + assert.deepStrictEqual(actuals, [range]); }); test('remove highlight range', function () { testObject.highlightRange({ resource: model.uri, range: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 } }); testObject.removeHighlightRange(); - let actuals = rangeHighlightDecorations(model); + const actuals = rangeHighlightDecorations(model); - assert.deepStrictEqual([], actuals); + assert.deepStrictEqual(actuals, []); }); test('highlight range for the resource removes previous highlight', function () { testObject.highlightRange({ resource: model.uri, range: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 } }); - let range: IRange = { startLineNumber: 2, startColumn: 2, endLineNumber: 4, endColumn: 3 }; + const range: IRange = new Range(2, 2, 4, 3); testObject.highlightRange({ resource: model.uri, range }); - let actuals = rangeHighlightDecorations(model); + const actuals = rangeHighlightDecorations(model); - assert.deepEqual([range], actuals); + assert.deepStrictEqual(actuals, [range]); }); test('highlight range for a new resource removes highlight of previous resource', function () { testObject.highlightRange({ resource: model.uri, range: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 } }); - let anotherModel = prepareActiveEditor('anotherModel'); - let range: IRange = { startLineNumber: 2, startColumn: 2, endLineNumber: 4, endColumn: 3 }; + const anotherModel = prepareActiveEditor('anotherModel'); + const range: IRange = new Range(2, 2, 4, 3); testObject.highlightRange({ resource: anotherModel.uri, range }); let actuals = rangeHighlightDecorations(model); - assert.deepStrictEqual([], actuals); + assert.deepStrictEqual(actuals, []); actuals = rangeHighlightDecorations(anotherModel); - assert.deepEqual([range], actuals); + assert.deepStrictEqual(actuals, [range]); }); test('highlight is removed on model change', function () { testObject.highlightRange({ resource: model.uri, range: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 } }); prepareActiveEditor('anotherModel'); - let actuals = rangeHighlightDecorations(model); - assert.deepStrictEqual([], actuals); + const actuals = rangeHighlightDecorations(model); + assert.deepStrictEqual(actuals, []); }); test('highlight is removed on cursor position change', function () { @@ -109,27 +109,27 @@ suite('Editor - Range decorations', () => { position: new Position(2, 1) }); - let actuals = rangeHighlightDecorations(model); - assert.deepStrictEqual([], actuals); + const actuals = rangeHighlightDecorations(model); + assert.deepStrictEqual(actuals, []); }); test('range is not highlight if not active editor', function () { - let model = aModel(URI.file('some model')); + const model = aModel(URI.file('some model')); testObject.highlightRange({ resource: model.uri, range: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 } }); - let actuals = rangeHighlightDecorations(model); - assert.deepStrictEqual([], actuals); + const actuals = rangeHighlightDecorations(model); + assert.deepStrictEqual(actuals, []); }); test('previous highlight is not removed if not active editor', function () { - let range: IRange = { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 }; + const range = new Range(1, 1, 1, 1); testObject.highlightRange({ resource: model.uri, range }); - let model1 = aModel(URI.file('some model')); + const model1 = aModel(URI.file('some model')); testObject.highlightRange({ resource: model1.uri, range: { startLineNumber: 2, startColumn: 1, endLineNumber: 2, endColumn: 1 } }); - let actuals = rangeHighlightDecorations(model); - assert.deepEqual([range], actuals); + const actuals = rangeHighlightDecorations(model); + assert.deepStrictEqual(actuals, [range]); }); function prepareActiveEditor(resource: string): TextModel {