Skip to content

Commit

Permalink
Add polyfill for the string.Contains(char, StringComparison) method (
Browse files Browse the repository at this point in the history
  • Loading branch information
Tyrrrz authored Dec 31, 2023
1 parent bfacdc2 commit ea974cf
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
13 changes: 12 additions & 1 deletion PolyShim.Tests/NetCore21/StringTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,18 @@ namespace PolyShim.Tests.NetCore21;
public class StringTests
{
[Fact]
public void Contains_Test()
public void Contains_Char_Test()
{
// Arrange
const string str = "abc";

// Act & assert
str.Contains('B', StringComparison.OrdinalIgnoreCase).Should().BeTrue();
str.Contains('B', StringComparison.Ordinal).Should().BeFalse();
}

[Fact]
public void Contains_String_Test()
{
// Arrange
const string str = "abc";
Expand Down
4 changes: 4 additions & 0 deletions PolyShim/NetCore21/String.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

internal static partial class PolyfillExtensions
{
// https://learn.microsoft.com/en-us/dotnet/api/system.string.contains#system-string-contains(system-char-system-stringcomparison)
public static bool Contains(this string str, char c, StringComparison comparison) =>
str.Contains(c.ToString(), comparison);

// https://learn.microsoft.com/en-us/dotnet/api/system.string.contains#system-string-contains(system-string-system-stringcomparison)
public static bool Contains(this string str, string sub, StringComparison comparison) =>
str.IndexOf(sub, comparison) >= 0;
Expand Down

0 comments on commit ea974cf

Please sign in to comment.