mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:57:35 +00:00
AK: Track byte length, rather than code point length, in Utf8View::trim
Utf8View::trim uses Utf8View::substring_view to return its result, which requires the input to be a byte offset/length rather than code point length.
This commit is contained in:
parent
660a8982e7
commit
87848cdf7d
3 changed files with 49 additions and 8 deletions
|
@ -182,3 +182,38 @@ TEST_CASE(decode_invalid_ut8)
|
|||
VERIFY(i == expected_size);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE(trim)
|
||||
{
|
||||
Utf8View whitespace { " " };
|
||||
{
|
||||
Utf8View view { "word" };
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Both).as_string(), "word");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Left).as_string(), "word");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Right).as_string(), "word");
|
||||
}
|
||||
{
|
||||
Utf8View view { " word" };
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Both).as_string(), "word");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Left).as_string(), "word");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Right).as_string(), " word");
|
||||
}
|
||||
{
|
||||
Utf8View view { "word " };
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Both).as_string(), "word");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Left).as_string(), "word ");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Right).as_string(), "word");
|
||||
}
|
||||
{
|
||||
Utf8View view { " word " };
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Both).as_string(), "word");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Left).as_string(), "word ");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Right).as_string(), " word");
|
||||
}
|
||||
{
|
||||
Utf8View view { "\u180E" };
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Both).as_string(), "\u180E");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Left).as_string(), "\u180E");
|
||||
EXPECT_EQ(view.trim(whitespace, TrimMode::Right).as_string(), "\u180E");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue