* Simplify options * Use more sensible edition logic * Use set instead of option for string * Improve macro for product name * Add tests launch config * Restore unregistered state * Reorganize cases for title and improve function name * Code coverage on by default * Fixed copyright * Improve code coverage and test readability * Separate build-all and build-coverage * Back out coverage on by default * Fixed bad var in cmake * More verbose logging for coverage * Restore tasks * Restore preLaunchTask * Use default comparitor * Move temp files to temp dir * Add tasks for tests * Support for wstring * Upgrade sonar-scanner to 6 on Debian 12 * Use modern pip install * Install python for sonarcloud * Use Ubuntu and install deps * Fixed sonar-scanner URL * Fix exported dir * Persist build dir * Don't use venv for pip install gcovr * Fixed another path * Update actions/checkout to v4 for SonarCloud analysis workflow * Add coverage task * Improve coverage for SerialKeyEdition.cpp * Enable licensing for builds * Fixed invalid macro names, missing arguments, etc * Fixed more copyright * Fixed incorrect use of "enterprise" * Fixed incorrect use of "business" * Experiment with environment * Make package prefix variable * Add environment matrix to all OS * Improve job names * Make job names easier to read * Roll back environment matrix (too much noise) * Fixed: default should override required * Refactor CI with vars * Fixed arg for env.get_env
45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
/*
|
||
* synergy -- mouse and keyboard sharing utility
|
||
* Copyright (C) 2014-2021 Symless Ltd.
|
||
*
|
||
* This package is free software; you can redistribute it and/or
|
||
* modify it under the terms of the GNU General Public License
|
||
* found in the file LICENSE that should have accompanied this file.
|
||
*
|
||
* This package is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU General Public License
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*/
|
||
|
||
#include "base/Path.h"
|
||
#include <filesystem>
|
||
#include <fstream>
|
||
|
||
#include "test/global/gtest.h"
|
||
|
||
const std::string testDir = "tmp/test";
|
||
const std::wstring testDirW = L"tmp/test";
|
||
|
||
TEST(PathTests, open_file_using_path) {
|
||
std::filesystem::create_directories(testDir);
|
||
|
||
std::string utf8FileName = testDir + "/тіás.txt";
|
||
#if SYSAPI_WIN32
|
||
// Windows uses UTF-16 for file path and names
|
||
std::wstring fileName =
|
||
testDirW + L"/\x0442\x0456\x00E1\x0073\x002E\x0074\x0078\x0074";
|
||
#else
|
||
std::string fileName = utf8FileName;
|
||
#endif
|
||
|
||
std::fstream file(fileName, std::fstream::out);
|
||
file << "test";
|
||
file.close();
|
||
|
||
std::ifstream inFile(synergy::filesystem::path(utf8FileName));
|
||
EXPECT_TRUE(inFile.is_open());
|
||
}
|