diff --git a/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/InProcess/EditorInProcess_Text.cs b/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/InProcess/EditorInProcess_Text.cs index 2c7293cec43..39a17956bc5 100644 --- a/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/InProcess/EditorInProcess_Text.cs +++ b/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/InProcess/EditorInProcess_Text.cs @@ -27,7 +27,6 @@ public async Task InsertTextAsync(string text, CancellationToken cancellationTok await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); var view = await GetActiveTextViewAsync(cancellationToken); - var textSnapshot = view.TextSnapshot; var position = await GetCaretPositionAsync(cancellationToken); @@ -102,6 +101,21 @@ public async Task WaitForTextChangeAsync(string text, CancellationToken return result!; } + public async Task WaitForTextContainsAsync(string text, CancellationToken cancellationToken) + { + var result = await Helper.RetryAsync(async ct => + { + var view = await GetActiveTextViewAsync(ct); + var content = view.TextBuffer.CurrentSnapshot.GetText(); + + return content.Contains(text); + }, + TimeSpan.FromMilliseconds(50), + cancellationToken).ConfigureAwait(false); + + return result; + } + public async Task VerifyTextContainsAsync(string text, CancellationToken cancellationToken) { var view = await GetActiveTextViewAsync(cancellationToken); diff --git a/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/RenameTests.cs b/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/RenameTests.cs index 4e63dc75fe1..3ef2044aa5b 100644 --- a/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/RenameTests.cs +++ b/src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/RenameTests.cs @@ -212,6 +212,8 @@ await TestServices.SolutionExplorer.AddFileAsync(RazorProjectConstants.BlazorPro await TestServices.Editor.PlaceCaretAsync(position, ControlledHangMitigatingCancellationToken); + await Task.Delay(500); + // Act await TestServices.Editor.InvokeRenameAsync(ControlledHangMitigatingCancellationToken); TestServices.Input.Send("ZooperDooper{ENTER}"); @@ -337,8 +339,6 @@ public class MyComponent : ComponentBase await TestServices.RazorProjectSystem.WaitForComponentTagNameAsync(RazorProjectConstants.BlazorProjectName, "MyComponent", ControlledHangMitigatingCancellationToken); await TestServices.Editor.WaitForComponentClassificationAsync(ControlledHangMitigatingCancellationToken); - await TestServices.SolutionExplorer.OpenFileAsync(RazorProjectConstants.BlazorProjectName, "MyComponent.cs", ControlledHangMitigatingCancellationToken); - await TestServices.Editor.PlaceCaretAsync(position, ControlledHangMitigatingCancellationToken); // Act @@ -346,7 +346,7 @@ public class MyComponent : ComponentBase TestServices.Input.Send("ZooperDooper{ENTER}"); // Assert - await TestServices.Editor.VerifyTextContainsAsync("", ControlledHangMitigatingCancellationToken); + await TestServices.Editor.WaitForTextContainsAsync("", ControlledHangMitigatingCancellationToken); await TestServices.SolutionExplorer.OpenFileAsync(RazorProjectConstants.BlazorProjectName, "MyComponent.cs", ControlledHangMitigatingCancellationToken); await TestServices.Editor.VerifyTextContainsAsync("public class ZooperDooper : ComponentBase", ControlledHangMitigatingCancellationToken);