Skip to content

Commit 11e33d5

Browse files
committed
Add polyfill for splitting on a single char or string
1 parent 3dfd825 commit 11e33d5

File tree

6 files changed

+11
-5
lines changed

6 files changed

+11
-5
lines changed

Src/FluentAssertions/Common/MemberPath.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public bool HasSameParentAs(MemberPath path)
116116
private string[] Segments =>
117117
segments ??= dottedPath
118118
.Replace("[]", "[*]", StringComparison.Ordinal)
119-
.Split(new[] { '.', '[', ']' }, StringSplitOptions.RemoveEmptyEntries);
119+
.Split(['.', '[', ']'], StringSplitOptions.RemoveEmptyEntries);
120120

121121
/// <summary>
122122
/// Returns a copy of the current object as if it represented an un-indexed item in a collection.

Src/FluentAssertions/Common/StringExtensions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public static string Capitalize(this string @this)
103103
public static string IndentLines(this string @this)
104104
{
105105
return string.Join(Environment.NewLine,
106-
@this.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).Select(x => $"\t{x}"));
106+
@this.Split(['\r', '\n'], StringSplitOptions.RemoveEmptyEntries).Select(x => $"\t{x}"));
107107
}
108108

109109
public static string RemoveNewLines(this string @this)

Src/FluentAssertions/Equivalency/Execution/ObjectReference.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public override bool Equals(object obj)
3939

4040
private string[] GetPathElements() => pathElements
4141
??= path.ToUpperInvariant().Replace("][", "].[", StringComparison.Ordinal)
42-
.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
42+
.Split('.', StringSplitOptions.RemoveEmptyEntries);
4343

4444
private bool IsParentOrChildOf(ObjectReference other)
4545
{

Src/FluentAssertions/Equivalency/Tracing/StringBuilderTraceWriter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public IDisposable AddBlock(string trace)
2828

2929
private void WriteLine(string trace)
3030
{
31-
foreach (string traceLine in trace.Split([Environment.NewLine], StringSplitOptions.RemoveEmptyEntries))
31+
foreach (string traceLine in trace.Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries))
3232
{
3333
builder.Append(new string(' ', depth * 2)).AppendLine(traceLine);
3434
}

Src/FluentAssertions/Formatting/XElementValueFormatter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,6 @@ private static string FormatElementWithChildren(XElement element)
4848
private static string[] SplitIntoSeparateLines(XElement element)
4949
{
5050
string formattedXml = element.ToString();
51-
return formattedXml.Split([Environment.NewLine], StringSplitOptions.None);
51+
return formattedXml.Split(Environment.NewLine, StringSplitOptions.None);
5252
}
5353
}

Src/FluentAssertions/Polyfill/SystemExtensions.cs

+6
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ public static bool Contains(this string str, char value, StringComparison compar
2323
// https://source.dot.net/#System.Private.CoreLib/src/libraries/System.Private.CoreLib/src/System/String.Comparison.cs,1014
2424
public static bool StartsWith(this string str, char value) =>
2525
str.Length != 0 && str[0] == value;
26+
27+
public static string[] Split(this string str, char separator, StringSplitOptions options = StringSplitOptions.None) =>
28+
str.Split([separator], options);
29+
30+
public static string[] Split(this string str, string separator, StringSplitOptions options = StringSplitOptions.None) =>
31+
str.Split([separator], options);
2632
}
2733

2834
#endif

0 commit comments

Comments
 (0)