]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-string-util: add another test for stripping slashes
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 1 Nov 2017 15:59:30 +0000 (16:59 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 30 Nov 2017 11:59:23 +0000 (12:59 +0100)
I wrote this for my own "strip_trailing_chars" function, which was in the
meanwhile obsoleted by "delete_trailing_chars". Let's just keep the test.

src/test/test-string-util.c

index ed777e1801634686d17af572c6051cea8e25d1be..7a14b8efd38a754f522cfcd032f89ad041073aac 100644 (file)
@@ -320,6 +320,19 @@ static void test_delete_trailing_chars(void) {
         assert_se(s == input3);
 }
 
+static void test_delete_trailing_slashes(void) {
+        char s1[] = "foobar//",
+             s2[] = "foobar/",
+             s3[] = "foobar",
+             s4[] = "";
+
+        assert_se(streq(delete_trailing_chars(s1, "_"), "foobar//"));
+        assert_se(streq(delete_trailing_chars(s1, "/"), "foobar"));
+        assert_se(streq(delete_trailing_chars(s2, "/"), "foobar"));
+        assert_se(streq(delete_trailing_chars(s3, "/"), "foobar"));
+        assert_se(streq(delete_trailing_chars(s4, "/"), ""));
+}
+
 static void test_skip_leading_chars(void) {
         char input1[] = " \n \r k \n \r ",
                 input2[] = "kkkkthiskkkiskkkaktestkkk",
@@ -399,6 +412,7 @@ int main(int argc, char *argv[]) {
         test_endswith_no_case();
         test_delete_chars();
         test_delete_trailing_chars();
+        test_delete_trailing_slashes();
         test_skip_leading_chars();
         test_in_charset();
         test_split_pair();