commit d0d5d7a453b7285b4e5f1b244acb0e4ed51a8c5c
parent 6a904de046578134db8e8e11e17485604d6f6b8a
Author: Chris Bracken <chris@bracken.jp>
Date: Fri, 13 Feb 2026 11:56:06 +0900
Add tests for relpath_from_dir
Diffstat:
1 file changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/utils_tests.c b/src/utils_tests.c
@@ -69,3 +69,33 @@ UTEST(is_safe_mailto, RejectsInvalidCharacters) {
EXPECT_FALSE(is_safe_mailto("test\\@example.com"));
EXPECT_FALSE(is_safe_mailto("test@example.com\n"));
}
+
+UTEST(relpath_from_dir, SingleDirectory) {
+ char* result = relpath_from_dir("folder");
+ ASSERT_STREQ("../", result);
+ free(result);
+}
+
+UTEST(relpath_from_dir, MultipleDirectories) {
+ char* result = relpath_from_dir("path/to/somewhere");
+ ASSERT_STREQ("../../../", result);
+ free(result);
+}
+
+UTEST(relpath_from_dir, CurrentDirectoryLiteral) {
+ char* result = relpath_from_dir(".");
+ ASSERT_STREQ("../", result);
+ free(result);
+}
+
+UTEST(relpath_from_dir, TrailingSlash) {
+ char* result = relpath_from_dir("folder/");
+ ASSERT_STREQ("../../", result);
+ free(result);
+}
+
+UTEST(relpath_from_dir, RootPath) {
+ char* result = relpath_from_dir("/");
+ ASSERT_STREQ("../../", result);
+ free(result);
+}