summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/sha1.cc3
-rw-r--r--test/str.cc39
2 files changed, 42 insertions, 0 deletions
diff --git a/test/sha1.cc b/test/sha1.cc
index 7441f01..24821ba 100644
--- a/test/sha1.cc
+++ b/test/sha1.cc
@@ -14,4 +14,7 @@ TEST(Sha1, sanity) {
sha1::hash("The quick brown fox jumps over the lazy cog")));
EXPECT_EQ("2jmj7l5rSw0yVb/vlWAYkK/YBwk=", base64::encode(sha1::hash("")));
+
+ EXPECT_EQ("2jmj7l5rSw0yVb/vlWAYkK/YBwk=",
+ base64::encode(sha1::hash(std::span<char>{})));
}
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);