AK: Allow comparing UTF-16 strings to UTF-8 strings

Before now, you could compare a Utf16View to a StringView, but it would
only be valid if the StringView were ASCII. When porting code to UTF-16,
it will be handy to have a code point-aware implementation for non-ASCII
StringViews.
This commit is contained in:
Timothy Flynn 2025-08-02 19:12:16 -04:00 committed by Tim Flynn
commit 0bf565b97f
Notes: github-actions[bot] 2025-08-05 11:08:55 +00:00
3 changed files with 35 additions and 2 deletions

View file

@ -442,6 +442,24 @@ TEST_CASE(to_ascii_titlecase)
EXPECT_EQ(u"foo 😀 bar"sv.to_ascii_titlecase(), u"Foo 😀 Bar"sv);
}
TEST_CASE(equals_utf8)
{
EXPECT_EQ(u""sv, ""sv);
EXPECT_EQ(u"foo bar"sv, "foo bar"sv);
EXPECT_NE(u"foo bar"sv, "foo ba"sv);
EXPECT_NE(u"foo bar"sv, "foo"sv);
EXPECT_NE(u"foo bar"sv, ""sv);
EXPECT_EQ(u"foo 😀 bar"sv, "foo 😀 bar"sv);
EXPECT_NE(u"foo 😀 bar"sv, "foo 😀"sv);
EXPECT_NE(u"foo 😀 bar"sv, "foo"sv);
EXPECT_NE(u"foo 😀 bar"sv, ""sv);
EXPECT_NE(u"foo 😀 bar"sv, "foo 😂 bar"sv);
EXPECT_NE(u"foo 😂 bar"sv, "foo 😀 bar"sv);
}
TEST_CASE(equals_ignoring_case)
{
auto string1 = Utf16String::from_utf8("foobar"sv);