Skip to content
This repository was archived by the owner on Nov 20, 2018. It is now read-only.

Commit 5b58a6a

Browse files
authored
Upgrade to xunit 2.3.0-beta4
1 parent 27b0f60 commit 5b58a6a

File tree

14 files changed

+87
-81
lines changed

14 files changed

+87
-81
lines changed

build/dependencies.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
<NETStandardImplicitPackageVersion>2.0.0-*</NETStandardImplicitPackageVersion>
88
<NETStandardLibraryNETFrameworkVersion>2.0.0-*</NETStandardLibraryNETFrameworkVersion>
99
<RuntimeFrameworkVersion Condition="'$(TargetFramework)'=='netcoreapp2.0'">2.0.0-*</RuntimeFrameworkVersion>
10-
<TestSdkVersion>15.3.0-*</TestSdkVersion>
11-
<XunitVersion>2.3.0-beta2-*</XunitVersion>
10+
<TestSdkVersion>15.3.0</TestSdkVersion>
11+
<XunitAnalyzersVersion>0.6.1</XunitAnalyzersVersion>
12+
<XunitVersion>2.3.0-beta4-build3742</XunitVersion>
1213
</PropertyGroup>
1314
</Project>

test/Microsoft.AspNetCore.Authentication.Core.Test/TokenExtensionTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public void SubsequentStoreTokenDeletesPreviousTokens()
5353
Assert.Null(props.GetTokenValue("One"));
5454
Assert.Null(props.GetTokenValue("Two"));
5555
Assert.Null(props.GetTokenValue("Three"));
56-
Assert.Equal(1, props.GetTokens().Count());
56+
Assert.Single(props.GetTokens());
5757
}
5858

5959
[Fact]

test/Microsoft.AspNetCore.Http.Abstractions.Tests/PathStringTests.cs

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,7 @@ public void StartsWithSegmentsWithRemainder_DoesACaseInsensitiveMatch(string sou
138138
var source = new PathString(sourcePath);
139139
var test = new PathString(testPath);
140140

141-
PathString remaining;
142-
var result = source.StartsWithSegments(test, out remaining);
141+
var result = source.StartsWithSegments(test, out var remaining);
143142

144143
Assert.Equal(expectedResult, result);
145144
}
@@ -181,26 +180,33 @@ public void StartsWithSegmentsWithRemainder_DoesMatchUsingSpecifiedComparison(st
181180
var source = new PathString(sourcePath);
182181
var test = new PathString(testPath);
183182

184-
PathString remaining;
185-
var result = source.StartsWithSegments(test, comparison, out remaining);
183+
var result = source.StartsWithSegments(test, comparison, out var remaining);
186184

187185
Assert.Equal(expectedResult, result);
188186
}
189187

