X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftest%2Ftest-path-util.c;h=82090ce99f51d4d9b7c45e2d388938c492783c8b;hb=5895b62f1da8db93677d2bc369dff34fcaa97f91;hp=63d64b28b0d390c04915bb663ce075d44ef52920;hpb=d3774a1b15ea86f6156269e7ed813830f0c4abb8;p=elogind.git diff --git a/src/test/test-path-util.c b/src/test/test-path-util.c index 63d64b28b..82090ce99 100644 --- a/src/test/test-path-util.c +++ b/src/test/test-path-util.c @@ -242,6 +242,25 @@ static void test_strv_resolve(void) { assert_se(rm_rf_dangerous(tmp_dir, false, true, false) == 0); } +static void test_path_startswith(void) { + assert_se(path_startswith("/foo/bar/barfoo/", "/foo")); + assert_se(path_startswith("/foo/bar/barfoo/", "/foo/")); + assert_se(path_startswith("/foo/bar/barfoo/", "/")); + assert_se(path_startswith("/foo/bar/barfoo/", "////")); + assert_se(path_startswith("/foo/bar/barfoo/", "/foo//bar/////barfoo///")); + assert_se(path_startswith("/foo/bar/barfoo/", "/foo/bar/barfoo////")); + assert_se(path_startswith("/foo/bar/barfoo/", "/foo/bar///barfoo/")); + assert_se(path_startswith("/foo/bar/barfoo/", "/foo////bar/barfoo/")); + assert_se(path_startswith("/foo/bar/barfoo/", "////foo/bar/barfoo/")); + assert_se(path_startswith("/foo/bar/barfoo/", "/foo/bar/barfoo")); + + assert_se(!path_startswith("/foo/bar/barfoo/", "/foo/bar/barfooa/")); + assert_se(!path_startswith("/foo/bar/barfoo/", "/foo/bar/barfooa")); + assert_se(!path_startswith("/foo/bar/barfoo/", "")); + assert_se(!path_startswith("/foo/bar/barfoo/", "/bar/foo")); + assert_se(!path_startswith("/foo/bar/barfoo/", "/f/b/b/")); +} + int main(int argc, char **argv) { test_path(); test_find_binary(argv[0]); @@ -250,5 +269,7 @@ int main(int argc, char **argv) { test_fsck_exists(); test_make_relative(); test_strv_resolve(); + test_path_startswith(); + return 0; }