From ebff3af5060ca71af1cfc81e5585ef70855ffa12 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 11 Feb 2019 13:20:01 -0800 Subject: [PATCH] Strict null supressions in tests --- .../mainThreadConfiguration.ts | 6 +- .../debug/test/browser/baseDebugView.test.ts | 4 +- .../debug/test/browser/linkDetector.test.ts | 6 +- .../services/panel/common/panelService.ts | 2 +- .../api/extHostWorkspace.test.ts | 142 +++++++++--------- .../api/mainThreadDocumentsAndEditors.test.ts | 22 +-- .../workbench/test/workbenchTestServices.ts | 4 +- 7 files changed, 93 insertions(+), 93 deletions(-) diff --git a/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts b/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts index 265994c37dc..a219ce3dca3 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts @@ -46,17 +46,17 @@ export class MainThreadConfiguration implements MainThreadConfigurationShape { this._configurationListener.dispose(); } - $updateConfigurationOption(target: ConfigurationTarget, key: string, value: any, resourceUriComponenets: UriComponents): Promise { + $updateConfigurationOption(target: ConfigurationTarget | null, key: string, value: any, resourceUriComponenets: UriComponents | null): Promise { const resource = resourceUriComponenets ? URI.revive(resourceUriComponenets) : null; return this.writeConfiguration(target, key, value, resource); } - $removeConfigurationOption(target: ConfigurationTarget, key: string, resourceUriComponenets: UriComponents): Promise { + $removeConfigurationOption(target: ConfigurationTarget | null, key: string, resourceUriComponenets: UriComponents | null): Promise { const resource = resourceUriComponenets ? URI.revive(resourceUriComponenets) : null; return this.writeConfiguration(target, key, undefined, resource); } - private writeConfiguration(target: ConfigurationTarget, key: string, value: any, resource: URI | null): Promise { + private writeConfiguration(target: ConfigurationTarget | null, key: string, value: any, resource: URI | null): Promise { target = target !== null && target !== undefined ? target : this.deriveConfigurationTarget(key, resource); return this.configurationService.updateValue(key, value, { resource }, target, true); } diff --git a/src/vs/workbench/contrib/debug/test/browser/baseDebugView.test.ts b/src/vs/workbench/contrib/debug/test/browser/baseDebugView.test.ts index d4549a65671..149b78269a8 100644 --- a/src/vs/workbench/contrib/debug/test/browser/baseDebugView.test.ts +++ b/src/vs/workbench/contrib/debug/test/browser/baseDebugView.test.ts @@ -55,10 +55,10 @@ suite('Debug - Base Debug View', () => { test('render variable', () => { const session = new MockSession(); const thread = new Thread(session, 'mockthread', 1); - const stackFrame = new StackFrame(thread, 1, null, 'app.js', 'normal', { startLineNumber: 1, startColumn: 1, endLineNumber: undefined, endColumn: undefined }, 0); + const stackFrame = new StackFrame(thread, 1, null!, 'app.js', 'normal', { startLineNumber: 1, startColumn: 1, endLineNumber: undefined!, endColumn: undefined! }, 0); const scope = new Scope(stackFrame, 1, 'local', 1, false, 10, 10); - let variable = new Variable(session, scope, 2, 'foo', 'bar.foo', undefined, 0, 0, {}, 'string'); + let variable = new Variable(session, scope, 2, 'foo', 'bar.foo', undefined!, 0, 0, {}, 'string'); let expression = $('.'); let name = $('.'); let value = $('.'); diff --git a/src/vs/workbench/contrib/debug/test/browser/linkDetector.test.ts b/src/vs/workbench/contrib/debug/test/browser/linkDetector.test.ts index c164d37d9db..5f554b70daf 100644 --- a/src/vs/workbench/contrib/debug/test/browser/linkDetector.test.ts +++ b/src/vs/workbench/contrib/debug/test/browser/linkDetector.test.ts @@ -58,10 +58,10 @@ suite('Debug - Link Detector', () => { assert.equal(1, output.children.length); assert.equal('SPAN', output.tagName); - assert.equal('A', output.firstElementChild.tagName); + assert.equal('A', output.firstElementChild!.tagName); assert(expectedOutput.test(output.outerHTML)); - assertElementIsLink(output.firstElementChild); - assert.equal(isWindows ? 'C:/foo/bar.js:12:34' : '/Users/foo/bar.js:12:34', output.firstElementChild.textContent); + assertElementIsLink(output.firstElementChild!); + assert.equal(isWindows ? 'C:/foo/bar.js:12:34' : '/Users/foo/bar.js:12:34', output.firstElementChild!.textContent); }); test('relativeLink', () => { diff --git a/src/vs/workbench/services/panel/common/panelService.ts b/src/vs/workbench/services/panel/common/panelService.ts index 11732a0207a..f99cf3c813b 100644 --- a/src/vs/workbench/services/panel/common/panelService.ts +++ b/src/vs/workbench/services/panel/common/panelService.ts @@ -30,7 +30,7 @@ export interface IPanelService { /** * Returns the current active panel or null if none */ - getActivePanel(): IPanel; + getActivePanel(): IPanel | null; /** * * Returns all built-in panels following the default order (Problems - Output - Debug Console - Terminal) diff --git a/src/vs/workbench/test/electron-browser/api/extHostWorkspace.test.ts b/src/vs/workbench/test/electron-browser/api/extHostWorkspace.test.ts index de017d9d841..114f0f57a0f 100644 --- a/src/vs/workbench/test/electron-browser/api/extHostWorkspace.test.ts +++ b/src/vs/workbench/test/electron-browser/api/extHostWorkspace.test.ts @@ -109,16 +109,16 @@ suite('ExtHostWorkspace', function () { assert.equal(ws.getPath(), undefined); ws = new ExtHostWorkspaceProvider(new TestRPCProtocol(), { id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.file('Folder'), 0), aWorkspaceFolderData(URI.file('Another/Folder'), 1)] }, new NullLogService(), new Counter()); - assert.equal(ws.getPath().replace(/\\/g, '/'), '/Folder'); + assert.equal(ws.getPath()!.replace(/\\/g, '/'), '/Folder'); ws = new ExtHostWorkspaceProvider(new TestRPCProtocol(), { id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.file('/Folder'), 0)] }, new NullLogService(), new Counter()); - assert.equal(ws.getPath().replace(/\\/g, '/'), '/Folder'); + assert.equal(ws.getPath()!.replace(/\\/g, '/'), '/Folder'); }); test('WorkspaceFolder has name and index', function () { const ws = new ExtHostWorkspaceProvider(new TestRPCProtocol(), { id: 'foo', folders: [aWorkspaceFolderData(URI.file('/Coding/One'), 0), aWorkspaceFolderData(URI.file('/Coding/Two'), 1)], name: 'Test' }, new NullLogService(), new Counter()); - const [one, two] = ws.getWorkspaceFolders(); + const [one, two] = ws.getWorkspaceFolders()!; assert.equal(one.name, 'One'); assert.equal(one.index, 0); @@ -140,37 +140,37 @@ suite('ExtHostWorkspace', function () { let folder = ws.getWorkspaceFolder(URI.file('/foo/bar')); assert.equal(folder, undefined); - folder = ws.getWorkspaceFolder(URI.file('/Coding/One/file/path.txt')); + folder = ws.getWorkspaceFolder(URI.file('/Coding/One/file/path.txt'))!; assert.equal(folder.name, 'One'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/file/path.txt')); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/file/path.txt'))!; assert.equal(folder.name, 'Two'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nest')); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nest'))!; assert.equal(folder.name, 'Two'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/file')); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/file'))!; assert.equal(folder.name, 'Nested'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/f')); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/f'))!; assert.equal(folder.name, 'Nested'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested'), true); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested'), true)!; assert.equal(folder.name, 'Two'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/'), true); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/'), true)!; assert.equal(folder.name, 'Two'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested')); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested'))!; assert.equal(folder.name, 'Nested'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/')); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two/Nested/'))!; assert.equal(folder.name, 'Nested'); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two'), true); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two'), true)!; assert.equal(folder, undefined); - folder = ws.getWorkspaceFolder(URI.file('/Coding/Two'), false); + folder = ws.getWorkspaceFolder(URI.file('/Coding/Two'), false)!; assert.equal(folder.name, 'Two'); }); @@ -240,21 +240,21 @@ suite('ExtHostWorkspace', function () { test('Multiroot change keeps existing workspaces live', function () { let ws = new ExtHostWorkspaceProvider(new TestRPCProtocol(), { id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar'), 0)] }, new NullLogService(), new Counter()); - let firstFolder = ws.getWorkspaceFolders()[0]; + let firstFolder = ws.getWorkspaceFolders()![0]; ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar2'), 0), aWorkspaceFolderData(URI.parse('foo:bar'), 1, 'renamed')] }); - assert.equal(ws.getWorkspaceFolders()[1], firstFolder); + assert.equal(ws.getWorkspaceFolders()![1], firstFolder); assert.equal(firstFolder.index, 1); assert.equal(firstFolder.name, 'renamed'); ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar3'), 0), aWorkspaceFolderData(URI.parse('foo:bar2'), 1), aWorkspaceFolderData(URI.parse('foo:bar'), 2)] }); - assert.equal(ws.getWorkspaceFolders()[2], firstFolder); + assert.equal(ws.getWorkspaceFolders()![2], firstFolder); assert.equal(firstFolder.index, 2); ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar3'), 0)] }); ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar3'), 0), aWorkspaceFolderData(URI.parse('foo:bar'), 1)] }); - assert.notEqual(firstFolder, ws.workspace.folders[0]); + assert.notEqual(firstFolder, ws.workspace!.folders[0]); }); test('updateWorkspaceFolders - invalid arguments', function () { @@ -296,10 +296,10 @@ suite('ExtHostWorkspace', function () { // assert.equal(true, ws.updateWorkspaceFolders(extensionDescriptor, 0, 0, asUpdateWorkspaceFolderData(URI.parse('foo:bar')))); - assert.equal(1, ws.workspace.folders.length); - assert.equal(ws.workspace.folders[0].uri.toString(), URI.parse('foo:bar').toString()); + assert.equal(1, ws.workspace!.folders.length); + assert.equal(ws.workspace!.folders[0].uri.toString(), URI.parse('foo:bar').toString()); - const firstAddedFolder = ws.getWorkspaceFolders()[0]; + const firstAddedFolder = ws.getWorkspaceFolders()![0]; let gotEvent = false; let sub = ws.onDidChangeWorkspace(e => { @@ -316,20 +316,20 @@ suite('ExtHostWorkspace', function () { ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar'), 0)] }); // simulate acknowledgement from main side assert.equal(gotEvent, true); sub.dispose(); - assert.equal(ws.getWorkspaceFolders()[0], firstAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![0], firstAddedFolder); // verify object is still live // // Add two more folders // assert.equal(true, ws.updateWorkspaceFolders(extensionDescriptor, 1, 0, asUpdateWorkspaceFolderData(URI.parse('foo:bar1')), asUpdateWorkspaceFolderData(URI.parse('foo:bar2')))); - assert.equal(3, ws.workspace.folders.length); - assert.equal(ws.workspace.folders[0].uri.toString(), URI.parse('foo:bar').toString()); - assert.equal(ws.workspace.folders[1].uri.toString(), URI.parse('foo:bar1').toString()); - assert.equal(ws.workspace.folders[2].uri.toString(), URI.parse('foo:bar2').toString()); + assert.equal(3, ws.workspace!.folders.length); + assert.equal(ws.workspace!.folders[0].uri.toString(), URI.parse('foo:bar').toString()); + assert.equal(ws.workspace!.folders[1].uri.toString(), URI.parse('foo:bar1').toString()); + assert.equal(ws.workspace!.folders[2].uri.toString(), URI.parse('foo:bar2').toString()); - const secondAddedFolder = ws.getWorkspaceFolders()[1]; - const thirdAddedFolder = ws.getWorkspaceFolders()[2]; + const secondAddedFolder = ws.getWorkspaceFolders()![1]; + const thirdAddedFolder = ws.getWorkspaceFolders()![2]; gotEvent = false; sub = ws.onDidChangeWorkspace(e => { @@ -348,18 +348,18 @@ suite('ExtHostWorkspace', function () { ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar'), 0), aWorkspaceFolderData(URI.parse('foo:bar1'), 1), aWorkspaceFolderData(URI.parse('foo:bar2'), 2)] }); // simulate acknowledgement from main side assert.equal(gotEvent, true); sub.dispose(); - assert.equal(ws.getWorkspaceFolders()[0], firstAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[1], secondAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[2], thirdAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![0], firstAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![1], secondAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![2], thirdAddedFolder); // verify object is still live // // Remove one folder // assert.equal(true, ws.updateWorkspaceFolders(extensionDescriptor, 2, 1)); - assert.equal(2, ws.workspace.folders.length); - assert.equal(ws.workspace.folders[0].uri.toString(), URI.parse('foo:bar').toString()); - assert.equal(ws.workspace.folders[1].uri.toString(), URI.parse('foo:bar1').toString()); + assert.equal(2, ws.workspace!.folders.length); + assert.equal(ws.workspace!.folders[0].uri.toString(), URI.parse('foo:bar').toString()); + assert.equal(ws.workspace!.folders[1].uri.toString(), URI.parse('foo:bar1').toString()); gotEvent = false; sub = ws.onDidChangeWorkspace(e => { @@ -375,21 +375,21 @@ suite('ExtHostWorkspace', function () { ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar'), 0), aWorkspaceFolderData(URI.parse('foo:bar1'), 1)] }); // simulate acknowledgement from main side assert.equal(gotEvent, true); sub.dispose(); - assert.equal(ws.getWorkspaceFolders()[0], firstAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[1], secondAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![0], firstAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![1], secondAddedFolder); // verify object is still live // // Rename folder // assert.equal(true, ws.updateWorkspaceFolders(extensionDescriptor, 0, 2, asUpdateWorkspaceFolderData(URI.parse('foo:bar'), 'renamed 1'), asUpdateWorkspaceFolderData(URI.parse('foo:bar1'), 'renamed 2'))); - assert.equal(2, ws.workspace.folders.length); - assert.equal(ws.workspace.folders[0].uri.toString(), URI.parse('foo:bar').toString()); - assert.equal(ws.workspace.folders[1].uri.toString(), URI.parse('foo:bar1').toString()); - assert.equal(ws.workspace.folders[0].name, 'renamed 1'); - assert.equal(ws.workspace.folders[1].name, 'renamed 2'); - assert.equal(ws.getWorkspaceFolders()[0].name, 'renamed 1'); - assert.equal(ws.getWorkspaceFolders()[1].name, 'renamed 2'); + assert.equal(2, ws.workspace!.folders.length); + assert.equal(ws.workspace!.folders[0].uri.toString(), URI.parse('foo:bar').toString()); + assert.equal(ws.workspace!.folders[1].uri.toString(), URI.parse('foo:bar1').toString()); + assert.equal(ws.workspace!.folders[0].name, 'renamed 1'); + assert.equal(ws.workspace!.folders[1].name, 'renamed 2'); + assert.equal(ws.getWorkspaceFolders()![0].name, 'renamed 1'); + assert.equal(ws.getWorkspaceFolders()![1].name, 'renamed 2'); gotEvent = false; sub = ws.onDidChangeWorkspace(e => { @@ -404,24 +404,24 @@ suite('ExtHostWorkspace', function () { ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar'), 0, 'renamed 1'), aWorkspaceFolderData(URI.parse('foo:bar1'), 1, 'renamed 2')] }); // simulate acknowledgement from main side assert.equal(gotEvent, true); sub.dispose(); - assert.equal(ws.getWorkspaceFolders()[0], firstAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[1], secondAddedFolder); // verify object is still live - assert.equal(ws.workspace.folders[0].name, 'renamed 1'); - assert.equal(ws.workspace.folders[1].name, 'renamed 2'); - assert.equal(ws.getWorkspaceFolders()[0].name, 'renamed 1'); - assert.equal(ws.getWorkspaceFolders()[1].name, 'renamed 2'); + assert.equal(ws.getWorkspaceFolders()![0], firstAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![1], secondAddedFolder); // verify object is still live + assert.equal(ws.workspace!.folders[0].name, 'renamed 1'); + assert.equal(ws.workspace!.folders[1].name, 'renamed 2'); + assert.equal(ws.getWorkspaceFolders()![0].name, 'renamed 1'); + assert.equal(ws.getWorkspaceFolders()![1].name, 'renamed 2'); // // Add and remove folders // assert.equal(true, ws.updateWorkspaceFolders(extensionDescriptor, 0, 2, asUpdateWorkspaceFolderData(URI.parse('foo:bar3')), asUpdateWorkspaceFolderData(URI.parse('foo:bar4')))); - assert.equal(2, ws.workspace.folders.length); - assert.equal(ws.workspace.folders[0].uri.toString(), URI.parse('foo:bar3').toString()); - assert.equal(ws.workspace.folders[1].uri.toString(), URI.parse('foo:bar4').toString()); + assert.equal(2, ws.workspace!.folders.length); + assert.equal(ws.workspace!.folders[0].uri.toString(), URI.parse('foo:bar3').toString()); + assert.equal(ws.workspace!.folders[1].uri.toString(), URI.parse('foo:bar4').toString()); - const fourthAddedFolder = ws.getWorkspaceFolders()[0]; - const fifthAddedFolder = ws.getWorkspaceFolders()[1]; + const fourthAddedFolder = ws.getWorkspaceFolders()![0]; + const fifthAddedFolder = ws.getWorkspaceFolders()![1]; gotEvent = false; sub = ws.onDidChangeWorkspace(e => { @@ -440,20 +440,20 @@ suite('ExtHostWorkspace', function () { ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar3'), 0), aWorkspaceFolderData(URI.parse('foo:bar4'), 1)] }); // simulate acknowledgement from main side assert.equal(gotEvent, true); sub.dispose(); - assert.equal(ws.getWorkspaceFolders()[0], fourthAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[1], fifthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![0], fourthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![1], fifthAddedFolder); // verify object is still live // // Swap folders // assert.equal(true, ws.updateWorkspaceFolders(extensionDescriptor, 0, 2, asUpdateWorkspaceFolderData(URI.parse('foo:bar4')), asUpdateWorkspaceFolderData(URI.parse('foo:bar3')))); - assert.equal(2, ws.workspace.folders.length); - assert.equal(ws.workspace.folders[0].uri.toString(), URI.parse('foo:bar4').toString()); - assert.equal(ws.workspace.folders[1].uri.toString(), URI.parse('foo:bar3').toString()); + assert.equal(2, ws.workspace!.folders.length); + assert.equal(ws.workspace!.folders[0].uri.toString(), URI.parse('foo:bar4').toString()); + assert.equal(ws.workspace!.folders[1].uri.toString(), URI.parse('foo:bar3').toString()); - assert.equal(ws.getWorkspaceFolders()[0], fifthAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[1], fourthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![0], fifthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![1], fourthAddedFolder); // verify object is still live gotEvent = false; sub = ws.onDidChangeWorkspace(e => { @@ -468,8 +468,8 @@ suite('ExtHostWorkspace', function () { ws.$acceptWorkspaceData({ id: 'foo', name: 'Test', folders: [aWorkspaceFolderData(URI.parse('foo:bar4'), 0), aWorkspaceFolderData(URI.parse('foo:bar3'), 1)] }); // simulate acknowledgement from main side assert.equal(gotEvent, true); sub.dispose(); - assert.equal(ws.getWorkspaceFolders()[0], fifthAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[1], fourthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![0], fifthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![1], fourthAddedFolder); // verify object is still live assert.equal(fifthAddedFolder.index, 0); assert.equal(fourthAddedFolder.index, 1); @@ -479,12 +479,12 @@ suite('ExtHostWorkspace', function () { assert.equal(true, ws.updateWorkspaceFolders(extensionDescriptor, 2, 0, asUpdateWorkspaceFolderData(URI.parse('foo:bar5')))); - assert.equal(3, ws.workspace.folders.length); - assert.equal(ws.workspace.folders[0].uri.toString(), URI.parse('foo:bar4').toString()); - assert.equal(ws.workspace.folders[1].uri.toString(), URI.parse('foo:bar3').toString()); - assert.equal(ws.workspace.folders[2].uri.toString(), URI.parse('foo:bar5').toString()); + assert.equal(3, ws.workspace!.folders.length); + assert.equal(ws.workspace!.folders[0].uri.toString(), URI.parse('foo:bar4').toString()); + assert.equal(ws.workspace!.folders[1].uri.toString(), URI.parse('foo:bar3').toString()); + assert.equal(ws.workspace!.folders[2].uri.toString(), URI.parse('foo:bar5').toString()); - const sixthAddedFolder = ws.getWorkspaceFolders()[2]; + const sixthAddedFolder = ws.getWorkspaceFolders()![2]; gotEvent = false; sub = ws.onDidChangeWorkspace(e => { @@ -506,9 +506,9 @@ suite('ExtHostWorkspace', function () { assert.equal(gotEvent, true); sub.dispose(); - assert.equal(ws.getWorkspaceFolders()[0], fifthAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[1], fourthAddedFolder); // verify object is still live - assert.equal(ws.getWorkspaceFolders()[2], sixthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![0], fifthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![1], fourthAddedFolder); // verify object is still live + assert.equal(ws.getWorkspaceFolders()![2], sixthAddedFolder); // verify object is still live finish(); }); diff --git a/src/vs/workbench/test/electron-browser/api/mainThreadDocumentsAndEditors.test.ts b/src/vs/workbench/test/electron-browser/api/mainThreadDocumentsAndEditors.test.ts index 6b0abfd5d04..60dfeb7108d 100644 --- a/src/vs/workbench/test/electron-browser/api/mainThreadDocumentsAndEditors.test.ts +++ b/src/vs/workbench/test/electron-browser/api/mainThreadDocumentsAndEditors.test.ts @@ -29,7 +29,7 @@ suite('MainThreadDocumentsAndEditors', () => { let deltas: IDocumentsAndEditorsDelta[] = []; const hugeModelString = new Array(2 + (50 * 1024 * 1024)).join('-'); - function myCreateTestCodeEditor(model: ITextModel): TestCodeEditor { + function myCreateTestCodeEditor(model: ITextModel | undefined): TestCodeEditor { return createTestCodeEditor({ model: model, serviceCollection: new ServiceCollection( @@ -68,12 +68,12 @@ suite('MainThreadDocumentsAndEditors', () => { textFileService, workbenchEditorService, codeEditorService, - null, + null!, fileService, - null, - null, + null!, + null!, editorGroupService, - null, + null!, new class extends mock() implements IPanelService { _serviceBrand: any; onDidPanelOpen = Event.None; @@ -95,7 +95,7 @@ suite('MainThreadDocumentsAndEditors', () => { assert.equal(deltas.length, 1); const [delta] = deltas; - assert.equal(delta.addedDocuments.length, 1); + assert.equal(delta.addedDocuments!.length, 1); assert.equal(delta.removedDocuments, undefined); assert.equal(delta.addedEditors, undefined); assert.equal(delta.removedEditors, undefined); @@ -146,7 +146,7 @@ suite('MainThreadDocumentsAndEditors', () => { }); test('ignore editor w/o model', () => { - const editor = myCreateTestCodeEditor(null); + const editor = myCreateTestCodeEditor(undefined); assert.equal(deltas.length, 1); const [delta] = deltas; assert.equal(delta.newActiveEditor, null); @@ -166,13 +166,13 @@ suite('MainThreadDocumentsAndEditors', () => { assert.equal(deltas.length, 2); const [first, second] = deltas; - assert.equal(first.addedDocuments.length, 1); + assert.equal(first.addedDocuments!.length, 1); assert.equal(first.newActiveEditor, null); assert.equal(first.removedDocuments, undefined); assert.equal(first.addedEditors, undefined); assert.equal(first.removedEditors, undefined); - assert.equal(second.addedEditors.length, 1); + assert.equal(second.addedEditors!.length, 1); assert.equal(second.addedDocuments, undefined); assert.equal(second.removedDocuments, undefined); assert.equal(second.removedEditors, undefined); @@ -194,8 +194,8 @@ suite('MainThreadDocumentsAndEditors', () => { const [first] = deltas; assert.equal(first.newActiveEditor, null); - assert.equal(first.removedEditors.length, 1); - assert.equal(first.removedDocuments.length, 1); + assert.equal(first.removedEditors!.length, 1); + assert.equal(first.removedDocuments!.length, 1); assert.equal(first.addedDocuments, undefined); assert.equal(first.addedEditors, undefined); diff --git a/src/vs/workbench/test/workbenchTestServices.ts b/src/vs/workbench/test/workbenchTestServices.ts index f7f05c56919..8b51c7ab149 100644 --- a/src/vs/workbench/test/workbenchTestServices.ts +++ b/src/vs/workbench/test/workbenchTestServices.ts @@ -62,7 +62,7 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IDecorationsService, IResourceDecorationChangeEvent, IDecoration, IDecorationData, IDecorationsProvider } from 'vs/workbench/services/decorations/browser/decorations'; import { IDisposable, toDisposable, Disposable } from 'vs/base/common/lifecycle'; import { IEditorGroupsService, IEditorGroup, GroupsOrder, GroupsArrangement, GroupDirection, IAddGroupOptions, IMergeGroupOptions, IMoveEditorOptions, ICopyEditorOptions, IEditorReplacement, IGroupChangeEvent, EditorsOrder, IFindGroupScope, EditorGroupLayout } from 'vs/workbench/services/editor/common/editorGroupsService'; -import { IEditorService, IOpenEditorOverrideHandler } from 'vs/workbench/services/editor/common/editorService'; +import { IEditorService, IOpenEditorOverrideHandler, IActiveEditor } from 'vs/workbench/services/editor/common/editorService'; import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService'; import { ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser'; import { IDecorationRenderOptions } from 'vs/editor/common/editorCommon'; @@ -730,7 +730,7 @@ export class TestEditorService implements EditorServiceImpl { onDidCloseEditor: Event = Event.None; onDidOpenEditorFail: Event = Event.None; - activeControl: IEditor; + activeControl: IActiveEditor; activeTextEditorWidget: any; activeEditor: IEditorInput; editors: ReadonlyArray = []; -- GitLab