190188
[Theory]
191-
[InlineData("unreserved", "/abc123.-_~", "/abc123.-_~")]
192-
[InlineData("colon", "/:", "/:")]
193-
[InlineData("at", "/@", "/@")]
194-
[InlineData("sub-delims", "/!$&'()*+,;=", "/!$&'()*+,;=")]
195-
[InlineData("reserved", "/?#[]", "/%3F%23%5B%5D")]
196-
[InlineData("pct-encoding", "/单行道", "/%E5%8D%95%E8%A1%8C%E9%81%93")]
197-
[InlineData("mixed1", "/index/单行道=(x*y)[abc]", "/index/%E5%8D%95%E8%A1%8C%E9%81%93=(x*y)%5Babc%5D")]
198-
[InlineData("mixed2", "/index/单行道=(x*y)[abc]_", "/index/%E5%8D%95%E8%A1%8C%E9%81%93=(x*y)%5Babc%5D_")]
199-
[InlineData("encoded", "/http%3a%2f%2f[foo]%3A5000/", "/http%3a%2f%2f%5Bfoo%5D%3A5000/")]
200-
[InlineData("encoded", "/http%3a%2f%2f[foo]%3A5000/%", "/http%3a%2f%2f%5Bfoo%5D%3A5000/%25")]
201-
[InlineData("encoded", "/http%3a%2f%2f[foo]%3A5000/%2", "/http%3a%2f%2f%5Bfoo%5D%3A5000/%252")]
202-
[InlineData("encoded", "/http%3a%2f%2f[foo]%3A5000/%2F", "/http%3a%2f%2f%5Bfoo%5D%3A5000/%2F")]
203-
public void ToUriComponentEscapeCorrectly(string category, string input, string expected)
189+
// unreserved
190+
[InlineData("/abc123.-_~", "/abc123.-_~")]
191+
// colon
192+
[InlineData("/:", "/:")]
193+
// at
194+
[InlineData("/@", "/@")]
195+
// sub-delims
196+
[InlineData("/!$&'()*+,;=", "/!$&'()*+,;=")]
197+
// reserved
198+
[InlineData("/?#[]", "/%3F%23%5B%5D")]
199+
// pct-encoding
200+
[InlineData("/单行道", "/%E5%8D%95%E8%A1%8C%E9%81%93")]
201+
// mixed
202+
[InlineData("/index/单行道=(x*y)[abc]", "/index/%E5%8D%95%E8%A1%8C%E9%81%93=(x*y)%5Babc%5D")]
203+
[InlineData("/index/单行道=(x*y)[abc]_", "/index/%E5%8D%95%E8%A1%8C%E9%81%93=(x*y)%5Babc%5D_")]
204+
// encoded
205+
[InlineData("/http%3a%2f%2f[foo]%3A5000/", "/http%3a%2f%2f%5Bfoo%5D%3A5000/")]
206+
[InlineData("/http%3a%2f%2f[foo]%3A5000/%", "/http%3a%2f%2f%5Bfoo%5D%3A5000/%25")]
207+
[InlineData("/http%3a%2f%2f[foo]%3A5000/%2", "/http%3a%2f%2f%5Bfoo%5D%3A5000/%252")]
208+
[InlineData("/http%3a%2f%2f[foo]%3A5000/%2F", "/http%3a%2f%2f%5Bfoo%5D%3A5000/%2F")]
209+
public void ToUriComponentEscapeCorrectly(string input, string expected)
204210
{
205211
var path = new PathString(input);
206212

test/Microsoft.AspNetCore.Http.Abstractions.Tests/UseMiddlewareTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ public async Task UseMiddlewareWithIMiddlewareWorks()
227227
Assert.True(Assert.IsType<bool>(context.Items["after"]));
228228
Assert.NotNull(middlewareFactory.Created);
229229
Assert.NotNull(middlewareFactory.Released);
230-
Assert.IsType(typeof(Middleware), middlewareFactory.Created);
231-
Assert.IsType(typeof(Middleware), middlewareFactory.Released);
230+
Assert.IsType<Middleware>(middlewareFactory.Created);
231+
Assert.IsType<Middleware>(middlewareFactory.Released);
232232
Assert.Same(middlewareFactory.Created, middlewareFactory.Released);
233233
}
234234

