diff --git a/AK/StringView.cpp b/AK/StringView.cpp index 2b79c61c28..8e9a2aa41e 100644 --- a/AK/StringView.cpp +++ b/AK/StringView.cpp @@ -68,8 +68,7 @@ Vector StringView::lines(bool consider_cr) const } if (split_view) { ssize_t sublen = i - substart; - if (sublen != 0) - v.append(substring_view(substart, sublen)); + v.append(substring_view(substart, sublen)); substart = i + 1; } split_view = false; diff --git a/AK/Tests/TestStringView.cpp b/AK/Tests/TestStringView.cpp index d98c74138d..efe2596151 100644 --- a/AK/Tests/TestStringView.cpp +++ b/AK/Tests/TestStringView.cpp @@ -61,6 +61,14 @@ TEST_CASE(lines) EXPECT(test_string_vector.at(1) == String("Hello there")); EXPECT(test_string_vector.at(2) == String("Hello there")); EXPECT(test_string_vector.at(3) == String("```")); + + test_string = "\n\n\n"; + test_string_view = test_string.view(); + test_string_vector = test_string_view.lines(); + EXPECT_EQ(test_string_vector.size(), 3); + EXPECT_EQ(test_string_vector.at(0).is_empty(), true); + EXPECT_EQ(test_string_vector.at(1).is_empty(), true); + EXPECT_EQ(test_string_vector.at(2).is_empty(), true); } TEST_MAIN(StringView)