1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:38:10 +00:00

LibMarkdown: Handle CRLF line endings

Previously, MDDocument only split on Unix-style line endings. This adds
a new function to StringView which handles LF, CR and CRLF.
This commit is contained in:
Tommy Nguyen 2019-12-02 07:42:33 -05:00 committed by Andreas Kling
parent 035c4e15f4
commit 2eb5793d55
4 changed files with 68 additions and 1 deletions

View file

@ -42,4 +42,25 @@ TEST_CASE(starts_with)
EXPECT(!test_string_view.starts_with("DEF"));
}
TEST_CASE(lines)
{
String test_string = "a\nb\r\nc\rd";
StringView test_string_view = test_string.view();
Vector<StringView> test_string_vector = test_string_view.lines();
EXPECT_EQ(test_string_vector.size(), 4);
EXPECT(test_string_vector.at(0) == String("a"));
EXPECT(test_string_vector.at(1) == String("b"));
EXPECT(test_string_vector.at(2) == String("c"));
EXPECT(test_string_vector.at(3) == String("d"));
test_string = "```\nHello there\r\nHello there\n```";
test_string_view = test_string.view();
test_string_vector = test_string_view.lines();
EXPECT_EQ(test_string_vector.size(), 4);
EXPECT(test_string_vector.at(0) == String("```"));
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_MAIN(StringView)