From: Adam Sitnik Date: Fri, 20 Sep 2019 08:18:20 +0000 (+0200) Subject: add StartsWith Surrogates test cases (dotnet/corefx#41227) X-Git-Tag: submit/tizen/20210909.063632~11031^2~431 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6fd770265dd24a6f887ea81d6046253155ece828;p=platform%2Fupstream%2Fdotnet%2Fruntime.git add StartsWith Surrogates test cases (dotnet/corefx#41227) Commit migrated from https://github.com/dotnet/corefx/commit/ce5dfbb9ad62f95885748c7e95ebcd3ca453d1bf --- diff --git a/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IsPrefix.cs b/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IsPrefix.cs index 03fe111..117bc6c 100644 --- a/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IsPrefix.cs +++ b/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IsPrefix.cs @@ -53,6 +53,17 @@ namespace System.Globalization.Tests yield return new object[] { s_invariantCompare, "FooBar", "Foo\u0400Bar", CompareOptions.Ordinal, false }; yield return new object[] { s_invariantCompare, "FooBA\u0300R", "FooB\u00C0R", CompareOptions.IgnoreNonSpace, true }; yield return new object[] { s_invariantCompare, "o\u0308", "o", CompareOptions.None, false }; + yield return new object[] { s_invariantCompare, "o\u0308", "o", CompareOptions.Ordinal, true }; + + // Surrogates + yield return new object[] { s_invariantCompare, "\uD800\uDC00", "\uD800\uDC00", CompareOptions.None, true }; + yield return new object[] { s_invariantCompare, "\uD800\uDC00", "\uD800\uDC00", CompareOptions.IgnoreCase, true }; + yield return new object[] { s_invariantCompare, "\uD800\uDC00", "\uD800", CompareOptions.Ordinal, true }; + yield return new object[] { s_invariantCompare, "\uD800\uDC00", "\uD800", CompareOptions.OrdinalIgnoreCase, true }; + + // Malformed Unicode - Invalid Surrogates (there is nothing special about them, they don't have a special treatment) + yield return new object[] { s_invariantCompare, "\uD800\uD800", "\uD800", CompareOptions.None, true }; + yield return new object[] { s_invariantCompare, "\uD800\uD800", "\uD800\uD800", CompareOptions.None, true }; // Ignore symbols yield return new object[] { s_invariantCompare, "Test's can be interesting", "Tests", CompareOptions.IgnoreSymbols, true }; @@ -62,6 +73,8 @@ namespace System.Globalization.Tests yield return new object[] { s_hungarianCompare, "dzsdzsfoobar", "ddzsf", CompareOptions.None, PlatformDetection.IsWindows ? true : false }; yield return new object[] { s_invariantCompare, "''Tests", "Tests", CompareOptions.IgnoreSymbols, PlatformDetection.IsWindows ? true : false }; yield return new object[] { s_frenchCompare, "\u0153", "oe", CompareOptions.None, PlatformDetection.IsWindows ? true : false }; + yield return new object[] { s_invariantCompare, "\uD800\uDC00", "\uD800", CompareOptions.None, PlatformDetection.IsWindows ? true : false }; + yield return new object[] { s_invariantCompare, "\uD800\uDC00", "\uD800", CompareOptions.IgnoreCase, PlatformDetection.IsWindows ? true : false }; } [Theory]