From 4fc43f00e0cc4dfb1b7cb89ac3325c6e8be5a188 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 12:21:15 -0500 Subject: [PATCH 01/20] Should improve type completion --- .../Services/TextDocument/Handlers/CompletionHandler.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs index 421f766a3..103f3651a 100644 --- a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs +++ b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs @@ -251,6 +251,7 @@ private static CompletionItem CreateCompletionItem( switch (completionDetails.CompletionType) { + case CompletionType.Type: case CompletionType.ParameterValue: case CompletionType.Method: case CompletionType.Property: From c3ca4c00d8b316ad798f07d7746973fc48eb272b Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 14:19:57 -0500 Subject: [PATCH 02/20] New Class for type name completion test --- .../Completion/CompleteTypeName.cs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs new file mode 100644 index 000000000..902916689 --- /dev/null +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -0,0 +1,37 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +using System; +using Microsoft.PowerShell.EditorServices.Services.TextDocument; + +namespace Microsoft.PowerShell.EditorServices.Test.Shared.Completion +{ + internal class CompleteTypeName + { + private static readonly string[] s_systemcollectiontypes = { + "System.Collections.ArrayList", + "System.Collections.BitArray", + "System.Collections.CaseInsensitiveComparer", + "System.Collections.CaseInsensitiveHashCodeProvider" + } + + public static readonly scriptregion SourceDetails = + new scriptregion( + file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), + text: string.Empty, + startLineNumber: 21, + startColumnNumber: 21, + startOffset: 0, + endLineNumber: 0, + endColumnNumber: 0, + endOffset: 0); + + public static readonly CompletionDetails ExpectedCompletion = + CompletionDetails.Create( + "ArrayList", + CompletionType.Type, + string.join(Environment.NewLine + Environment.NewLine, s_systemcollectiontypes) + ) +} From 51357784c9afee36fd7c48b30f225fba3d338352 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 14:27:54 -0500 Subject: [PATCH 03/20] New test for type name completion --- .../Completion/CompleteTypeName.cs | 2 +- .../Language/LanguageServiceTests.cs | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index 902916689..aee4a5237 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -30,7 +30,7 @@ internal class CompleteTypeName public static readonly CompletionDetails ExpectedCompletion = CompletionDetails.Create( - "ArrayList", + "System.Collections.ArrayList", CompletionType.Type, string.join(Environment.NewLine + Environment.NewLine, s_systemcollectiontypes) ) diff --git a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs index 346fdd841..ae5bc1e5f 100644 --- a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs +++ b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs @@ -92,6 +92,29 @@ await this.GetCompletionResults( Assert.NotNull(completionResults.Completions[0].ToolTipText); } + [Trait("Category", "Completions")] + [Fact] + public async Task LanguageServiceCompletesTypeName() + { + CompletionResults completionResults = + await this.GetCompletionResults( + CompleteTypeName.SourceDetails); + + Assert.NotEmpty(completionResults.Completions); + + Assert.Equal( + CompleteTypeName.ExpectedCompletion.CompletionText, + completionResults.Completions[0].CompletionText + ); + + Assert.Equal( + CompleteTypeNameExpectedCompletion.CompletionType, + completionResults.Completions[0].CompletionType + ); + + Assert.NotNull(completionResults.Completions[0].ToolTipText); + } + [Trait("Category", "Completions")] [Fact] public async Task LanguageServiceCompletesVariableInFile() From 3621114ba8cae3fc8886a5d823c4a8f48a7bfa2d Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 14:30:51 -0500 Subject: [PATCH 04/20] type name completion example --- .../Completion/CompletionExamples.psm1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 index ee3dd9098..30c504de8 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 @@ -17,3 +17,5 @@ function Test-Completion { } Get-ChildItem / + +[System.Collections.] From b780ecc072a1112e5d23a65cfd145d59acc6f1b4 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 14:49:25 -0500 Subject: [PATCH 05/20] semicolons and barce mismatches --- .../Completion/CompleteTypeName.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index aee4a5237..ac6e392cb 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -15,7 +15,7 @@ internal class CompleteTypeName "System.Collections.BitArray", "System.Collections.CaseInsensitiveComparer", "System.Collections.CaseInsensitiveHashCodeProvider" - } + }; public static readonly scriptregion SourceDetails = new scriptregion( @@ -33,5 +33,6 @@ internal class CompleteTypeName "System.Collections.ArrayList", CompletionType.Type, string.join(Environment.NewLine + Environment.NewLine, s_systemcollectiontypes) - ) + ); + } } From c68615205555c412b91c341abc2c0ddafd8fd079 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 14:51:22 -0500 Subject: [PATCH 06/20] Case sensitivity --- .../Completion/CompleteTypeName.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index ac6e392cb..35dd91429 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -17,8 +17,8 @@ internal class CompleteTypeName "System.Collections.CaseInsensitiveHashCodeProvider" }; - public static readonly scriptregion SourceDetails = - new scriptregion( + public static readonly ScriptRegion SourceDetails = + new ScriptRegion( file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), text: string.Empty, startLineNumber: 21, From b4879be481830c75c4ed2d0f8459985c881d1405 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 14:54:13 -0500 Subject: [PATCH 07/20] methods are case sensitive, too! --- .../Completion/CompleteTypeName.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index 35dd91429..e0502a40f 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -32,7 +32,7 @@ internal class CompleteTypeName CompletionDetails.Create( "System.Collections.ArrayList", CompletionType.Type, - string.join(Environment.NewLine + Environment.NewLine, s_systemcollectiontypes) + string.Join(Environment.NewLine + Environment.NewLine, s_systemcollectiontypes) ); } } From b50fc95f86b5b61eaf6a22030f05ede3b514fbb0 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 15:05:40 -0500 Subject: [PATCH 08/20] dots count! --- .../Language/LanguageServiceTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs index ae5bc1e5f..f103a0a0b 100644 --- a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs +++ b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs @@ -108,7 +108,7 @@ await this.GetCompletionResults( ); Assert.Equal( - CompleteTypeNameExpectedCompletion.CompletionType, + CompleteTypeName.ExpectedCompletion.CompletionType, completionResults.Completions[0].CompletionType ); From 9a6e1b9917ba146a09ced4afab6d89d423234de6 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Fri, 21 Aug 2020 15:30:44 -0500 Subject: [PATCH 09/20] better test example --- .../Completion/CompleteTypeName.cs | 11 ++--------- .../Completion/CompletionExamples.psm1 | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index e0502a40f..97178c354 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -10,13 +10,6 @@ namespace Microsoft.PowerShell.EditorServices.Test.Shared.Completion { internal class CompleteTypeName { - private static readonly string[] s_systemcollectiontypes = { - "System.Collections.ArrayList", - "System.Collections.BitArray", - "System.Collections.CaseInsensitiveComparer", - "System.Collections.CaseInsensitiveHashCodeProvider" - }; - public static readonly ScriptRegion SourceDetails = new ScriptRegion( file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), @@ -30,9 +23,9 @@ internal class CompleteTypeName public static readonly CompletionDetails ExpectedCompletion = CompletionDetails.Create( - "System.Collections.ArrayList", + "ArrayList", CompletionType.Type, - string.Join(Environment.NewLine + Environment.NewLine, s_systemcollectiontypes) + "System.Collections.ArrayList" ); } } diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 index 30c504de8..4635fbfda 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 @@ -18,4 +18,4 @@ function Test-Completion { Get-ChildItem / -[System.Collections.] +[System.Collections.ArrayLi] From 481c4c131d9337502275e05420ef39858a99c03d Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Mon, 24 Aug 2020 15:06:49 -0500 Subject: [PATCH 10/20] added more characters. Test still not passing --- .../Completion/CompleteTypeName.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index 97178c354..7c14073c8 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -3,7 +3,6 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. // -using System; using Microsoft.PowerShell.EditorServices.Services.TextDocument; namespace Microsoft.PowerShell.EditorServices.Test.Shared.Completion @@ -15,7 +14,7 @@ internal class CompleteTypeName file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), text: string.Empty, startLineNumber: 21, - startColumnNumber: 21, + startColumnNumber: 27, startOffset: 0, endLineNumber: 0, endColumnNumber: 0, From 0caf9781d43c38142d241e0c32ece189e06832f7 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Mon, 24 Aug 2020 16:42:44 -0500 Subject: [PATCH 11/20] Tyler's suggestions for the test criteria (it works for him) --- .../Completion/CompleteTypeName.cs | 2 +- .../Completion/CompletionExamples.psm1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index 7c14073c8..ab3d857e3 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -14,7 +14,7 @@ internal class CompleteTypeName file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), text: string.Empty, startLineNumber: 21, - startColumnNumber: 27, + startColumnNumber: 25, startOffset: 0, endLineNumber: 0, endColumnNumber: 0, diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 index 4635fbfda..e3a6fa099 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 @@ -18,4 +18,4 @@ function Test-Completion { Get-ChildItem / -[System.Collections.ArrayLi] +[System.Collections.ArrayList].GetType() From f47ae9da1ff79f4aae8e572f359cc08326a564ad Mon Sep 17 00:00:00 2001 From: Tyler James Leonhardt Date: Mon, 24 Aug 2020 18:25:51 -0700 Subject: [PATCH 12/20] the whole type name --- .../Completion/CompleteTypeName.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs index ab3d857e3..bcb2cda0c 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteTypeName.cs @@ -22,7 +22,7 @@ internal class CompleteTypeName public static readonly CompletionDetails ExpectedCompletion = CompletionDetails.Create( - "ArrayList", + "System.Collections.ArrayList", CompletionType.Type, "System.Collections.ArrayList" ); From 84b4f67effe3619c7038c378e7624f1721b42b14 Mon Sep 17 00:00:00 2001 From: JB Lewis Date: Tue, 25 Aug 2020 12:45:56 -0500 Subject: [PATCH 13/20] Completing Namespace completions --- .../Handlers/CompletionHandler.cs | 1 + .../Completion/CompleteNamespace.cs | 30 +++++++++++++++++++ .../Language/LanguageServiceTests.cs | 23 ++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs diff --git a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs index 103f3651a..188a97ce3 100644 --- a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs +++ b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs @@ -252,6 +252,7 @@ private static CompletionItem CreateCompletionItem( switch (completionDetails.CompletionType) { case CompletionType.Type: + case CompletionType.Namespace: case CompletionType.ParameterValue: case CompletionType.Method: case CompletionType.Property: diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs new file mode 100644 index 000000000..a628fc7ff --- /dev/null +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs @@ -0,0 +1,30 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +using Microsoft.PowerShell.EditorServices.Services.TextDocument; + +namespace Microsoft.PowerShell.EditorServices.Test.Shared.Completion +{ + internal class CompleteNamespace + { + public static readonly ScriptRegion SourceDetails = + new ScriptRegion( + file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), + text: string.Empty, + startLineNumber: 21, + startColumnNumber: 25, + startOffset: 0, + endLineNumber: 0, + endColumnNumber: 0, + endOffset: 0); + + public static readonly CompletionDetails ExpectedCompletion = + CompletionDetails.Create( + "System.Collections", + CompletionType.Namespace, + "System.Collections" + ); + } +} diff --git a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs index f103a0a0b..6d2940f69 100644 --- a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs +++ b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs @@ -115,6 +115,29 @@ await this.GetCompletionResults( Assert.NotNull(completionResults.Completions[0].ToolTipText); } + [Trait("Category", "Completions")] + [Fact] + public async Task LanguageServiceCompletesNamespace() + { + CompletionResults completionResults = + await this.GetCompletionResults( + CompleteNamespace.SourceDetails); + + Assert.NotEmpty(completionResults.Completions); + + Assert.Equal( + CompleteNamespace.ExpectedCompletion.CompletionText, + completionResults.Completions[0].CompletionText + ); + + Assert.Equal( + CompleteNamespace.ExpectedCompletion.CompletionType, + completionResults.Completions[0].CompletionType + ); + + Assert.NotNull(completionResults.Completions[0].ToolTipText); + } + [Trait("Category", "Completions")] [Fact] public async Task LanguageServiceCompletesVariableInFile() From 4d1ee82cc0007566cc227614ff4ae04b9ff5a978 Mon Sep 17 00:00:00 2001 From: Tyler James Leonhardt Date: Tue, 25 Aug 2020 12:41:44 -0700 Subject: [PATCH 14/20] make 25 15 for namespace --- .../Completion/CompleteNamespace.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs index a628fc7ff..b23b6d95d 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs @@ -14,7 +14,7 @@ internal class CompleteNamespace file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), text: string.Empty, startLineNumber: 21, - startColumnNumber: 25, + startColumnNumber: 15, startOffset: 0, endLineNumber: 0, endColumnNumber: 0, From afa88fa36fdcf657abc66f75190271fba751a1f9 Mon Sep 17 00:00:00 2001 From: Tyler James Leonhardt Date: Tue, 8 Sep 2020 14:31:02 -0700 Subject: [PATCH 15/20] try this with the namespace test --- .../Completion/CompletionExamples.psm1 | 1 + 1 file changed, 1 insertion(+) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 index e3a6fa099..a4ce41222 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompletionExamples.psm1 @@ -19,3 +19,4 @@ function Test-Completion { Get-ChildItem / [System.Collections.ArrayList].GetType() +[System.Collect From dfc4c8fa1bb1f2f5dc421dfdeba44817fc0b43d7 Mon Sep 17 00:00:00 2001 From: Tyler James Leonhardt Date: Tue, 8 Sep 2020 14:31:51 -0700 Subject: [PATCH 16/20] rev line number --- .../Completion/CompleteNamespace.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs index b23b6d95d..5a0e3bb7c 100644 --- a/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs +++ b/test/PowerShellEditorServices.Test.Shared/Completion/CompleteNamespace.cs @@ -13,7 +13,7 @@ internal class CompleteNamespace new ScriptRegion( file: TestUtilities.NormalizePath("Completion/CompletionExamples.psm1"), text: string.Empty, - startLineNumber: 21, + startLineNumber: 22, startColumnNumber: 15, startOffset: 0, endLineNumber: 0, From 98011567bfdedc1d1951e763b1832c6b3cc7bb29 Mon Sep 17 00:00:00 2001 From: Tyler James Leonhardt Date: Tue, 8 Sep 2020 15:20:40 -0700 Subject: [PATCH 17/20] Don't use GetTypeInfo() --- .../Services/Symbols/Vistors/AstOperations.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PowerShellEditorServices/Services/Symbols/Vistors/AstOperations.cs b/src/PowerShellEditorServices/Services/Symbols/Vistors/AstOperations.cs index 50c7c4155..1ed34dc96 100644 --- a/src/PowerShellEditorServices/Services/Symbols/Vistors/AstOperations.cs +++ b/src/PowerShellEditorServices/Services/Symbols/Vistors/AstOperations.cs @@ -25,7 +25,7 @@ internal static class AstOperations { // TODO: When netstandard is upgraded to 2.0, see if // Delegate.CreateDelegate can be used here instead - private static readonly MethodInfo s_extentCloneWithNewOffset = typeof(PSObject).GetTypeInfo().Assembly + private static readonly MethodInfo s_extentCloneWithNewOffset = typeof(PSObject).Assembly .GetType("System.Management.Automation.Language.InternalScriptPosition") .GetMethod("CloneWithNewOffset", BindingFlags.Instance | BindingFlags.NonPublic); From 3fd2a06ddbd8ce6a79dd8940874f65e6385cc8ee Mon Sep 17 00:00:00 2001 From: "Tyler Leonhardt (POWERSHELL)" Date: Wed, 9 Sep 2020 11:06:19 -0700 Subject: [PATCH 18/20] skip on windows powershell --- .../Language/LanguageServiceTests.cs | 36 ++++++++++++------- .../PowerShellEditorServices.Test.csproj | 1 + 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs index 6d2940f69..975916a30 100644 --- a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs +++ b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs @@ -3,6 +3,18 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. // +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.PowerShell.EditorServices.Handlers; +using Microsoft.PowerShell.EditorServices.Services; +using Microsoft.PowerShell.EditorServices.Services.Symbols; +using Microsoft.PowerShell.EditorServices.Services.TextDocument; +using Microsoft.PowerShell.EditorServices.Test.Shared; using Microsoft.PowerShell.EditorServices.Test.Shared.Completion; using Microsoft.PowerShell.EditorServices.Test.Shared.Definition; using Microsoft.PowerShell.EditorServices.Test.Shared.Occurrences; @@ -10,18 +22,8 @@ using Microsoft.PowerShell.EditorServices.Test.Shared.References; using Microsoft.PowerShell.EditorServices.Test.Shared.SymbolDetails; using Microsoft.PowerShell.EditorServices.Test.Shared.Symbols; -using System; -using System.IO; -using System.Linq; -using System.Threading.Tasks; using Xunit; -using Microsoft.PowerShell.EditorServices.Services; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.PowerShell.EditorServices.Services.TextDocument; -using Microsoft.PowerShell.EditorServices.Services.Symbols; -using System.Collections.Generic; -using Microsoft.PowerShell.EditorServices.Handlers; -using System.Runtime.InteropServices; +using Xunit.Abstractions; namespace Microsoft.PowerShell.EditorServices.Test.Language { @@ -93,9 +95,13 @@ await this.GetCompletionResults( } [Trait("Category", "Completions")] - [Fact] + [SkippableFact] public async Task LanguageServiceCompletesTypeName() { + Skip.If( + TestsFixture.IsWindowsPowerShell, + "Windows PowerShell return no results from CommandCompletion in the test harness. Since it works in PS7 and works manually when I run the extension, I'm skipping this test"); + CompletionResults completionResults = await this.GetCompletionResults( CompleteTypeName.SourceDetails); @@ -116,9 +122,13 @@ await this.GetCompletionResults( } [Trait("Category", "Completions")] - [Fact] + [SkippableFact] public async Task LanguageServiceCompletesNamespace() { + Skip.If( + TestsFixture.IsWindowsPowerShell, + "Windows PowerShell return no results from CommandCompletion in the test harness. Since it works in PS7 and works manually when I run the extension, I'm skipping this test"); + CompletionResults completionResults = await this.GetCompletionResults( CompleteNamespace.SourceDetails); diff --git a/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj b/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj index 61ccf16d2..eff735d39 100644 --- a/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj +++ b/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj @@ -3,6 +3,7 @@ net5.0;netcoreapp3.1;net461 Microsoft.PowerShell.EditorServices.Test + x64 true From 0ad0843bbecdc6f1170fb40088c395565bd253cd Mon Sep 17 00:00:00 2001 From: "Tyler Leonhardt (POWERSHELL)" Date: Wed, 9 Sep 2020 11:14:15 -0700 Subject: [PATCH 19/20] add skippable fact --- .../PowerShellEditorServices.Test.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj b/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj index eff735d39..2d0796479 100644 --- a/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj +++ b/test/PowerShellEditorServices.Test/PowerShellEditorServices.Test.csproj @@ -29,6 +29,7 @@ + From d5ac3796e29c023cbc24e3f50a8722c625af3906 Mon Sep 17 00:00:00 2001 From: "Tyler Leonhardt (POWERSHELL)" Date: Wed, 9 Sep 2020 11:21:23 -0700 Subject: [PATCH 20/20] add versionutils --- .../Language/LanguageServiceTests.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs index 975916a30..63e5a126d 100644 --- a/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs +++ b/test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs @@ -22,6 +22,7 @@ using Microsoft.PowerShell.EditorServices.Test.Shared.References; using Microsoft.PowerShell.EditorServices.Test.Shared.SymbolDetails; using Microsoft.PowerShell.EditorServices.Test.Shared.Symbols; +using Microsoft.PowerShell.EditorServices.Utility; using Xunit; using Xunit.Abstractions; @@ -35,7 +36,7 @@ public class LanguageServiceTests : IDisposable private readonly PowerShellContextService powerShellContext; private static readonly string s_baseSharedScriptPath = Path.Combine( - Path.GetDirectoryName(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) + Path.GetDirectoryName(VersionUtils.IsWindows // On non-Windows platforms, CodeBase has file:// in it. // On Windows, Location points to a temp directory. ? typeof(LanguageServiceTests).Assembly.CodeBase @@ -99,7 +100,7 @@ await this.GetCompletionResults( public async Task LanguageServiceCompletesTypeName() { Skip.If( - TestsFixture.IsWindowsPowerShell, + !VersionUtils.IsNetCore, "Windows PowerShell return no results from CommandCompletion in the test harness. Since it works in PS7 and works manually when I run the extension, I'm skipping this test"); CompletionResults completionResults = @@ -126,7 +127,7 @@ await this.GetCompletionResults( public async Task LanguageServiceCompletesNamespace() { Skip.If( - TestsFixture.IsWindowsPowerShell, + !VersionUtils.IsNetCore, "Windows PowerShell return no results from CommandCompletion in the test harness. Since it works in PS7 and works manually when I run the extension, I'm skipping this test"); CompletionResults completionResults =