Skip to content

Commit f960abc

Browse files
committed
If we wait for html documents, it works for cohosting and non
1 parent 5f65b7e commit f960abc

File tree

5 files changed

+18
-32
lines changed

5 files changed

+18
-32
lines changed

src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/AbstractIntegrationTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using System;
55
using System.Threading;
66
using Microsoft.AspNetCore.Razor.Test.Common;
7-
using Microsoft.VisualStudio.Extensibility.Testing;
7+
using Microsoft.VisualStudio.Extensibility.Testing;
88
using Xunit;
99
using Xunit.Sdk;
1010
using Task = System.Threading.Tasks.Task;

src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/BreakpointSpanTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public async Task SetBreakpoint_FirstCharacter_SpanAdjusts()
1818
// Wait for classifications to indicate Razor LSP is up and running
1919
await TestServices.Editor.WaitForComponentClassificationAsync(ControlledHangMitigatingCancellationToken);
2020

21-
await TestServices.RazorProjectSystem.WaitForCSharpVirtualDocumentUpdateAsync(RazorProjectConstants.BlazorProjectName, RazorProjectConstants.CounterRazorFile, async () =>
21+
await TestServices.RazorProjectSystem.WaitForHtmlVirtualDocumentUpdateAsync(RazorProjectConstants.BlazorProjectName, RazorProjectConstants.CounterRazorFile, async () =>
2222
{
2323
await TestServices.Editor.SetTextAsync("<p>@{ var abc = 123; }</p>", ControlledHangMitigatingCancellationToken);
2424
}, ControlledHangMitigatingCancellationToken);
@@ -37,7 +37,7 @@ public async Task SetBreakpoint_FirstCharacter_InvalidLine()
3737
// Wait for classifications to indicate Razor LSP is up and running
3838
await TestServices.Editor.WaitForComponentClassificationAsync(ControlledHangMitigatingCancellationToken);
3939

40-
await TestServices.RazorProjectSystem.WaitForCSharpVirtualDocumentUpdateAsync(RazorProjectConstants.BlazorProjectName, RazorProjectConstants.CounterRazorFile, async () =>
40+
await TestServices.RazorProjectSystem.WaitForHtmlVirtualDocumentUpdateAsync(RazorProjectConstants.BlazorProjectName, RazorProjectConstants.CounterRazorFile, async () =>
4141
{
4242
await TestServices.Editor.SetTextAsync("""
4343
<p>@{
@@ -58,7 +58,7 @@ public async Task SetBreakpoint_FirstCharacter_ValidLine()
5858
// Wait for classifications to indicate Razor LSP is up and running
5959
await TestServices.Editor.WaitForComponentClassificationAsync(ControlledHangMitigatingCancellationToken);
6060

61-
await TestServices.RazorProjectSystem.WaitForCSharpVirtualDocumentUpdateAsync(RazorProjectConstants.BlazorProjectName, RazorProjectConstants.CounterRazorFile, async () =>
61+
await TestServices.RazorProjectSystem.WaitForHtmlVirtualDocumentUpdateAsync(RazorProjectConstants.BlazorProjectName, RazorProjectConstants.CounterRazorFile, async () =>
6262
{
6363
await TestServices.Editor.SetTextAsync("""
6464
<p>@{

src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/CompletionIntegrationTests.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,12 @@ await TestServices.SolutionExplorer.AddFileAsync(
615615
await TestServices.Editor.PlaceCaretAsync(search, charsOffset: 1, ControlledHangMitigatingCancellationToken);
616616
foreach (var stringToType in stringsToType)
617617
{
618-
TestServices.Input.Send(stringToType);
618+
await TestServices.RazorProjectSystem.WaitForHtmlVirtualDocumentUpdateAsync(RazorProjectConstants.BlazorProjectName, "Test.razor", () =>
619+
{
620+
TestServices.Input.Send(stringToType);
621+
622+
return Task.CompletedTask;
623+
}, ControlledHangMitigatingCancellationToken);
619624
}
620625

621626
if (expectedSelectedItemLabel is not null)

src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/InProcess/RazorProjectSystemInProcess.cs

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,6 @@ public async Task WaitForLSPServerDeactivatedAsync(CancellationToken cancellatio
3838

3939
private async Task WaitForLSPServerActivationStatusAsync(bool active, CancellationToken cancellationToken)
4040
{
41-
if (await IsCohostingActiveAsync(cancellationToken))
42-
{
43-
return;
44-
}
45-
4641
var tracker = await TestServices.Shell.GetComponentModelServiceAsync<ILspServerActivationTracker>(cancellationToken);
4742
await Helper.RetryAsync(ct =>
4843
{
@@ -126,25 +121,19 @@ public async Task<ImmutableArray<string>> GetProjectKeyIdsForProjectAsync(string
126121
return projectManager.GetProjectKeysWithFilePath(projectFilePath).SelectAsArray(static key => key.Id);
127122
}
128123

129-
public async Task WaitForCSharpVirtualDocumentAsync(string razorFilePath, CancellationToken cancellationToken)
124+
public async Task WaitForHtmlVirtualDocumentAsync(string razorFilePath, CancellationToken cancellationToken)
130125
{
131-
if (await IsCohostingActiveAsync(cancellationToken))
132-
{
133-
return;
134-
}
135-
136126
var documentManager = await TestServices.Shell.GetComponentModelServiceAsync<LSPDocumentManager>(cancellationToken);
137127

138128
var uri = new Uri(razorFilePath, UriKind.Absolute);
139129
await Helper.RetryAsync(ct =>
140130
{
141131
if (documentManager.TryGetDocument(uri, out var snapshot))
142132
{
143-
if (snapshot.TryGetVirtualDocument<CSharpVirtualDocumentSnapshot>(out var virtualDocument))
133+
if (snapshot.TryGetVirtualDocument<HtmlVirtualDocumentSnapshot>(out var virtualDocument))
144134
{
145-
var result = !virtualDocument.ProjectKey.IsUnknown &&
146-
virtualDocument.Snapshot.Length > 0;
147-
return Task.FromResult(result);
135+
//var result = virtualDocument.Snapshot.Length > 0;
136+
return Task.FromResult(true);
148137
}
149138
}
150139

@@ -153,15 +142,8 @@ await Helper.RetryAsync(ct =>
153142
}, TimeSpan.FromMilliseconds(100), cancellationToken);
154143
}
155144

156-
public async Task WaitForCSharpVirtualDocumentUpdateAsync(string projectName, string relativeFilePath, Func<Task> updater, CancellationToken cancellationToken)
145+
public async Task WaitForHtmlVirtualDocumentUpdateAsync(string projectName, string relativeFilePath, Func<Task> updater, CancellationToken cancellationToken)
157146
{
158-
if (await IsCohostingActiveAsync(cancellationToken))
159-
{
160-
// In cohosting we don't wait for anything, we just update the Razor doc and assume that Roslyn will do the right things
161-
await updater();
162-
return;
163-
}
164-
165147
var filePath = await TestServices.SolutionExplorer.GetAbsolutePathForProjectRelativeFilePathAsync(projectName, relativeFilePath, cancellationToken);
166148

167149
var documentManager = await TestServices.Shell.GetComponentModelServiceAsync<LSPDocumentManager>(cancellationToken);
@@ -174,10 +156,9 @@ await Helper.RetryAsync(async ct =>
174156
{
175157
if (documentManager.TryGetDocument(uri, out var snapshot))
176158
{
177-
if (snapshot.TryGetVirtualDocument<CSharpVirtualDocumentSnapshot>(out var virtualDocument))
159+
if (snapshot.TryGetVirtualDocument<HtmlVirtualDocumentSnapshot>(out var virtualDocument))
178160
{
179-
if (!virtualDocument.ProjectKey.IsUnknown &&
180-
virtualDocument.Snapshot.Length > 0)
161+
if (virtualDocument.Snapshot.Length > 0)
181162
{
182163
if (desiredVersion is null)
183164
{

src/Razor/test/Microsoft.VisualStudio.Razor.IntegrationTests/InProcess/SolutionExplorerInProcess.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public async Task OpenFileAsync(string projectName, string relativeFilePath, Can
134134
var fileExtension = Path.GetExtension(filePath);
135135
if (fileExtension.Equals(".razor", StringComparison.OrdinalIgnoreCase) || fileExtension.Equals(".cshtml", StringComparison.OrdinalIgnoreCase))
136136
{
137-
await TestServices.RazorProjectSystem.WaitForCSharpVirtualDocumentAsync(filePath, cancellationToken);
137+
await TestServices.RazorProjectSystem.WaitForHtmlVirtualDocumentAsync(filePath, cancellationToken);
138138
}
139139
}
140140

0 commit comments

Comments
 (0)