aboutsummaryrefslogtreecommitdiff
path: root/test/common/StringTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/common/StringTest.cpp')
-rw-r--r--test/common/StringTest.cpp37
1 files changed, 36 insertions, 1 deletions
diff --git a/test/common/StringTest.cpp b/test/common/StringTest.cpp
index 53ed359f..f11f9197 100644
--- a/test/common/StringTest.cpp
+++ b/test/common/StringTest.cpp
@@ -19,7 +19,6 @@ TEST(String, IndexConvert) {
ASSERT_EQ(s.IndexFromCodeUnitToCodePoint(1), 1);
ASSERT_EQ(s.IndexFromCodeUnitToCodePoint(3), 3);
ASSERT_EQ(s.IndexFromCodeUnitToCodePoint(3), 3);
-
}
TEST(String, Format) {
@@ -28,3 +27,39 @@ TEST(String, Format) {
ASSERT_EQ(Format(u"{} + {} = {}", 123, 321, 444), String(u"123 + 321 = 444"));
}
+
+TEST(String, SplitToLines) {
+ using cru::String;
+
+ String s(u"abc\ndef\nghi");
+ auto lines = s.SplitToLines();
+ ASSERT_EQ(lines.size(), 3);
+ ASSERT_EQ(lines[0], String(u"abc"));
+ ASSERT_EQ(lines[1], String(u"def"));
+ ASSERT_EQ(lines[2], String(u"ghi"));
+}
+
+TEST(String, SplitToLinesWithEmptyLine) {
+ using cru::String;
+
+ String s(u"abc\n \ndef\n\nghi\n");
+ auto lines = s.SplitToLines();
+ ASSERT_EQ(lines.size(), 6);
+ ASSERT_EQ(lines[0], String(u"abc"));
+ ASSERT_EQ(lines[1], String(u" "));
+ ASSERT_EQ(lines[2], String(u"def"));
+ ASSERT_EQ(lines[3], String(u""));
+ ASSERT_EQ(lines[4], String(u"ghi"));
+ ASSERT_EQ(lines[5], String(u""));
+}
+
+TEST(String, SplitToLinesRemoveSpaceLine) {
+ using cru::String;
+
+ String s(u"abc\n \ndef\n\nghi\n");
+ auto lines = s.SplitToLines(true);
+ ASSERT_EQ(lines.size(), 3);
+ ASSERT_EQ(lines[0], String(u"abc"));
+ ASSERT_EQ(lines[1], String(u"def"));
+ ASSERT_EQ(lines[2], String(u"ghi"));
+}