Skip to content

Commit 9761b13

Browse files
committed
Clean up and null enable tests
1 parent 6ab2d7a commit 9761b13

File tree

4 files changed

+52
-50
lines changed

4 files changed

+52
-50
lines changed

src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Completion/CompletionListMerger.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Collections.Generic;
55
using System.Collections.Immutable;
66
using System.Diagnostics;
7+
using System.Diagnostics.CodeAnalysis;
78
using System.Linq;
89
using System.Text.Json;
910
using Microsoft.AspNetCore.Razor.PooledObjects;
@@ -17,6 +18,8 @@ internal static class CompletionListMerger
1718
private static readonly string s_data2Key = nameof(MergedCompletionListData.Data2);
1819
private static readonly object s_emptyData = new();
1920

21+
[return: NotNullIfNotNull(nameof(razorCompletionList))]
22+
[return: NotNullIfNotNull(nameof(delegatedCompletionList))]
2023
public static VSInternalCompletionList? Merge(VSInternalCompletionList? razorCompletionList, VSInternalCompletionList? delegatedCompletionList)
2124
{
2225
if (razorCompletionList is null)

src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/Completion/Delegation/DelegatedCompletionItemResolverTest.NetFx.cs

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the MIT license. See License.txt in the project root for license information.
33

4-
#nullable disable
5-
64
using System;
75
using System.Collections.Generic;
86
using System.Linq;
@@ -113,7 +111,7 @@ public async Task ResolveAsync_UnknownRequestContext_Noops()
113111
var optionsMonitor = TestRazorLSPOptionsMonitor.Create();
114112
var resolver = new DelegatedCompletionItemResolver(_documentContextFactory, _formattingService.GetValue(), optionsMonitor, server);
115113
var item = new VSInternalCompletionItem();
116-
var containingCompletionList = new VSInternalCompletionList() { Items = new[] { item, } };
114+
var containingCompletionList = new VSInternalCompletionList() { Items = [item] };
117115
var originalRequestContext = StrictMock.Of<ICompletionResolveContext>();
118116

119117
// Act
@@ -136,7 +134,7 @@ public async Task ResolveAsync_UsesItemsData()
136134
{
137135
Data = expectedData,
138136
};
139-
var containingCompletionList = new VSInternalCompletionList() { Items = new[] { item, }, Data = new object() };
137+
var containingCompletionList = new VSInternalCompletionList() { Items = [item], Data = new object() };
140138
var originalRequestContext = new DelegatedCompletionResolutionContext(_csharpCompletionParams, new object());
141139

142140
// Act
@@ -155,7 +153,7 @@ public async Task ResolveAsync_InheritsOriginalCompletionListData()
155153
var optionsMonitor = TestRazorLSPOptionsMonitor.Create();
156154
var resolver = new DelegatedCompletionItemResolver(_documentContextFactory, _formattingService.GetValue(), optionsMonitor, server);
157155
var item = new VSInternalCompletionItem();
158-
var containingCompletionList = new VSInternalCompletionList() { Items = new[] { item, }, Data = new object() };
156+
var containingCompletionList = new VSInternalCompletionList() { Items = [item], Data = new object() };
159157
var expectedData = new object();
160158
var originalRequestContext = new DelegatedCompletionResolutionContext(_csharpCompletionParams, expectedData);
161159

@@ -219,7 +217,7 @@ public async Task ResolveAsync_Html_Resolves()
219217
var optionsMonitor = TestRazorLSPOptionsMonitor.Create();
220218
var resolver = new DelegatedCompletionItemResolver(_documentContextFactory, _formattingService.GetValue(), optionsMonitor, server);
221219
var item = new VSInternalCompletionItem();
222-
var containingCompletionList = new VSInternalCompletionList() { Items = new[] { item, } };
220+
var containingCompletionList = new VSInternalCompletionList() { Items = [item] };
223221
var originalRequestContext = new DelegatedCompletionResolutionContext(_htmlCompletionParams, new object());
224222

225223
// Act
@@ -268,7 +266,7 @@ private async Task<CSharpTestLspServer> CreateCSharpServerAsync(RazorCodeDocumen
268266
CompletionProvider = new CompletionOptions
269267
{
270268
ResolveProvider = true,
271-
TriggerCharacters = new[] { " ", "(", "=", "#", ".", "<", "[", "{", "\"", "/", ":", "~" }
269+
TriggerCharacters = [" ", "(", "=", "#", ".", "<", "[", "{", "\"", "/", ":", "~"]
272270
}
273271
};
274272

@@ -334,16 +332,11 @@ public static TestDelegatedCompletionItemResolverServer Create(VSInternalComplet
334332
return provider;
335333
}
336334

337-
private class StaticCompletionResolveRequestHandler : CompletionResolveRequestResponseFactory
335+
private class StaticCompletionResolveRequestHandler(VSInternalCompletionItem resolveResponse) : CompletionResolveRequestResponseFactory
338336
{
339-
private readonly VSInternalCompletionItem _resolveResponse;
337+
private readonly VSInternalCompletionItem _resolveResponse = resolveResponse;
340338
private DelegatedCompletionItemResolveParams _delegatedParams;
341339

342-
public StaticCompletionResolveRequestHandler(VSInternalCompletionItem resolveResponse)
343-
{
344-
_resolveResponse = resolveResponse;
345-
}
346-
347340
public override DelegatedCompletionItemResolveParams DelegatedParams => _delegatedParams;
348341

349342
public override Task<object> OnCompletionResolveDelegationAsync(object parameters)
@@ -355,20 +348,14 @@ public override Task<object> OnCompletionResolveDelegationAsync(object parameter
355348
}
356349
}
357350

358-
private class DelegatedCSharpCompletionRequestHandler : CompletionResolveRequestResponseFactory
351+
private class DelegatedCSharpCompletionRequestHandler(
352+
CSharpTestLspServer csharpServer,
353+
CancellationToken cancellationToken) : CompletionResolveRequestResponseFactory
359354
{
360-
private readonly CSharpTestLspServer _csharpServer;
361-
private readonly CancellationToken _cancellationToken;
355+
private readonly CSharpTestLspServer _csharpServer = csharpServer;
356+
private readonly CancellationToken _cancellationToken = cancellationToken;
362357
private DelegatedCompletionItemResolveParams _delegatedParams;
363358

364-
public DelegatedCSharpCompletionRequestHandler(
365-
CSharpTestLspServer csharpServer,
366-
CancellationToken cancellationToken)
367-
{
368-
_csharpServer = csharpServer;
369-
_cancellationToken = cancellationToken;
370-
}
371-
372359
public override DelegatedCompletionItemResolveParams DelegatedParams => _delegatedParams;
373360

374361
public override async Task<object> OnCompletionResolveDelegationAsync(object parameters)

src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/Completion/RazorCompletionItemResolverTest.cs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the MIT license. See License.txt in the project root for license information.
33

4-
#nullable disable
5-
64
using System.Collections.Immutable;
75
using System.Linq;
86
using System.Threading;
@@ -87,13 +85,14 @@ public async Task ResolveAsync_DirectiveCompletion_ReturnsCompletionItemWithDocu
8785
isSnippet: false);
8886

8987
var completionList = CreateLSPCompletionList(razorCompletionItem);
90-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
88+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
9189

9290
// Act
9391
var resolvedCompletionItem = await resolver.ResolveAsync(
9492
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _defaultClientCapability, _componentAvailabilityService, DisposalToken);
9593

9694
// Assert
95+
Assert.NotNull(resolvedCompletionItem);
9796
Assert.Equal(descriptionText, resolvedCompletionItem.Documentation);
9897
}
9998

