3 #include "filesystem_test.h"
4 #include "pbd/file_utils.h"
8 CPPUNIT_TEST_SUITE_REGISTRATION (FilesystemTest);
11 FilesystemTest::testPathIsWithin ()
13 #ifndef PLATFORM_WINDOWS
15 CPPUNIT_ASSERT (g_mkdir_with_parents ("foo/bar/baz", 0755) == 0);
17 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar/baz", "foo/bar/baz"));
18 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar", "foo/bar/baz"));
19 CPPUNIT_ASSERT (PBD::path_is_within ("foo", "foo/bar/baz"));
20 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar", "foo/bar/baz"));
21 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar", "foo/bar"));
23 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar/baz", "frobozz") == false);
25 int const r = symlink ("bar", "foo/jim");
26 CPPUNIT_ASSERT (r == 0);
28 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar/baz", "foo/bar/baz"));
29 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar", "foo/bar/baz"));
30 CPPUNIT_ASSERT (PBD::path_is_within ("foo", "foo/bar/baz"));
31 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar", "foo/bar/baz"));
32 CPPUNIT_ASSERT (PBD::path_is_within ("foo/bar", "foo/bar"));
34 CPPUNIT_ASSERT (PBD::path_is_within ("foo/jim/baz", "frobozz") == false);