]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
test: Add a test for strim()
authorSimon Glass <sjg@chromium.org>
Thu, 1 May 2025 11:10:09 +0000 (05:10 -0600)
committerSimon Glass <sjg@chromium.org>
Fri, 16 May 2025 04:21:37 +0000 (06:21 +0200)
This function trims whitespace from the start and end of a string. Add a
test for it.

Signed-off-by: Simon Glass <sjg@chromium.org>
test/lib/string.c

index 31391a387b952691af7538b83502a9abb90123f9..f56c2e4c9468e5310d6d7c61d114bf75ef4a12b0 100644 (file)
@@ -261,3 +261,40 @@ static int lib_strstr(struct unit_test_state *uts)
        return 0;
 }
 LIB_TEST(lib_strstr, 0);
+
+static int lib_strim(struct unit_test_state *uts)
+{
+       char buf[BUFLEN], *p;
+
+       strcpy(buf, "abc");
+       ut_asserteq_str("abc", strim(buf));
+
+       /* leading space */
+       strcpy(buf, " abc");
+       ut_asserteq_str("abc", strim(buf));
+
+       /* multiple leading spaces */
+       strcpy(buf, "  abc");
+       ut_asserteq_str("abc", strim(buf));
+
+       /* multiple internal spaces */
+       strcpy(buf, "  a   bc");
+       ut_asserteq_str("a   bc", strim(buf));
+
+       /* with trailing space */
+       strcpy(buf, "  a   bc ");
+       ut_asserteq_str("a   bc", strim(buf));
+
+       /* with multiple trailing spaces */
+       strcpy(buf, "  a   bc   ");
+       ut_asserteq_str("a   bc", strim(buf));
+
+       /* with only spaces */
+       strcpy(buf, "     ");
+       p = strim(buf);
+       ut_asserteq_ptr(p, buf);
+       ut_asserteq_str("", p);
+
+       return 0;
+}
+LIB_TEST(lib_strim, 0);