Add unit tests for path_is_relative

This commit is contained in:
Esteban Manchado Velázquez 2012-02-20 22:53:25 +01:00 committed by Nick Mathewson
parent dbd170f752
commit 998891e734

View File

@ -1503,6 +1503,42 @@ test_util_sscanf(void)
;
}
static void
test_util_path_is_relative(void)
{
/* OS-independent tests */
test_eq(1, path_is_relative(""));
test_eq(1, path_is_relative("dir"));
test_eq(1, path_is_relative("dir/"));
test_eq(1, path_is_relative("./dir"));
test_eq(1, path_is_relative("../dir"));
test_eq(0, path_is_relative("/"));
test_eq(0, path_is_relative("/dir"));
test_eq(0, path_is_relative("/dir/"));
/* Windows */
#ifdef MS_WINDOWS
/* I don't have Windows so I can't test this, hence the "#ifdef
0". These are tests that look useful, so please try to get them
running and uncomment if it all works as it should */
#ifdef 0
test_eq(1, path_is_relative("dir"));
test_eq(1, path_is_relative("dir\\"));
test_eq(1, path_is_relative("dir\\a:"));
test_eq(1, path_is_relative("dir\\a:\\"));
test_eq(0, path_is_relative("\\dir"));
test_eq(0, path_is_relative("a:\\dir"));
test_eq(0, path_is_relative("z:\\dir"));
test_eq(0, path_is_relative("http:\\dir"));
#endif
#endif
done:
;
}
/** Run unittests for memory pool allocator */
static void
test_util_mempool(void)
@ -2855,6 +2891,7 @@ struct testcase_t util_tests[] = {
UTIL_LEGACY(mmap),
UTIL_LEGACY(threads),
UTIL_LEGACY(sscanf),
UTIL_LEGACY(path_is_relative),
UTIL_LEGACY(strtok),
UTIL_LEGACY(di_ops),
UTIL_TEST(find_str_at_start_of_line, 0),