summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/filesystem_test.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/filesystem_test.cc b/test/filesystem_test.cc
index fc13db99..90b7761e 100644
--- a/test/filesystem_test.cc
+++ b/test/filesystem_test.cc
@@ -95,3 +95,18 @@ BOOST_AUTO_TEST_CASE (windows_long_filename_test)
}
#endif
+
+BOOST_AUTO_TEST_CASE(weakly_canonical_test)
+{
+#ifdef LIBDCP_WINDOWS
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("c:\\a\\b\\c") == boost::filesystem::path("c:\\a\\b\\c"));
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("c:\\a\\b\\..\\c") == boost::filesystem::path("c:\\a\\c"));
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("c:\\a\\b\\..\\c\\.\\d") == boost::filesystem::path("c:\\a\\c\\d"));
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("c:\\a\\..\\b\\..\\c") == boost::filesystem::path("c:\\c"));
+#else
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("/a/b/c") == boost::filesystem::path("/a/b/c"));
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("/a/b/../c") == boost::filesystem::path("/a/c"));
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("/a/b/../c/./d") == boost::filesystem::path("/a/c/d"));
+ BOOST_CHECK(dcp::filesystem::weakly_canonical("/a/../b/../c") == boost::filesystem::path("/c"));
+#endif
+}