From f595e47c1f726946c67ebfbe7853a64867c4e07b Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Tue, 22 Jul 2025 07:34:48 -0400 Subject: [PATCH] AK: Add unit tests for Utf16View::code_unit_offset_of --- Tests/AK/TestUtf16View.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Tests/AK/TestUtf16View.cpp b/Tests/AK/TestUtf16View.cpp index eed4f748fe0..99d34e296d8 100644 --- a/Tests/AK/TestUtf16View.cpp +++ b/Tests/AK/TestUtf16View.cpp @@ -384,6 +384,24 @@ TEST_CASE(equals_ignoring_case) EXPECT(!Utf16View { string1 }.equals_ignoring_case(Utf16View { string2 })); } +TEST_CASE(code_unit_offset_of) +{ + Utf16View view { u"😂 foo 😀 bar"sv }; + + EXPECT_EQ(view.code_unit_offset_of(0), 0uz); + EXPECT_EQ(view.code_unit_offset_of(1), 2uz); + EXPECT_EQ(view.code_unit_offset_of(2), 3uz); + EXPECT_EQ(view.code_unit_offset_of(3), 4uz); + EXPECT_EQ(view.code_unit_offset_of(4), 5uz); + EXPECT_EQ(view.code_unit_offset_of(5), 6uz); + EXPECT_EQ(view.code_unit_offset_of(6), 7uz); + EXPECT_EQ(view.code_unit_offset_of(7), 9uz); + EXPECT_EQ(view.code_unit_offset_of(8), 10uz); + EXPECT_EQ(view.code_unit_offset_of(9), 11uz); + EXPECT_EQ(view.code_unit_offset_of(10), 12uz); + EXPECT_EQ(view.code_unit_offset_of(11), 13uz); +} + TEST_CASE(replace) { auto result = u""sv.replace({}, {}, ReplaceMode::FirstOnly);