Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -100,8 +100,6 @@
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25367.101</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetPackageTestingVersion>10.0.0-beta.25367.101</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25367.101</MicrosoftDotNetXliffTasksVersion>
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/tests/Extensions/TypeNameHelperTest.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -176,7 +176,7 @@ public void Can_pretty_print_open_generics(Type type, bool fullName, string expe
Assert.Equal(expected, TypeNameHelper.GetTypeDisplayName(type, fullName));
}

public static TheoryData GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"Microsoft.Extensions.Internal.TypeNameHelperTest+B<T>" },
Expand All@@ -196,7 +196,7 @@ public void GetTypeDisplayName_IncludesGenericParameterNamesWhenOptionIsSet(Type
Assert.Equal(expected, actual);
}

public static TheoryData GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
public static TheoryData<Type, string> GetTypeDisplayName_WithoutFullName_IncludesGenericParameterNamesWhenOptionIsSetData =>
new TheoryData<Type, string>
{
{ typeof(B<>),"B<T>" },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -226,7 +226,7 @@ public static IEnumerable<object[]> Authentication_TestData()
[InlineData("NTLM")]
[InlineData("Kerberos")]
[InlineData("Negotiate")]
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string credCacheScheme)
public async Task PreAuthenticate_NoPreviousAuthenticatedRequests_NoCredentialsSent(string? credCacheScheme)
{
const int NumRequests = 3;
await LoopbackServer.CreateClientAndServerAsync(async uri =>
Expand DownExpand Up@@ -268,7 +268,7 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
[Theory]
[InlineData(null, "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
[InlineData("Basic", "WWW-Authenticate: Basic realm=\"hello\"\r\n")]
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string credCacheScheme, string authResponse)
public async Task PreAuthenticate_FirstRequestNoHeaderAndAuthenticates_SecondRequestPreauthenticates(string? credCacheScheme, string authResponse)
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
Expand Down
63 changes: 26 additions & 37 deletions src/libraries/Common/tests/System/Net/Http/HttpProtocolTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -287,44 +287,33 @@ await TestHelper.WhenAllCompletedOrAnyFailed(
}, new LoopbackServer.Options { StreamWrapper = GetStream });
}

public static IEnumerable<string> GetInvalidStatusLine()
{
yield return "HTTP/1.1 2345";
yield return "HTTP/A.1 200 OK";
yield return "HTTP/X.Y.Z 200 OK";

yield return "HTTP/0.1 200 OK";
yield return "HTTP/3.5 200 OK";
yield return "HTTP/1.12 200 OK";
yield return "HTTP/12.1 200 OK";
yield return "HTTP/1.1 200 O\rK";

yield return "HTTP/1.A 200 OK";
yield return "HTTP/1.1 ";
yield return "HTTP/1.1 !11";
yield return "HTTP/1.1 a11";
yield return "HTTP/1.1 abc";
yield return "HTTP/1.1\t\t";
yield return "HTTP/1.1\t";
yield return "HTTP/1.1 ";

yield return "HTTP/1.1 200OK";
yield return "HTTP/1.1 20c";
yield return "HTTP/1.1 23";
yield return "HTTP/1.1 2bc";

yield return "NOTHTTP/1.1";
yield return "HTTP 1.1 200 OK";
yield return "ABCD/1.1 200 OK";
yield return "HTTP/1.1";
yield return "HTTP\\1.1 200 OK";
yield return "NOTHTTP/1.1 200 OK";
}

public static TheoryData InvalidStatusLine = GetInvalidStatusLine().ToTheoryData();

[Theory]
[MemberData(nameof(InvalidStatusLine))]
[InlineData("HTTP/1.1 2345")]
[InlineData("HTTP/A.1 200 OK")]
[InlineData("HTTP/X.Y.Z 200 OK")]
[InlineData("HTTP/0.1 200 OK")]
[InlineData("HTTP/3.5 200 OK")]
[InlineData("HTTP/1.12 200 OK")]
[InlineData("HTTP/12.1 200 OK")]
[InlineData("HTTP/1.1 200 O\rK")]
[InlineData("HTTP/1.A 200 OK")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 !11")]
[InlineData("HTTP/1.1 a11")]
[InlineData("HTTP/1.1 abc")]
[InlineData("HTTP/1.1\t\t")]
[InlineData("HTTP/1.1\t")]
[InlineData("HTTP/1.1 ")]
[InlineData("HTTP/1.1 200OK")]
[InlineData("HTTP/1.1 20c")]
[InlineData("HTTP/1.1 23")]
[InlineData("HTTP/1.1 2bc")]
[InlineData("NOTHTTP/1.1")]
[InlineData("HTTP 1.1 200 OK")]
[InlineData("ABCD/1.1 200 OK")]
[InlineData("HTTP/1.1")]
[InlineData("HTTP\\1.1 200 OK")]
[InlineData("NOTHTTP/1.1 200 OK")]
public async Task GetAsync_InvalidStatusLine_ThrowsException(string responseString)
{
await GetAsyncThrowsExceptionHelper(responseString);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -497,7 +497,7 @@ public async Task BrowserHttpHandler_StreamingRequest_ThrowFromContentCopy_Reque
}
}

public static TheoryData CancelRequestReadFunctions
public static TheoryData<bool, int, bool> CancelRequestReadFunctions
=> new TheoryData<bool, int, bool>
{
{ false, 0, false },
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,7 @@ public static void EncryptionAlgorithm_NotVerified(int algId)
[InlineData("Potato")]
[InlineData("")]
[InlineData(null)]
public static void HashAlgorithm_NotVerified(string algId)
public static void HashAlgorithm_NotVerified(string? algId)
{
HashAlgorithmName hashName = new HashAlgorithmName(algId);

Expand All@@ -54,7 +54,7 @@ public static void HashAlgorithm_NotVerified_DefaultValue()
[InlineData("SHA256")]
[InlineData("Potato")]
[InlineData(default)]
public static void Pkcs12_NotVerifed_InCtor(string hashAlgName)
public static void Pkcs12_NotVerifed_InCtor(string? hashAlgName)
{
HashAlgorithmName hashName = new HashAlgorithmName(hashAlgName);

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ public class PathInternalTests_Unix
InlineData(@"a\\", @"a\\"),
]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,7 @@ public void IsPartiallyQualifiedTest(string path, bool expected)
InlineData(@" \\", @" \"),
InlineData(@" //", @" \")
]
public void NormalizeDirectorySeparatorTests(string path, string expected)
public void NormalizeDirectorySeparatorTests(string? path, string? expected)
{
string result = PathInternal.NormalizeDirectorySeparators(path);
Assert.Equal(expected, result);
Expand Down
18 changes: 9 additions & 9 deletions src/libraries/Common/tests/Tests/System/StringTests.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -150,7 +150,7 @@ public static void Ctor_Char_Int_Negative_Count_ThrowsArgumentOutOfRangeExceptio
[InlineData(new char[] { '\u041F', '\u0420', '\u0418', '\u0412', '\u0415', '\u0422' }, 0, 6, "\u041F\u0420\u0418\u0412\u0415\u0422")]
[InlineData(new char[0], 0, 0, "")]
[InlineData(null, 0, 0, "")]
public static void Ctor_CharArray(char[] value, int startIndex, int length, string expected)
public static void Ctor_CharArray(char[]? value, int startIndex, int length, string expected)
{
if (value == null)
{
Expand DownExpand Up@@ -2556,7 +2556,7 @@ public static void GetHashCode_EmbeddedNull_ReturnsDifferentHashCodes()
[InlineData("", "", StringComparison.OrdinalIgnoreCase, true)]
[InlineData("123", 123, StringComparison.OrdinalIgnoreCase, false)] // Not a string
[InlineData("\0AAAAAAAAA", "\0BBBBBBBBBBBB", StringComparison.OrdinalIgnoreCase, false)]
public static void EqualsTest(string s1, object obj, StringComparison comparisonType, bool expected)
public static void EqualsTest(string? s1, object? obj, StringComparison comparisonType, bool expected)
{
string s2 = obj as string;
if (s1 != null)
Expand DownExpand Up@@ -2857,7 +2857,7 @@ public static IEnumerable<object[]> Format_Invalid_FormatExceptionFromArgs_Membe
[MemberData(nameof(Format_Invalid_FormatExceptionFromArgs_MemberData))]
[InlineData(null, "{10000000}", new object[] { null })]
[InlineData(null, "{0,10000000}", new string[] { null })]
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider provider, string format, object[] args)
public static void Format_Invalid_FormatExceptionFromFormatOrArgs(IFormatProvider? provider, string format, object[] args)
{
if (provider is null)
{
Expand DownExpand Up@@ -3805,7 +3805,7 @@ public static void Insert_Invalid()
[InlineData("", true)]
[InlineData("foo", false)]
[InlineData(" ", false)]
public static void IsNullOrEmpty(string value, bool expected)
public static void IsNullOrEmpty(string? value, bool expected)
{
Assert.Equal(expected, string.IsNullOrEmpty(value));

Expand DownExpand Up@@ -3970,7 +3970,7 @@ public static void MakeSureNoIsWhiteSpaceChecksGoOutOfRange()
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 0, 3, "Foo$$Bar$$Baz")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 3, 0, "")]
[InlineData("$$", new string[] { "Foo", "Bar", "Baz" }, 1, 1, "Bar")]
public static void Join_StringArray(string separator, string[] values, int startIndex, int count, string expected)
public static void Join_StringArray(string? separator, string[] values, int startIndex, int count, string expected)
{
if (startIndex + count == values.Length && count != 0)
{
Expand DownExpand Up@@ -4892,7 +4892,7 @@ public static void Replace_Char_Char_DoesntAllocateIfNothingIsReplaced(string s,
[InlineData("Aa1Bbb1Cccc1Ddddd1Eeeeee1Fffffff", "1", "23", "Aa23Bbb23Cccc23Ddddd23Eeeeee23Fffffff")]
[InlineData("11111111111111111111111", "1", "11", "1111111111111111111111111111111111111111111111")] // Checks if we handle the max # of matches
[InlineData("11111111111111111111111", "1", "", "")] // Checks if we handle the max # of matches
public static void Replace_String_String(string s, string oldValue, string newValue, string expected)
public static void Replace_String_String(string s, string oldValue, string? newValue, string expected)
{
Assert.Equal(expected, s.Replace(oldValue, newValue));
}
Expand DownExpand Up@@ -6149,7 +6149,7 @@ public static void ToLowerToUpperInvariant_ASCII()
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void Trim(string s, char[] trimChars, string expected)
public static void Trim(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6179,7 +6179,7 @@ public static void Trim(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimEnd(string s, char[] trimChars, string expected)
public static void TrimEnd(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand DownExpand Up@@ -6209,7 +6209,7 @@ public static void TrimEnd(string s, char[] trimChars, string expected)
[InlineData(" ", new char[] { ' ' }, "")]
[InlineData("aaaaa", new char[] { 'a' }, "")]
[InlineData("abaabaa", new char[] { 'b', 'a' }, "")]
public static void TrimStart(string s, char[] trimChars, string expected)
public static void TrimStart(string s, char[]? trimChars, string expected)
{
if (trimChars == null || trimChars.Length == 0 || (trimChars.Length == 1 && trimChars[0] == ' '))
{
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections.Generic;

namespace Xunit;

internal static class TheoryDataExtensions
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class IniConfigurationExtensionsTest
[InlineData(null)]
[InlineData("")]
[ActiveIssue("https://github.com/dotnet/runtime/issues/50867", TestPlatforms.Android)]
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddIniFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,7 +12,7 @@ public class JsonConfigurationExtensionsTest
[Theory]
[InlineData(null)]
[InlineData("")]
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string path)
public void AddJsonFile_ThrowsIfFilePathIsNullOrEmpty(string? path)
{
// Arrange
var configurationBuilder = new ConfigurationBuilder();
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -196,7 +196,7 @@ public async Task ProviderCanBlockLoadWaitingOnConcurrentRead()
await loadTask;
}

public static TheoryData ConcurrentReadActions
public static TheoryData<Action<IConfiguration>> ConcurrentReadActions
{
get
{
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,7 +13,7 @@ public class ServiceCollectionKeyedServiceExtensionsTest
{
private static readonly FakeService _instance = new FakeService();

public static TheoryData AddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -61,7 +61,7 @@ public void AddWithTypeAddsServiceWithRightLifecyle(Action<IServiceCollection> a
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddImplementationFactoryData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> AddImplementationFactoryData
{
get
{
Expand DownExpand Up@@ -109,7 +109,7 @@ public void AddWithFactoryAddsServiceWithRightLifecyle(
Assert.Equal(lifeCycle, descriptor.Lifetime);
}

public static TheoryData AddSingletonData
public static TheoryData<Action<IServiceCollection>> AddSingletonData
{
get
{
Expand DownExpand Up@@ -158,7 +158,7 @@ public void TryAddNoOpFailsIfExists(Action<IServiceCollection> addAction)
Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime);
}

public static TheoryData TryAddImplementationTypeData
public static TheoryData<Action<IServiceCollection>, Type, object, Type, ServiceLifetime> TryAddImplementationTypeData
{
get
{
Expand DownExpand Up@@ -256,7 +256,7 @@ public void TryAddIfMissingActuallyAdds()
Assert.Equal(ServiceLifetime.Transient, descriptor.Lifetime);
}

public static TheoryData TryAddEnumerableImplementationTypeData
public static TheoryData<Func<ServiceDescriptor>, Type, object, Type, ServiceLifetime> TryAddEnumerableImplementationTypeData
{
get
{
Expand DownExpand Up@@ -327,7 +327,7 @@ public void TryAddEnumerable_DoesNotAddDuplicate(
Assert.Equal(expectedLifetime, d.Lifetime);
}

public static TheoryData TryAddEnumerableInvalidImplementationTypeData
public static TheoryData<ServiceDescriptor, Type, Type> TryAddEnumerableInvalidImplementationTypeData
{
get
{
Expand DownExpand Up@@ -489,7 +489,7 @@ public void RemoveAll_RemovesAllMatchingServicesWhenKeyIsInt()
Assert.Equal(new[] { descriptor }, collection);
}

public static TheoryData NullServiceKeyData
public static TheoryData<ServiceDescriptor> NullServiceKeyData
{
get
{
Expand DownExpand Up@@ -520,7 +520,7 @@ public void NullServiceKey_IsKeyedServiceFalse(ServiceDescriptor serviceDescript
Assert.Throws<InvalidOperationException>(() => serviceDescriptor.KeyedImplementationFactory);
}

public static TheoryData NotNullServiceKeyData
public static TheoryData<ServiceDescriptor> NotNullServiceKeyData
{
get
{
Expand Down
Loading
Loading