summaryrefslogtreecommitdiff
path: root/test/str.cc
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2025-10-19 00:06:54 +0200
committerJoel Klinghed <the_jk@spawned.biz>2025-10-19 00:13:47 +0200
commit800bdbb18617dfac36067b8841781a92b19d57c1 (patch)
tree2b003e2273eb2f20e31b69ae8b6120bfc2062873 /test/str.cc
parentdad0aaa9b33a5a217ac115334a94fe299dce9e08 (diff)
str: Add ltrim and rtrim
Useful when you only want to trim one side..
Diffstat (limited to 'test/str.cc')
-rw-r--r--test/str.cc58
1 files changed, 58 insertions, 0 deletions
diff --git a/test/str.cc b/test/str.cc
index 6d7edf2..d7d331f 100644
--- a/test/str.cc
+++ b/test/str.cc
@@ -65,3 +65,61 @@ TEST(str, trim) {
ret = str::trim("\tfoo bar\r\n");
EXPECT_EQ("foo bar", ret);
}
+
+TEST(str, ltrim) {
+ auto ret = str::ltrim("");
+ EXPECT_EQ("", ret);
+
+ ret = str::ltrim(" ");
+ EXPECT_EQ("", ret);
+
+ ret = str::ltrim(" ");
+ EXPECT_EQ("", ret);
+
+ ret = str::ltrim("foo");
+ EXPECT_EQ("foo", ret);
+
+ ret = str::ltrim(" foo");
+ EXPECT_EQ("foo", ret);
+
+ ret = str::ltrim(" foo ");
+ EXPECT_EQ("foo ", ret);
+
+ ret = str::ltrim("foo ");
+ EXPECT_EQ("foo ", ret);
+
+ ret = str::ltrim(" foo bar ");
+ EXPECT_EQ("foo bar ", ret);
+
+ ret = str::ltrim("\tfoo bar\r\n");
+ EXPECT_EQ("foo bar\r\n", ret);
+}
+
+TEST(str, rtrim) {
+ auto ret = str::rtrim("");
+ EXPECT_EQ("", ret);
+
+ ret = str::rtrim(" ");
+ EXPECT_EQ("", ret);
+
+ ret = str::rtrim(" ");
+ EXPECT_EQ("", ret);
+
+ ret = str::rtrim("foo");
+ EXPECT_EQ("foo", ret);
+
+ ret = str::rtrim(" foo");
+ EXPECT_EQ(" foo", ret);
+
+ ret = str::rtrim(" foo ");
+ EXPECT_EQ(" foo", ret);
+
+ ret = str::rtrim("foo ");
+ EXPECT_EQ("foo", ret);
+
+ ret = str::rtrim(" foo bar ");
+ EXPECT_EQ(" foo bar", ret);
+
+ ret = str::rtrim("\tfoo bar\r\n");
+ EXPECT_EQ("\tfoo bar", ret);
+}