@@ -105,13 +104,14 @@ public async Task ResolveAsync_MarkupTransitionCompletion_ReturnsCompletionItemW
105104
var descriptionText = "Test description";
106105
var razorCompletionItem = RazorCompletionItem.CreateMarkupTransition("@...", "@", new(descriptionText), commitCharacters: []);
107106
var completionList = CreateLSPCompletionList(razorCompletionItem);
108-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
107+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
109108

110109
// Act
111110
var resolvedCompletionItem = await resolver.ResolveAsync(
112111
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _defaultClientCapability, _componentAvailabilityService, DisposalToken);
113112

114113
// Assert
114+
Assert.NotNull(resolvedCompletionItem);
115115
Assert.Equal(descriptionText, resolvedCompletionItem.Documentation);
116116
}
117117

@@ -126,13 +126,14 @@ public async Task ResolveAsync_DirectiveAttributeCompletion_ReturnsCompletionIte
126126
_attributeDescription,
127127
commitCharacters: []);
128128
var completionList = CreateLSPCompletionList(razorCompletionItem);
129-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
129+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
130130

131131
// Act
132132
var resolvedCompletionItem = await resolver.ResolveAsync(
133133
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _defaultClientCapability, _componentAvailabilityService, DisposalToken);
134134

135135
// Assert
136+
Assert.NotNull(resolvedCompletionItem);
136137
Assert.NotNull(resolvedCompletionItem.Documentation);
137138
}
138139

@@ -146,13 +147,14 @@ public async Task ResolveAsync_DirectiveAttributeParameterCompletion_ReturnsComp
146147
insertText: "TestItem",
147148
_attributeDescription);
148149
var completionList = CreateLSPCompletionList(razorCompletionItem);
149-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
150+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
150151

