/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/VisualStudio/IntegrationTest/New.IntegrationTests/VisualBasic/BasicFindReferences.cs
112 строк
4 KB
Cyrus Najmabadi
revise
10 июл 2025, 04:33
10 июл 2025, 04:33
24e1752
Код
Авторство
О чём код?
// 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 Roslyn.VisualStudio.IntegrationTests; using Roslyn.VisualStudio.IntegrationTests.InProcess; using WindowsInput.Native; using Xunit; namespace Roslyn.VisualStudio.NewIntegrationTests.VisualBasic; [Trait(Traits.Feature, Traits.Features.FindReferences)] public class BasicFindReferences : AbstractEditorTest { protected override string LanguageName => LanguageNames.VisualBasic; public BasicFindReferences() : base(nameof(BasicFindReferences)) { } [IdeFact] public async Task FindReferencesToLocals() { await SetUpEditorAsync(""" Class Program Sub Main() Dim local = 1 Console.WriteLine(loca$$l) End Sub End Class """, HangMitigatingCancellationToken); await TestServices.Input.SendAsync((VirtualKeyCode.F12, VirtualKeyCode.SHIFT), HangMitigatingCancellationToken); var results = await TestServices.FindReferencesWindow.GetContentsAsync(HangMitigatingCancellationToken); Assert.Collection( results, [ reference => { Assert.Equal(expected: "Dim local = 1", actual: reference.GetText()); Assert.Equal(expected: 3, actual: reference.GetLine()); Assert.Equal(expected: 10, actual: reference.GetColumn()); }, reference => { Assert.Equal(expected: "Console.WriteLine(local)", actual: reference.GetText()); Assert.Equal(expected: 4, actual: reference.GetLine()); Assert.Equal(expected: 24, actual: reference.GetColumn()); } ]); } [IdeFact] public async Task FindReferencesToSharedField() { await SetUpEditorAsync(""" Class Program Public Shared Alpha As Int32 End Class$$ """, HangMitigatingCancellationToken); var project = ProjectName; await TestServices.SolutionExplorer.AddFileAsync(project, "File2.vb", cancellationToken: HangMitigatingCancellationToken); await TestServices.SolutionExplorer.OpenFileAsync(project, "File2.vb", HangMitigatingCancellationToken); await SetUpEditorAsync(""" Class SomeOtherClass Sub M() Console.WriteLine(Program.$$Alpha) End Sub End Class """, HangMitigatingCancellationToken); await TestServices.Input.SendAsync((VirtualKeyCode.F12, VirtualKeyCode.SHIFT), HangMitigatingCancellationToken); var results = await TestServices.FindReferencesWindow.GetContentsAsync(HangMitigatingCancellationToken); Assert.Collection( results, [ reference => { Assert.Equal(expected: "Public Shared Alpha As Int32", actual: reference.GetText()); Assert.Equal(expected: 2, actual: reference.GetLine()); Assert.Equal(expected: 18, actual: reference.GetColumn()); }, reference => { Assert.Equal(expected: "Console.WriteLine(Program.Alpha)", actual: reference.GetText()); Assert.Equal(expected: 3, actual: reference.GetLine()); Assert.Equal(expected: 34, actual: reference.GetColumn()); } ]); await TestServices.FindReferencesWindow.NavigateToAsync(results[0], isPreview: false, shouldActivate: true, HangMitigatingCancellationToken); // Assert we are in the right file now Assert.Equal($"Class1.vb", await TestServices.Shell.GetActiveDocumentFileNameAsync(HangMitigatingCancellationToken)); Assert.Equal("Alpha As Int32", await TestServices.Editor.GetLineTextAfterCaretAsync(HangMitigatingCancellationToken)); } }