From e80ed55c6af1a818fc43b5984280e19e66c726a9 Mon Sep 17 00:00:00 2001 From: Adam Sitnik Date: Wed, 18 Sep 2019 17:47:51 +0200 Subject: [PATCH] improve span.StartsWith(span) test coverage (dotnet/corefx#41169) Commit migrated from https://github.com/dotnet/corefx/commit/b8d1e0620e6ed6355d76d118c6fa609e7f7cc049 --- src/libraries/Common/tests/Tests/System/StringTests.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/libraries/Common/tests/Tests/System/StringTests.cs b/src/libraries/Common/tests/Tests/System/StringTests.cs index ebfbd8c..31e914e 100644 --- a/src/libraries/Common/tests/Tests/System/StringTests.cs +++ b/src/libraries/Common/tests/Tests/System/StringTests.cs @@ -1270,8 +1270,8 @@ namespace System.Tests firstSpan.ToString().StartsWith(secondSpan.ToString(), StringComparison.CurrentCulture), firstSpan.Contains(secondSpan, StringComparison.CurrentCulture)); Assert.Equal( - firstSpan.ToString().StartsWith(secondSpan.ToString(), StringComparison.CurrentCulture), - firstSpan.Contains(secondSpan, StringComparison.CurrentCulture)); + firstSpan.ToString().StartsWith(secondSpan.ToString(), StringComparison.CurrentCultureIgnoreCase), + firstSpan.Contains(secondSpan, StringComparison.CurrentCultureIgnoreCase)); Assert.Equal( firstSpan.ToString().StartsWith(secondSpan.ToString(), StringComparison.InvariantCulture), firstSpan.Contains(secondSpan, StringComparison.InvariantCulture)); @@ -4712,7 +4712,10 @@ namespace System.Tests // Invalid comparison type AssertExtensions.Throws("comparisonType", () => s.StartsWith("H", StringComparison.CurrentCulture - 1)); + AssertExtensions.Throws("comparisonType", () => s.AsSpan().StartsWith("H".AsSpan(), StringComparison.CurrentCulture - 1)); + AssertExtensions.Throws("comparisonType", () => s.StartsWith("H", StringComparison.OrdinalIgnoreCase + 1)); + AssertExtensions.Throws("comparisonType", () => s.AsSpan().StartsWith("H".AsSpan(), StringComparison.OrdinalIgnoreCase + 1)); } [Fact] @@ -4790,6 +4793,11 @@ namespace System.Tests ReadOnlySpan slice = s2.AsSpan(); c = span.StartsWith(slice); Assert.True(c); + + span = new ReadOnlySpan(a); + slice = new ReadOnlySpan(b); + c = span.StartsWith(slice); + Assert.True(c); } [Fact] @@ -6977,6 +6985,10 @@ namespace System.Tests Assert.Throws(() => s1.StartsWith(s1, StringComparison.OrdinalIgnoreCase + 1)); Assert.Throws(() => s1.StartsWith(s1, (StringComparison)6)); + Assert.Throws(() => s1.AsSpan().StartsWith(s1.AsSpan(), StringComparison.CurrentCulture - 1)); + Assert.Throws(() => s1.AsSpan().StartsWith(s1.AsSpan(), StringComparison.OrdinalIgnoreCase + 1)); + Assert.Throws(() => s1.AsSpan().StartsWith(s1.AsSpan(), (StringComparison)6)); + Assert.Throws(() => s1.AsSpan().CompareTo(s1.AsSpan(), StringComparison.CurrentCulture - 1)); Assert.Throws(() => s1.AsSpan().CompareTo(s1.AsSpan(), StringComparison.OrdinalIgnoreCase + 1)); Assert.Throws(() => s1.AsSpan().CompareTo(s1.AsSpan(), (StringComparison)6)); -- 2.7.4