gout

A static git page generator
git clone https://git.bracken.jp/gout.git
Log | Files | Refs | README | LICENSE

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:
Msrc/utils_tests.c | 30++++++++++++++++++++++++++++++
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); +}