# HG changeset patch # User Olaf Wintermann # Date 1768642178 -3600 # Node ID b28d361793a7eb02a93758770e0e2837995331e1 # Parent 6b778887bd09a6b7f338076c26f643a3f1e9135e add test_util_path_normalize diff -r 6b778887bd09 -r b28d361793a7 test/main.c --- a/test/main.c Wed Jan 14 20:30:25 2026 +0100 +++ b/test/main.c Sat Jan 17 10:29:38 2026 +0100 @@ -67,6 +67,7 @@ cx_test_register(suite, test_util_concat_path); cx_test_register(suite, test_util_path_isrelated); cx_test_register(suite, test_util_path_isabsolut); + cx_test_register(suite, test_util_path_normalize); cx_test_run_stdout(suite); cx_test_suite_free(suite); diff -r 6b778887bd09 -r b28d361793a7 test/utils.c --- a/test/utils.c Wed Jan 14 20:30:25 2026 +0100 +++ b/test/utils.c Sat Jan 17 10:29:38 2026 +0100 @@ -174,3 +174,27 @@ CX_TEST_ASSERT(util_path_isabsolut("/")); } } + +CX_TEST(test_util_path_normalize) { + CX_TEST_DO { + char *str = util_path_normalize("/path/abc/../test"); + CX_TEST_ASSERT(!strcmp(str, "/path/test")); + free(str); + + str = util_path_normalize("/../../../test"); + CX_TEST_ASSERT(!strcmp(str, "test")); + free(str); + + str = util_path_normalize("/abc/def"); + CX_TEST_ASSERT(!strcmp(str, "/abc/def")); + free(str); + + str = util_path_normalize("abs/path"); + CX_TEST_ASSERT(!strcmp(str, "abs/path")); + free(str); + + str = util_path_normalize(".."); + CX_TEST_ASSERT(!strcmp(str, "")); + free(str); + } +} diff -r 6b778887bd09 -r b28d361793a7 test/utils.h --- a/test/utils.h Wed Jan 14 20:30:25 2026 +0100 +++ b/test/utils.h Sat Jan 17 10:29:38 2026 +0100 @@ -41,6 +41,7 @@ CX_TEST(test_util_concat_path); CX_TEST(test_util_path_isrelated); CX_TEST(test_util_path_isabsolut); +CX_TEST(test_util_path_normalize); #ifdef __cplusplus