test/Microsoft.AspNetCore.Http.Tests/DefaultHttpContextTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,21 @@ public void EmptyUserIsNeverNull()
8484
{
8585
var context = new DefaultHttpContext(new FeatureCollection());
8686
Assert.NotNull(context.User);
87-
Assert.Equal(1, context.User.Identities.Count());
87+
Assert.Single(context.User.Identities);
8888
Assert.True(object.ReferenceEquals(context.User, context.User));
8989
Assert.False(context.User.Identity.IsAuthenticated);
9090
Assert.True(string.IsNullOrEmpty(context.User.Identity.AuthenticationType));
9191

9292
context.User = null;
9393
Assert.NotNull(context.User);
94-
Assert.Equal(1, context.User.Identities.Count());
94+
Assert.Single(context.User.Identities);
9595
Assert.True(object.ReferenceEquals(context.User, context.User));
9696
Assert.False(context.User.Identity.IsAuthenticated);
9797
Assert.True(string.IsNullOrEmpty(context.User.Identity.AuthenticationType));
9898

9999
context.User = new ClaimsPrincipal();
100100
Assert.NotNull(context.User);
101-
Assert.Equal(0, context.User.Identities.Count());
101+
Assert.Empty(context.User.Identities);
102102
Assert.True(object.ReferenceEquals(context.User, context.User));
103103
Assert.Null(context.User.Identity);
104104

test/Microsoft.AspNetCore.Owin.Tests/Microsoft.AspNetCore.Owin.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<ItemGroup>
1616
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(AspNetCoreVersion)" />
1717
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(TestSdkVersion)" />
18+
<PackageReference Include="xunit.analyzers" Version="$(XunitAnalyzersVersion)" />
1819
<PackageReference Include="xunit.runner.visualstudio" Version="$(XunitVersion)" />
1920
<PackageReference Include="xunit" Version="$(XunitVersion)" />
2021
</ItemGroup>

test/Microsoft.AspNetCore.WebUtilities.Tests/HttpRequestStreamReaderTest.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,15 +283,16 @@ private static MemoryStream GetLargeStream()
283283

284284
return new MemoryStream(data.ToArray());
285285
}
286-
private static IEnumerable<object[]> HttpRequestNullData()
286+
287+
public static IEnumerable<object[]> HttpRequestNullData()
287288
{
288289
yield return new object[] { null, Encoding.UTF8, ArrayPool<byte>.Shared, ArrayPool<char>.Shared };
289290
yield return new object[] { new MemoryStream(), null, ArrayPool<byte>.Shared, ArrayPool<char>.Shared };
290291
yield return new object[] { new MemoryStream(), Encoding.UTF8, null, ArrayPool<char>.Shared };
291292
yield return new object[] { new MemoryStream(), Encoding.UTF8, ArrayPool<byte>.Shared, null };
292293
}
293294

