diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpQuickInfo.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpQuickInfo.cs deleted file mode 100644 index e5d08079ae65b..0000000000000 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpQuickInfo.cs +++ /dev/null @@ -1,98 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -#nullable disable - -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.VisualStudio.IntegrationTest.Utilities; -using Roslyn.Test.Utilities; -using Xunit; -using Xunit.Abstractions; - -namespace Roslyn.VisualStudio.IntegrationTests.CSharp -{ - [Collection(nameof(SharedIntegrationHostFixture))] - public class CSharpQuickInfo : AbstractEditorTest - { - protected override string LanguageName => LanguageNames.CSharp; - - public CSharpQuickInfo(VisualStudioInstanceFactory instanceFactory) - : base(instanceFactory, nameof(CSharpQuickInfo)) - { - } - - [WpfFact(Skip = "https://github.com/dotnet/roslyn/issues/38301"), Trait(Traits.Feature, Traits.Features.QuickInfo)] - public void QuickInfo_MetadataDocumentation() - { - SetUpEditor(@" -///Hello! -class Program -{ - static void Main(string$$[] args) - { - } -}"); - VisualStudio.Editor.InvokeQuickInfo(); - Assert.Equal( - "class System.String\r\nRepresents text as a sequence of UTF-16 code units.To browse the .NET Framework source code for this type, see the Reference Source.", - VisualStudio.Editor.GetQuickInfo()); - } - - [WpfFact(Skip = "https://github.com/dotnet/roslyn/issues/62280"), Trait(Traits.Feature, Traits.Features.QuickInfo), Trait(Traits.Editor, Traits.Editors.LanguageServerProtocol)] - public void QuickInfo_Documentation() - { - SetUpEditor(@" -///Hello! -class Program$$ -{ - static void Main(string[] args) - { - } -}"); - VisualStudio.Editor.InvokeQuickInfo(); - Assert.Equal("class Program\r\nHello!", VisualStudio.Editor.GetQuickInfo()); - } - - [WpfFact(Skip = "https://github.com/dotnet/roslyn/issues/62280"), Trait(Traits.Feature, Traits.Features.QuickInfo), Trait(Traits.Editor, Traits.Editors.LanguageServerProtocol)] - public void International() - { - SetUpEditor(@" -/// -/// This is an XML doc comment defined in code. -/// -class العربية123 -{ - static void Main() - { - العربية123$$ goo; - } -}"); - VisualStudio.Editor.InvokeQuickInfo(); - Assert.Equal(@"class العربية123 -This is an XML doc comment defined in code.", VisualStudio.Editor.GetQuickInfo()); - } - - [WpfFact(Skip = "https://github.com/dotnet/roslyn/issues/62280"), Trait(Traits.Feature, Traits.Features.QuickInfo), Trait(Traits.Editor, Traits.Editors.LanguageServerProtocol)] - public void SectionOrdering() - { - SetUpEditor(@" -using System; -using System.Threading.Tasks; - -class C -{ - /// - async Task M() - { - return await M$$(); - } - }"); - - VisualStudio.Editor.InvokeQuickInfo(); - var expected = "(awaitable) Task C.M()\r\n\r\nExceptions:\r\n Exception"; - Assert.Equal(expected, VisualStudio.Editor.GetQuickInfo()); - } - } -} diff --git a/src/VisualStudio/IntegrationTest/New.IntegrationTests/CSharp/CSharpQuickInfo.cs b/src/VisualStudio/IntegrationTest/New.IntegrationTests/CSharp/CSharpQuickInfo.cs new file mode 100644 index 0000000000000..6ce9a4e975db3 --- /dev/null +++ b/src/VisualStudio/IntegrationTest/New.IntegrationTests/CSharp/CSharpQuickInfo.cs @@ -0,0 +1,101 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Threading.Tasks; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.VisualStudio.IntegrationTest.Utilities; +using Roslyn.Test.Utilities; +using Xunit; +using Xunit.Abstractions; + +namespace Roslyn.VisualStudio.IntegrationTests.CSharp +{ + [Trait(Traits.Feature, Traits.Features.QuickInfo)] + public class CSharpQuickInfo : AbstractEditorTest + { + protected override string LanguageName => LanguageNames.CSharp; + + public CSharpQuickInfo() + : base(nameof(CSharpQuickInfo)) + { + } + + [IdeFact] + public async Task QuickInfo_MetadataDocumentation() + { + await SetUpEditorAsync(@" +///Hello! +class Program +{ + static void Main(string$$[] args) + { + } +}", HangMitigatingCancellationToken); + await TestServices.Editor.InvokeQuickInfoAsync(HangMitigatingCancellationToken); + var quickInfo = await TestServices.Editor.GetQuickInfoAsync(HangMitigatingCancellationToken); + Assert.Equal( + "class System.String\r\nRepresents text as a sequence of UTF-16 code units.To browse the .NET Framework source code for this type, see the Reference Source.", + quickInfo); + } + + [IdeFact, Trait(Traits.Editor, Traits.Editors.LanguageServerProtocol)] + public async Task QuickInfo_Documentation() + { + await SetUpEditorAsync(@" +///Hello! +class Program$$ +{ + static void Main(string[] args) + { + } +}", HangMitigatingCancellationToken); + await TestServices.Editor.InvokeQuickInfoAsync(HangMitigatingCancellationToken); + var quickInfo = await TestServices.Editor.GetQuickInfoAsync(HangMitigatingCancellationToken); + Assert.Equal("class Program\r\nHello!", quickInfo); + } + + [IdeFact, Trait(Traits.Editor, Traits.Editors.LanguageServerProtocol)] + public async Task International() + { + await SetUpEditorAsync(@" +/// +/// This is an XML doc comment defined in code. +/// +class العربية123 +{ + static void Main() + { + العربية123$$ goo; + } +}", HangMitigatingCancellationToken); + await TestServices.Editor.InvokeQuickInfoAsync(HangMitigatingCancellationToken); + var quickInfo = await TestServices.Editor.GetQuickInfoAsync(HangMitigatingCancellationToken); + Assert.Equal(@"class العربية123 +This is an XML doc comment defined in code.", quickInfo); + } + + [IdeFact, Trait(Traits.Editor, Traits.Editors.LanguageServerProtocol)] + public async Task SectionOrdering() + { + await SetUpEditorAsync(@" +using System; +using System.Threading.Tasks; + +class C +{ + /// + async Task M() + { + return await M$$(); + } + }", HangMitigatingCancellationToken); + + await TestServices.Editor.InvokeQuickInfoAsync(HangMitigatingCancellationToken); + var quickInfo = await TestServices.Editor.GetQuickInfoAsync(HangMitigatingCancellationToken); + var expected = "(awaitable) Task C.M()\r\n\r\nExceptions:\r\n Exception"; + Assert.Equal(expected, quickInfo); + } + } +} diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicQuickInfo.cs b/src/VisualStudio/IntegrationTest/New.IntegrationTests/VisualBasic/BasicQuickInfo.cs similarity index 56% rename from src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicQuickInfo.cs rename to src/VisualStudio/IntegrationTest/New.IntegrationTests/VisualBasic/BasicQuickInfo.cs index 75ea31a4311df..7b5ed64afe27c 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicQuickInfo.cs +++ b/src/VisualStudio/IntegrationTest/New.IntegrationTests/VisualBasic/BasicQuickInfo.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.Threading.Tasks; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Test.Utilities; using Microsoft.VisualStudio.IntegrationTest.Utilities; @@ -11,34 +12,34 @@ namespace Roslyn.VisualStudio.IntegrationTests.VisualBasic { - [Collection(nameof(SharedIntegrationHostFixture))] [Trait(Traits.Feature, Traits.Features.QuickInfo)] public class BasicQuickInfo : AbstractEditorTest { protected override string LanguageName => LanguageNames.VisualBasic; - public BasicQuickInfo(VisualStudioInstanceFactory instanceFactory) - : base(instanceFactory, nameof(BasicQuickInfo)) + public BasicQuickInfo() + : base(nameof(BasicQuickInfo)) { } - [WpfFact(Skip = "https://github.com/dotnet/roslyn/issues/38301")] - public void QuickInfo1() + [IdeFact] + public async Task QuickInfo1() { - SetUpEditor(@" + await SetUpEditorAsync(@" ''' Hello! Class Program Sub Main(ByVal args As String$$()) End Sub -End Class"); - VisualStudio.Editor.InvokeQuickInfo(); - Assert.Equal("Class System.String\r\nRepresents text as a sequence of UTF-16 code units.To browse the .NET Framework source code for this type, see the Reference Source.", VisualStudio.Editor.GetQuickInfo()); +End Class", HangMitigatingCancellationToken); + await TestServices.Editor.InvokeQuickInfoAsync(HangMitigatingCancellationToken); + var quickInfo = await TestServices.Editor.GetQuickInfoAsync(HangMitigatingCancellationToken); + Assert.Equal("Class System.String\r\nRepresents text as a sequence of UTF-16 code units.To browse the .NET Framework source code for this type, see the Reference Source.", quickInfo); } - [WpfFact(Skip = "https://github.com/dotnet/roslyn/issues/62280")] - public void International() + [IdeFact] + public async Task International() { - SetUpEditor(@" + await SetUpEditorAsync(@" ''' ''' This is an XML doc comment defined in code. ''' @@ -46,10 +47,11 @@ Class العربية123 Shared Sub Goo() Dim goo as العربية123$$ End Sub -End Class"); - VisualStudio.Editor.InvokeQuickInfo(); +End Class", HangMitigatingCancellationToken); + await TestServices.Editor.InvokeQuickInfoAsync(HangMitigatingCancellationToken); + var quickInfo = await TestServices.Editor.GetQuickInfoAsync(HangMitigatingCancellationToken); Assert.Equal(@"Class TestProj.العربية123 -This is an XML doc comment defined in code.", VisualStudio.Editor.GetQuickInfo()); +This is an XML doc comment defined in code.", quickInfo); } } }