From 7fcc40d0e15b52966ab68005de28a6ec070b257b Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 2 Aug 2024 16:22:46 -0500 Subject: [PATCH] updated build system --- support/3rd_party/src/utils/path.cpp | 162 ++------------------------- 1 file changed, 9 insertions(+), 153 deletions(-) diff --git a/support/3rd_party/src/utils/path.cpp b/support/3rd_party/src/utils/path.cpp index b057b7b2..3d118450 100644 --- a/support/3rd_party/src/utils/path.cpp +++ b/support/3rd_party/src/utils/path.cpp @@ -19,158 +19,20 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "gtest/gtest.h" - -#include "utils/path.hpp" - -namespace repertory { -TEST(path_utils, combine) { - auto s = utils::path::combine(R"(\test\path)", {}); - -#if defined(_WIN32) - EXPECT_STREQ(R"(\test\path)", s.c_str()); -#else - EXPECT_STREQ("/test/path", s.c_str()); -#endif - - s = utils::path::combine(R"(\test)", {R"(\path)"}); -#if defined(_WIN32) - EXPECT_STREQ(R"(\test\path)", s.c_str()); -#else - EXPECT_STREQ("/test/path", s.c_str()); -#endif - - s = utils::path::combine(R"(\test)", {R"(\path)", R"(\again\)"}); -#if defined(_WIN32) - EXPECT_STREQ(R"(\test\path\again)", s.c_str()); -#else - EXPECT_STREQ("/test/path/again", s.c_str()); -#endif -} - -TEST(path_utils, create_api_path) { - auto s = utils::path::create_api_path(""); - EXPECT_STREQ("/", s.c_str()); - - s = utils::path::create_api_path(R"(\)"); - EXPECT_STREQ("/", s.c_str()); - - s = utils::path::create_api_path("/"); - EXPECT_STREQ("/", s.c_str()); - - s = utils::path::create_api_path("."); - EXPECT_STREQ("/", s.c_str()); - - s = utils::path::create_api_path(R"(\\)"); - EXPECT_STREQ("/", s.c_str()); - - s = utils::path::create_api_path("//"); - EXPECT_STREQ("/", s.c_str()); - - s = utils::path::create_api_path("/cow///moose/////dog/chicken"); - EXPECT_STREQ("/cow/moose/dog/chicken", s.c_str()); - - s = utils::path::create_api_path("\\cow\\\\\\moose\\\\\\\\dog\\chicken/"); - EXPECT_STREQ("/cow/moose/dog/chicken", s.c_str()); - - s = utils::path::create_api_path("/cow\\\\/moose\\\\/\\dog\\chicken\\"); - EXPECT_STREQ("/cow/moose/dog/chicken", s.c_str()); -} - -TEST(path_utils, finalize) { - auto s = utils::path::finalize(""); - EXPECT_STREQ("", s.c_str()); - - s = utils::path::finalize(R"(\)"); -#if defined(_WIN32) - EXPECT_STREQ(R"(\)", s.c_str()); -#else - EXPECT_STREQ("/", s.c_str()); -#endif - - s = utils::path::finalize("/"); -#if defined(_WIN32) - EXPECT_STREQ(R"(\)", s.c_str()); -#else - EXPECT_STREQ("/", s.c_str()); -#endif - - s = utils::path::finalize(R"(\\)"); -#if defined(_WIN32) - EXPECT_STREQ(R"(\)", s.c_str()); -#else - EXPECT_STREQ("/", s.c_str()); -#endif - - s = utils::path::finalize("//"); -#if defined(_WIN32) - EXPECT_STREQ(R"(\)", s.c_str()); -#else - EXPECT_STREQ("/", s.c_str()); -#endif - - s = utils::path::finalize("/cow///moose/////dog/chicken"); -#if defined(_WIN32) - EXPECT_STREQ(R"(\cow\moose\dog\chicken)", s.c_str()); -#else - EXPECT_STREQ("/cow/moose/dog/chicken", s.c_str()); -#endif - - s = utils::path::finalize("\\cow\\\\\\moose\\\\\\\\dog\\chicken/"); -#if defined(_WIN32) - EXPECT_STREQ(R"(\cow\moose\dog\chicken)", s.c_str()); -#else - EXPECT_STREQ("/cow/moose/dog/chicken", s.c_str()); -#endif - - s = utils::path::finalize("/cow\\\\/moose\\\\/\\dog\\chicken\\"); -#if defined(_WIN32) - EXPECT_STREQ(R"(\cow\moose\dog\chicken)", s.c_str()); -#else - EXPECT_STREQ("/cow/moose/dog/chicken", s.c_str()); -#endif -} -} // namespace repertory -Copyright<2018 - 2024> - - Permission is hereby granted, free of charge, - to any person obtaining a copy of this software and associated documentation - files(the "Software"), - to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish - , - distribute, sublicense, and / or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions : - - The above copyright notice and this permission notice shall be included in - all copies - or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", - WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE.* / #include "utils/path.hpp" #include "utils/common.hpp" #include "utils/string.hpp" #include "utils/unix.hpp" - namespace { - static const std::string directory_seperator_str{ - repertory::utils::path::directory_seperator, - }; +namespace { +static const std::string directory_seperator_str{ + repertory::utils::path::directory_seperator, +}; - static const std::wstring directory_seperator_str_w{ - repertory::utils::path::directory_seperator_w, - }; +static const std::wstring directory_seperator_str_w{ + repertory::utils::path::directory_seperator_w, +}; } // namespace namespace repertory::utils::path { @@ -253,13 +115,7 @@ auto is_trash_directory(std::string_view path) -> bool { } auto is_trash_directory(std::wstring_view path) -> bool { - auto trash_path = utils::string::to_lower(absolute(path)); - return utils::string::begins_with(trash_path, - directory_seperator_str_w + L".trash-") || - utils::string::begins_with(trash_path, - directory_seperator_str_w + L".trashes") || - utils::string::begins_with(trash_path, directory_seperator_str_w + - L"$recycle.bin"); + return is_trash_directory(utils::string::to_utf8(path)); } auto make_file_uri(std::string_view path) -> std::string { @@ -359,7 +215,7 @@ auto unmake_file_uri(std::string_view uri) -> std::string { escape_characters.at(idx)); } - return absolute(uri); + return absolute(ret_uri); } auto unmake_file_uri(std::wstring_view uri) -> std::wstring {