294-
private static IEnumerable<object[]> HttpRequestDisposeData()
295+
public static IEnumerable<object[]> HttpRequestDisposeData()
295296
{
296297
yield return new object[] { new Action<HttpRequestStreamReader>((httpRequestStreamReader) =>
297298
{

test/Microsoft.AspNetCore.WebUtilities.Tests/HttpResponseStreamWriterTest.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -521,15 +521,15 @@ protected override void Dispose(bool disposing)
521521
}
522522
}
523523

524-
private static IEnumerable<object[]> HttpResponseStreamWriterData()
524+
public static IEnumerable<object[]> HttpResponseStreamWriterData()
525525
{
526526
yield return new object[] { null, Encoding.UTF8, ArrayPool<byte>.Shared, ArrayPool<char>.Shared };
527527
yield return new object[] { new MemoryStream(), null, ArrayPool<byte>.Shared, ArrayPool<char>.Shared };
528528
yield return new object[] { new MemoryStream(), Encoding.UTF8, null, ArrayPool<char>.Shared };
529529
yield return new object[] { new MemoryStream(), Encoding.UTF8, ArrayPool<byte>.Shared, null };
530530
}
531531

532-
private static IEnumerable<object[]> HttpResponseDisposeData()
532+
public static IEnumerable<object[]> HttpResponseDisposeData()
533533
{
534534
yield return new object[] { new Action<HttpResponseStreamWriter>((httpResponseStreamWriter) =>
535535
{
@@ -549,7 +549,8 @@ private static IEnumerable<object[]> HttpResponseDisposeData()
549549
httpResponseStreamWriter.Flush();
550550
})};
551551
}
552-
private static IEnumerable<object[]> HttpResponseDisposeDataAsync()
552+
553+
public static IEnumerable<object[]> HttpResponseDisposeDataAsync()
553554
{
554555
yield return new object[] { new Func<HttpResponseStreamWriter, Task>(async (httpResponseStreamWriter) =>
555556
{

test/Microsoft.AspNetCore.WebUtilities.Tests/MultipartReaderTests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public async Task MutipartReader_ReadSinglePartBody_Success()
113113

114114
var section = await reader.ReadNextSectionAsync();
115115
Assert.NotNull(section);
116-
Assert.Equal(1, section.Headers.Count);
116+
Assert.Single(section.Headers);
117117
Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
118118
var buffer = new MemoryStream();
119119
await section.Body.CopyToAsync(buffer);
@@ -156,7 +156,7 @@ public async Task MutipartReader_ReadSinglePartBodyWithTrailingWhitespace_Succes
156156

157157
var section = await reader.ReadNextSectionAsync();
158158
Assert.NotNull(section);
159-
Assert.Equal(1, section.Headers.Count);
159+
Assert.Single(section.Headers);
160160
Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
161161
var buffer = new MemoryStream();
162162
await section.Body.CopyToAsync(buffer);
@@ -173,7 +173,7 @@ public async Task MutipartReader_ReadSinglePartBodyWithoutLastCRLF_Success()
173173

174174
var section = await reader.ReadNextSectionAsync();
175175
Assert.NotNull(section);
176-
Assert.Equal(1, section.Headers.Count);
176+
Assert.Single(section.Headers);
177177
Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
178178
var buffer = new MemoryStream();
179179
await section.Body.CopyToAsync(buffer);
@@ -190,7 +190,7 @@ public async Task MutipartReader_ReadTwoPartBody_Success()
190190

191191
var section = await reader.ReadNextSectionAsync();
192192
Assert.NotNull(section);
193-
Assert.Equal(1, section.Headers.Count);
193+
Assert.Single(section.Headers);
194194
Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
195195
var buffer = new MemoryStream();
196196
await section.Body.CopyToAsync(buffer);
@@ -216,7 +216,7 @@ public async Task MutipartReader_ReadTwoPartBodyWithUnicodeFileName_Success()
216216

217217
var section = await reader.ReadNextSectionAsync();
218218
Assert.NotNull(section);
219-
Assert.Equal(1, section.Headers.Count);
219+
Assert.Single(section.Headers);
220220
Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
221221
var buffer = new MemoryStream();
222222
await section.Body.CopyToAsync(buffer);
@@ -242,7 +242,7 @@ public async Task MutipartReader_ThreePartBody_Success()
242242

243243
var section = await reader.ReadNextSectionAsync();
244244
Assert.NotNull(section);
245-
Assert.Equal(1, section.Headers.Count);
245+
Assert.Single(section.Headers);
246246
Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
247247
var buffer = new MemoryStream();
248248
await section.Body.CopyToAsync(buffer);
@@ -289,7 +289,7 @@ public async Task MutipartReader_TwoPartBodyIncompleteBuffer_TwoSectionsReadSucc
289289
//first section can be read successfully
290290
var section = await reader.ReadNextSectionAsync();
291291
Assert.NotNull(section);
292-
Assert.Equal(1, section.Headers.Count);
292+
Assert.Single(section.Headers);
293293
Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
294294
var read = section.Body.Read(buffer, 0, buffer.Length);
295295
Assert.Equal("text default", GetString(buffer, read));
@@ -336,7 +336,7 @@ public async Task MutipartReader_ReadInvalidUtf8Header_ReplacementCharacters()
336336

337337
var section = await reader.ReadNextSectionAsync();
338338
Assert.NotNull(section);
339-
Assert.Equal(1, section.Headers.Count);
339+
Assert.Single(section.Headers);
340340
Assert.Equal("form-data; name=\"text\" filename=\"a\uFFFD!.txt\"", section.Headers["Content-Disposition"][0]);
341341
var buffer = new MemoryStream();
342342
await section.Body.CopyToAsync(buffer);
@@ -371,7 +371,7 @@ public async Task MutipartReader_ReadInvalidUtf8SurrogateHeader_ReplacementChara
371371

372372
var section = await reader.ReadNextSectionAsync();
373373
Assert.NotNull(section);
374-
Assert.Equal(1, section.Headers.Count);
374+
Assert.Single(section.Headers);
375375
Assert.Equal("form-data; name=\"text\" filename=\"a\uFFFDU.txt\"", section.Headers["Content-Disposition"][0]);
376376
var buffer = new MemoryStream();
377377
await section.Body.CopyToAsync(buffer);

test/Microsoft.AspNetCore.WebUtilities.Tests/QueryHelpersTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void ParseQueryWithEmptyValuesWorks()
4949
public void ParseQueryWithEmptyKeyWorks()
5050
{
5151
var collection = QueryHelpers.ParseQuery("?=value1&=");
52-
Assert.Equal(1, collection.Count);
52+
Assert.Single(collection);
5353
Assert.Equal(new[] { "value1", "" }, collection[""]);
5454
}
5555

test/Microsoft.Net.Http.Headers.Tests/CookieHeaderValueTest.cs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,7 @@ public void CookieHeaderValue_Parse_AcceptsValidValues(CookieHeaderValue cookie,
223223
[MemberData(nameof(CookieHeaderDataSet))]
224224
public void CookieHeaderValue_TryParse_AcceptsValidValues(CookieHeaderValue cookie, string expectedValue)
225225
{
226-
CookieHeaderValue header;
227-
var result = CookieHeaderValue.TryParse(expectedValue, out header);
228-
Assert.True(result);
226+
Assert.True(CookieHeaderValue.TryParse(expectedValue, out var header));
229227

230228
Assert.Equal(cookie, header);
231229
Assert.Equal(expectedValue, header.ToString());
@@ -242,10 +240,7 @@ public void CookieHeaderValue_Parse_RejectsInvalidValues(string value)
242240
[MemberData(nameof(InvalidCookieHeaderDataSet))]
243241
public void CookieHeaderValue_TryParse_RejectsInvalidValues(string value)
244242
{
245-
CookieHeaderValue header;
246-
var result = CookieHeaderValue.TryParse(value, out header);
247-
248-
Assert.False(result);
243+
Assert.False(CookieHeaderValue.TryParse(value, out var _));
249244
}
250245

251246
[Theory]
@@ -270,8 +265,7 @@ public void CookieHeaderValue_ParseStrictList_AcceptsValidValues(IList<CookieHea
270265
[MemberData(nameof(ListOfCookieHeaderDataSet))]
271266
public void CookieHeaderValue_TryParseList_AcceptsValidValues(IList<CookieHeaderValue> cookies, string[] input)
272267
{
273-
IList<CookieHeaderValue> results;
274-
var result = CookieHeaderValue.TryParseList(input, out results);
268+
var result = CookieHeaderValue.TryParseList(input, out var results);
275269
Assert.True(result);
276270

277271
Assert.Equal(cookies, results);
@@ -281,8 +275,7 @@ public void CookieHeaderValue_TryParseList_AcceptsValidValues(IList<CookieHeader
281275
[MemberData(nameof(ListOfCookieHeaderDataSet))]
282276
public void CookieHeaderValue_TryParseStrictList_AcceptsValidValues(IList<CookieHeaderValue> cookies, string[] input)
283277
{
284-
IList<CookieHeaderValue> results;
285-
var result = CookieHeaderValue.TryParseStrictList(input, out results);
278+
var result = CookieHeaderValue.TryParseStrictList(input, out var results);
286279
Assert.True(result);
287280

288281
Assert.Equal(cookies, results);
@@ -301,25 +294,31 @@ public void CookieHeaderValue_ParseList_ExcludesInvalidValues(IList<CookieHeader
301294
[MemberData(nameof(ListWithInvalidCookieHeaderDataSet))]
302295
public void CookieHeaderValue_TryParseList_ExcludesInvalidValues(IList<CookieHeaderValue> cookies, string[] input)
303296
{
304-
IList<CookieHeaderValue> results;
305-
var result = CookieHeaderValue.TryParseList(input, out results);
297+
var result = CookieHeaderValue.TryParseList(input, out var results);
306298
Assert.Equal(cookies, results);
307299
Assert.Equal(cookies?.Count > 0, result);
308300
}
309301

310302
[Theory]
311303
[MemberData(nameof(ListWithInvalidCookieHeaderDataSet))]
312-
public void CookieHeaderValue_ParseStrictList_ThrowsForAnyInvalidValues(IList<CookieHeaderValue> cookies, string[] input)
304+
public void CookieHeaderValue_ParseStrictList_ThrowsForAnyInvalidValues(
305+
#pragma warning disable xUnit1026 // Theory methods should use all of their parameters
306+
IList<CookieHeaderValue> cookies,
307+
#pragma warning restore xUnit1026 // Theory methods should use all of their parameters
308+
string[] input)
313309
{
314310
Assert.Throws<FormatException>(() => CookieHeaderValue.ParseStrictList(input));
315311
}
316312

317313
[Theory]
318314
[MemberData(nameof(ListWithInvalidCookieHeaderDataSet))]
319-
public void CookieHeaderValue_TryParseStrictList_FailsForAnyInvalidValues(IList<CookieHeaderValue> cookies, string[] input)
315+
public void CookieHeaderValue_TryParseStrictList_FailsForAnyInvalidValues(
316+
#pragma warning disable xUnit1026 // Theory methods should use all of their parameters
317+
IList<CookieHeaderValue> cookies,
318+
#pragma warning restore xUnit1026 // Theory methods should use all of their parameters
319+
string[] input)
320320
{
321-
IList<CookieHeaderValue> results;
322-
var result = CookieHeaderValue.TryParseStrictList(input, out results);
321+
var result = CookieHeaderValue.TryParseStrictList(input, out var results);
323322
Assert.Null(results);
324323
Assert.False(result);
325324
}

test/Microsoft.Net.Http.Headers.Tests/DateParserTest.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ public void TryParse_SetOfValidValueStrings_ParsedCorrectly(string input, DateTi
1515
{
1616
// We don't need to validate all possible date values, since they're already tested in HttpRuleParserTest.
1717
// Just make sure the parser calls HttpRuleParser methods correctly.
18-
DateTimeOffset result;
19-
Assert.True(HeaderUtilities.TryParseDate(input, out result));
18+
Assert.True(HeaderUtilities.TryParseDate(input, out var result));
2019
Assert.Equal(expected, result);
2120
}
2221

23-
private static IEnumerable<object[]> ValidStringData()
22+
public static IEnumerable<object[]> ValidStringData()
2423
{
2524
yield return new object[] { "Tue, 15 Nov 1994 08:12:31 GMT", new DateTimeOffset(1994, 11, 15, 8, 12, 31, TimeSpan.Zero) };
2625
yield return new object[] { " Sunday, 06-Nov-94 08:49:37 GMT ", new DateTimeOffset(1994, 11, 6, 8, 49, 37, TimeSpan.Zero) };
@@ -32,12 +31,11 @@ private static IEnumerable<object[]> ValidStringData()
3231
[MemberData(nameof(InvalidStringData))]
3332
public void TryParse_SetOfInvalidValueStrings_ReturnsFalse(string input)
3433
{
35-
DateTimeOffset result;
36-
Assert.False(HeaderUtilities.TryParseDate(input, out result));
34+
Assert.False(HeaderUtilities.TryParseDate(input, out var result));
3735
Assert.Equal(new DateTimeOffset(), result);
3836
}
3937

40-
private static IEnumerable<object[]> InvalidStringData()
38+
public static IEnumerable<object[]> InvalidStringData()
4139
{
4240
yield return new object[] { null };
4341
yield return new object[] { string.Empty };

0 commit comments

Comments
 (0)