From 7c51d23c2d4d2f4cbd4cedce54f3035cc9b57b3a Mon Sep 17 00:00:00 2001 From: Jonathon Marolf Date: Mon, 14 Mar 2016 15:16:32 -0700 Subject: [PATCH] adding test --- .../Test2/EditorServicesTest2.vbproj | 1 + .../IntelliSense/CompletionServiceTests.vb | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 src/EditorFeatures/Test2/IntelliSense/CompletionServiceTests.vb diff --git a/src/EditorFeatures/Test2/EditorServicesTest2.vbproj b/src/EditorFeatures/Test2/EditorServicesTest2.vbproj index d1ecaaa9355..195ee8e85bd 100644 --- a/src/EditorFeatures/Test2/EditorServicesTest2.vbproj +++ b/src/EditorFeatures/Test2/EditorServicesTest2.vbproj @@ -167,6 +167,7 @@ + diff --git a/src/EditorFeatures/Test2/IntelliSense/CompletionServiceTests.vb b/src/EditorFeatures/Test2/IntelliSense/CompletionServiceTests.vb new file mode 100644 index 00000000000..a1b8577e0db --- /dev/null +++ b/src/EditorFeatures/Test2/IntelliSense/CompletionServiceTests.vb @@ -0,0 +1,52 @@ +' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +Imports System.Globalization +Imports System.Threading.Tasks +Imports Microsoft.CodeAnalysis.Completion +Imports Microsoft.CodeAnalysis.CSharp.Completion +Imports Microsoft.CodeAnalysis.CSharp.Completion.Providers +Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces +Imports Microsoft.CodeAnalysis.Options +Imports Microsoft.CodeAnalysis.Text + +Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense + Public Class CompletionServiceTests + + Public Async Function TestComplemtionDoesNotCrashWhenSyntaxTreeNotPresent() As Task + Dim workspaceDefinition = + + + + var x = {}; // e.g., TypeScript code or anything else that doesn't support compilations + + + + Using workspace = Await TestWorkspace.CreateAsync(workspaceDefinition) + Dim document = workspace.CurrentSolution.Projects.First.Documents.First + Dim completionService As AbstractCompletionService = New CSharpCompletionService() + Dim list = Await completionService.GetCompletionListAsync( + document:=document, + position:=0, + triggerInfo:=CompletionTriggerInfo.CreateInvokeCompletionTriggerInfo(), + options:=Nothing, + providers:={New TestCompletionProvider()}, + cancellationToken:=Nothing) + Assert.Null(list) + End Using + End Function + + Private Class TestCompletionProvider + Inherits CompletionListProvider + Public Sub New() + End Sub + + Public Overrides Function IsTriggerCharacter(text As SourceText, characterPosition As Int32, options As OptionSet) As [Boolean] + Return True + End Function + + Public Overrides Function ProduceCompletionListAsync(context As CompletionListContext) As Task + Return Task.CompletedTask + End Function + End Class + End Class +End Namespace \ No newline at end of file -- GitLab