151152
// Act
152153
var resolvedCompletionItem = await resolver.ResolveAsync(
153154
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _defaultClientCapability, _componentAvailabilityService, DisposalToken);
154155

155156
// Assert
157+
Assert.NotNull(resolvedCompletionItem);
156158
Assert.NotNull(resolvedCompletionItem.Documentation);
157159
}
158160

@@ -167,13 +169,14 @@ public async Task ResolveAsync_TagHelperElementCompletion_ReturnsCompletionItemW
167169
_elementDescription,
168170
commitCharacters: []);
169171
var completionList = CreateLSPCompletionList(razorCompletionItem);
170-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
172+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
171173

172174
// Act
173175
var resolvedCompletionItem = await resolver.ResolveAsync(
174176
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _defaultClientCapability, _componentAvailabilityService, DisposalToken);
175177

176178
// Assert
179+
Assert.NotNull(resolvedCompletionItem);
177180
Assert.NotNull(resolvedCompletionItem.Documentation);
178181
}
179182

@@ -191,13 +194,14 @@ public async Task ResolveAsync_TagHelperAttribute_ReturnsCompletionItemWithDocum
191194
isSnippet: false);
192195

193196
var completionList = CreateLSPCompletionList(razorCompletionItem);
194-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
197+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
195198

196199
// Act
197200
var resolvedCompletionItem = await resolver.ResolveAsync(
198201
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _defaultClientCapability, _componentAvailabilityService, DisposalToken);
199202

200203
// Assert
204+
Assert.NotNull(resolvedCompletionItem);
201205
Assert.NotNull(resolvedCompletionItem.Documentation);
202206
}
203207

@@ -211,13 +215,14 @@ public async Task ResolveAsync_VS_DirectiveAttributeCompletion_ReturnsCompletion
211215
insertText: "TestItem", _attributeDescription,
212216
commitCharacters: []);
213217
var completionList = CreateLSPCompletionList(razorCompletionItem);
214-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
218+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
215219

216220
// Act
217221
var resolvedCompletionItem = await resolver.ResolveAsync(
218222
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _vsClientCapability, _componentAvailabilityService, DisposalToken);
219223

220224
// Assert
225+
Assert.NotNull(resolvedCompletionItem);
221226
Assert.NotNull(resolvedCompletionItem.Description);
222227
}
223228

@@ -231,13 +236,14 @@ public async Task ResolveAsync_VS_DirectiveAttributeParameterCompletion_ReturnsC
231236
insertText: "TestItem",
232237
_attributeDescription);
233238
var completionList = CreateLSPCompletionList(razorCompletionItem);
234-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
239+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
235240

236241
// Act
237242
var resolvedCompletionItem = await resolver.ResolveAsync(
238243
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _vsClientCapability, _componentAvailabilityService, DisposalToken);
239244

240245
// Assert
246+
Assert.NotNull(resolvedCompletionItem);
241247
Assert.NotNull(resolvedCompletionItem.Description);
242248
}
243249

@@ -252,13 +258,14 @@ public async Task ResolveAsync_VS_TagHelperElementCompletion_ReturnsCompletionIt
252258
_elementDescription,
253259
commitCharacters: []);
254260
var completionList = CreateLSPCompletionList(razorCompletionItem);
255-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
261+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
256262

257263
// Act
258264
var resolvedCompletionItem = await resolver.ResolveAsync(
259265
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _vsClientCapability, _componentAvailabilityService, DisposalToken);
260266

261267
// Assert
268+
Assert.NotNull(resolvedCompletionItem);
262269
Assert.NotNull(resolvedCompletionItem.Description);
263270
}
264271

@@ -276,13 +283,14 @@ public async Task ResolveAsync_VS_TagHelperAttribute_ReturnsCompletionItemWithDe
276283
isSnippet: false);
277284

278285
var completionList = CreateLSPCompletionList(razorCompletionItem);
279-
var completionItem = completionList.Items.Single() as VSInternalCompletionItem;
286+
var completionItem = (VSInternalCompletionItem)completionList.Items.Single();
280287

281288
// Act
282289
var resolvedCompletionItem = await resolver.ResolveAsync(
283290
completionItem, completionList, CreateCompletionResolveContext(razorCompletionItem), _vsClientCapability, _componentAvailabilityService, DisposalToken);
284291

285292
// Assert
293+
Assert.NotNull(resolvedCompletionItem);
286294
Assert.NotNull(resolvedCompletionItem.Description);
287295
}
288296

0 commit comments

Comments
 (0)