diff options
author | Timothy Flynn <trflynn89@pm.me> | 2021-09-05 15:03:56 -0400 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2021-09-06 15:24:27 +0100 |
commit | 436faf9fd97c4d595bb1dc7a47585cc876b19da8 (patch) | |
tree | 0b4a9d972914c388344e5f72f219013d9e7641b4 /Tests | |
parent | 1427ebc622b775885ff45d2f2b684534c2b3350a (diff) | |
download | serenity-436faf9fd97c4d595bb1dc7a47585cc876b19da8.zip |
LibUnicode: Implement locale-aware MORE_ABOVE special casing
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/LibUnicode/TestUnicodeCharacterTypes.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Tests/LibUnicode/TestUnicodeCharacterTypes.cpp b/Tests/LibUnicode/TestUnicodeCharacterTypes.cpp index 18cff2bdcb..e53b951945 100644 --- a/Tests/LibUnicode/TestUnicodeCharacterTypes.cpp +++ b/Tests/LibUnicode/TestUnicodeCharacterTypes.cpp @@ -198,6 +198,51 @@ TEST_CASE(to_unicode_lowercase_special_casing_i) EXPECT_EQ(result, "\u0131a\u0307"sv); } +TEST_CASE(to_unicode_lowercase_special_casing_more_above) +{ + // LATIN CAPITAL LETTER I + auto result = Unicode::to_unicode_lowercase_full("I"sv, "en"sv); + EXPECT_EQ(result, "i"sv); + + result = Unicode::to_unicode_lowercase_full("I"sv, "lt"sv); + EXPECT_EQ(result, "i"sv); + + // LATIN CAPITAL LETTER J + result = Unicode::to_unicode_lowercase_full("J"sv, "en"sv); + EXPECT_EQ(result, "j"sv); + + result = Unicode::to_unicode_lowercase_full("J"sv, "lt"sv); + EXPECT_EQ(result, "j"sv); + + // LATIN CAPITAL LETTER I WITH OGONEK + result = Unicode::to_unicode_lowercase_full("\u012e"sv, "en"sv); + EXPECT_EQ(result, "\u012f"sv); + + result = Unicode::to_unicode_lowercase_full("\u012e"sv, "lt"sv); + EXPECT_EQ(result, "\u012f"sv); + + // LATIN CAPITAL LETTER I followed by COMBINING GRAVE ACCENT + result = Unicode::to_unicode_lowercase_full("I\u0300"sv, "en"sv); + EXPECT_EQ(result, "i\u0300"sv); + + result = Unicode::to_unicode_lowercase_full("I\u0300"sv, "lt"sv); + EXPECT_EQ(result, "i\u0307\u0300"sv); + + // LATIN CAPITAL LETTER J followed by COMBINING GRAVE ACCENT + result = Unicode::to_unicode_lowercase_full("J\u0300"sv, "en"sv); + EXPECT_EQ(result, "j\u0300"sv); + + result = Unicode::to_unicode_lowercase_full("J\u0300"sv, "lt"sv); + EXPECT_EQ(result, "j\u0307\u0300"sv); + + // LATIN CAPITAL LETTER I WITH OGONEK followed by COMBINING GRAVE ACCENT + result = Unicode::to_unicode_lowercase_full("\u012e\u0300"sv, "en"sv); + EXPECT_EQ(result, "\u012f\u0300"sv); + + result = Unicode::to_unicode_lowercase_full("\u012e\u0300"sv, "lt"sv); + EXPECT_EQ(result, "\u012f\u0307\u0300"sv); +} + TEST_CASE(to_unicode_uppercase_unconditional_special_casing) { // LATIN SMALL LETTER SHARP S |