mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-03 23:25:20 +00:00
AK: Add a StringView method to count the number of lines in a string
We already have a helper to split a StringView by line while considering "\n", "\r", and "\r\n". Add an analagous method to just count the number of lines in the same manner.
This commit is contained in:
@@ -105,6 +105,24 @@ TEST_CASE(lines)
|
||||
EXPECT_EQ(test_string_vector.at(2).is_empty(), true);
|
||||
}
|
||||
|
||||
TEST_CASE(count_lines)
|
||||
{
|
||||
EXPECT_EQ(""sv.count_lines(), 1u);
|
||||
EXPECT_EQ("foo"sv.count_lines(), 1u);
|
||||
|
||||
EXPECT_EQ("foo\nbar"sv.count_lines(), 2u);
|
||||
EXPECT_EQ("foo\rbar"sv.count_lines(), 2u);
|
||||
EXPECT_EQ("foo\rbar"sv.count_lines(StringView::ConsiderCarriageReturn::No), 1u);
|
||||
EXPECT_EQ("foo\r\nbar"sv.count_lines(), 2u);
|
||||
EXPECT_EQ("foo\r\nbar"sv.count_lines(StringView::ConsiderCarriageReturn::No), 2u);
|
||||
|
||||
EXPECT_EQ("foo\nbar\nbax"sv.count_lines(), 3u);
|
||||
EXPECT_EQ("foo\rbar\rbaz"sv.count_lines(), 3u);
|
||||
EXPECT_EQ("foo\rbar\rbaz"sv.count_lines(StringView::ConsiderCarriageReturn::No), 1u);
|
||||
EXPECT_EQ("foo\r\nbar\r\nbaz"sv.count_lines(), 3u);
|
||||
EXPECT_EQ("foo\r\nbar\r\nbaz"sv.count_lines(StringView::ConsiderCarriageReturn::No), 3u);
|
||||
}
|
||||
|
||||
TEST_CASE(find)
|
||||
{
|
||||
auto test_string_view = "aabbcc_xy_ccbbaa"sv;
|
||||
|
||||
Reference in New Issue
Block a user