From 42ab9f491dc9efb2732d09a4e6e1be5b833af3bb Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sun, 19 Oct 2025 00:51:25 +0200 Subject: str & sha1: Improve test code coverage --- test/str.cc | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'test/str.cc') diff --git a/test/str.cc b/test/str.cc index d7d331f..0184ad5 100644 --- a/test/str.cc +++ b/test/str.cc @@ -37,6 +37,45 @@ TEST(str, split) { EXPECT_EQ("b", ret[2]); } +TEST(str, split2) { + auto ret = str::split("", "\r\n"); + EXPECT_EQ(0, ret.size()); + + ret = str::split("", "\r\n", true); + ASSERT_EQ(1, ret.size()); + EXPECT_EQ("", ret[0]); + + ret = str::split("\r\n", "\r\n"); + EXPECT_EQ(0, ret.size()); + + ret = str::split("\r\n", "\r\n", true); + ASSERT_EQ(2, ret.size()); + EXPECT_EQ("", ret[0]); + EXPECT_EQ("", ret[1]); + + ret = str::split("\r\na\r\nb\r\n", "\r\n"); + ASSERT_EQ(2, ret.size()); + EXPECT_EQ("a", ret[0]); + EXPECT_EQ("b", ret[1]); + + ret = str::split("\r\na\r\nb\r\n", "\r\n", true); + ASSERT_EQ(4, ret.size()); + EXPECT_EQ("", ret[0]); + EXPECT_EQ("a", ret[1]); + EXPECT_EQ("b", ret[2]); + EXPECT_EQ("", ret[3]); + + ret = str::split("\r\na\r\nb", "\r\n", true); + ASSERT_EQ(3, ret.size()); + EXPECT_EQ("", ret[0]); + EXPECT_EQ("a", ret[1]); + EXPECT_EQ("b", ret[2]); + + ret = str::split("\ra\nb", "\r\n"); + ASSERT_EQ(1, ret.size()); + EXPECT_EQ("\ra\nb", ret[0]); +} + TEST(str, trim) { auto ret = str::trim(""); EXPECT_EQ("", ret); -- cgit v1.2.3-70-g09d2