13
0
livetrax/libs/pbd/test/filesystem_test.cc
Carl Hetherington ec362b39ad Missing files.
git-svn-id: svn://localhost/ardour2/branches/3.0@12469 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 16:48:39 +00:00

36 lines
1.2 KiB
C++

#include <unistd.h>
#include <stdlib.h>
#include "filesystem_test.h"
#include "pbd/filesystem.h"
using namespace std;
CPPUNIT_TEST_SUITE_REGISTRATION (FilesystemTest);
void
FilesystemTest::testPathIsWithin ()
{
system ("rm -r foo");
PBD::sys::create_directories ("foo/bar/baz");
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar/baz", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar", "foo/bar"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar/baz", "frobozz") == false);
int const r = symlink ("bar", "foo/jim");
CPPUNIT_ASSERT (r == 0);
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar/baz", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar", "foo/bar/baz"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/bar", "foo/bar"));
CPPUNIT_ASSERT (PBD::sys::path_is_within ("foo/jim/baz", "frobozz") == false);
}