Skip to content

Commit 84b4f67

Browse files
committed
Completing Namespace completions
1 parent f47ae9d commit 84b4f67

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed

src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ private static CompletionItem CreateCompletionItem(
252252
switch (completionDetails.CompletionType)
253253
{
254254
case CompletionType.Type:
255+
case CompletionType.Namespace:
255256
case CompletionType.ParameterValue:
256257
case CompletionType.Method:
257258
case CompletionType.Property:
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//
2+
// Copyright (c) Microsoft. All rights reserved.
3+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
4+
//
5+
6+
using Microsoft.PowerShell.EditorServices.Services.TextDocument;
7+
8+
namespace Microsoft.PowerShell.EditorServices.Test.Shared.Completion
9+
{
10+
internal class CompleteNamespace
11+
{
12+
public static readonly ScriptRegion SourceDetails =
13+
new ScriptRegion(
14+
file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"),
15+
text: string.Empty,
16+
startLineNumber: 21,
17+
startColumnNumber: 25,
18+
startOffset: 0,
19+
endLineNumber: 0,
20+
endColumnNumber: 0,
21+
endOffset: 0);
22+
23+
public static readonly CompletionDetails ExpectedCompletion =
24+
CompletionDetails.Create(
25+
"System.Collections",
26+
CompletionType.Namespace,
27+
"System.Collections"
28+
);
29+
}
30+
}

test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,29 @@ await this.GetCompletionResults(
115115
Assert.NotNull(completionResults.Completions[0].ToolTipText);
116116
}
117117

118+
[Trait("Category", "Completions")]
119+
[Fact]
120+
public async Task LanguageServiceCompletesNamespace()
121+
{
122+
CompletionResults completionResults =
123+
await this.GetCompletionResults(
124+
CompleteNamespace.SourceDetails);
125+
126+
Assert.NotEmpty(completionResults.Completions);
127+
128+
Assert.Equal(
129+
CompleteNamespace.ExpectedCompletion.CompletionText,
130+
completionResults.Completions[0].CompletionText
131+
);
132+
133+
Assert.Equal(
134+
CompleteNamespace.ExpectedCompletion.CompletionType,
135+
completionResults.Completions[0].CompletionType
136+
);
137+
138+
Assert.NotNull(completionResults.Completions[0].ToolTipText);
139+
}
140+
118141
[Trait("Category", "Completions")]
119142
[Fact]
120143
public async Task LanguageServiceCompletesVariableInFile()

0 commit comments

Comments
 (0)