diff --git a/include/ghc/filesystem.hpp b/include/ghc/filesystem.hpp index e215e9c..3831eb2 100644 --- a/include/ghc/filesystem.hpp +++ b/include/ghc/filesystem.hpp @@ -147,7 +147,7 @@ #define LWG_2937_BEHAVIOUR // ghc::filesystem version in decimal (major * 10000 + minor * 100 + patch) -#define GHC_FILESYSTEM_VERSION 10100L +#define GHC_FILESYSTEM_VERSION 10101L namespace ghc { namespace filesystem { diff --git a/test/filesystem_test.cpp b/test/filesystem_test.cpp index 83e481c..faaa905 100644 --- a/test/filesystem_test.cpp +++ b/test/filesystem_test.cpp @@ -780,7 +780,13 @@ TEST_CASE("30.10.8.4.11 path generation", "[filesystem][path][fs.path.gen]") CHECK(fs::path("/foo/../..").lexically_normal() == "/"); CHECK(fs::path("foo/..").lexically_normal() == "."); CHECK(fs::path("ab/cd/ef/../../qw").lexically_normal() == "ab/qw"); - + CHECK(fs::path("a/b/../../../c").lexically_normal() == "../c"); +#ifdef GHC_OS_WINDOWS + CHECK(fs::path("\\/\\///\\/").lexically_normal() == "/"); + CHECK(fs::path("a/b/..\\//..///\\/../c\\\\/").lexically_normal() == "../c/"); + CHECK(fs::path("..a/b/..\\//..///\\/../c\\\\/").lexically_normal() == "../c/"); +#endif + // lexically_relative() CHECK(fs::path("/a/d").lexically_relative("/a/b/c") == "../../d"); CHECK(fs::path("/a/b/c").lexically_relative("/a/d") == "../b/c");