mirror of
https://github.com/LizardByte/Sunshine.git
synced 2024-11-16 23:10:13 +00:00
764ce03520
Some checks failed
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 12) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (12, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (13) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Lint Dockerfile${{ matrix.tag }} (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / update_pages (push) Waiting to run
localize / Update Localization (push) Has been cancelled
91 lines
2.8 KiB
C++
91 lines
2.8 KiB
C++
/**
|
|
* @file tests/unit/test_file_handler.cpp
|
|
* @brief Test src/file_handler.*.
|
|
*/
|
|
#include <src/file_handler.h>
|
|
|
|
#include "../tests_common.h"
|
|
|
|
struct FileHandlerParentDirectoryTest: testing::TestWithParam<std::tuple<std::string, std::string>> {};
|
|
|
|
TEST_P(FileHandlerParentDirectoryTest, Run) {
|
|
auto [input, expected] = GetParam();
|
|
EXPECT_EQ(file_handler::get_parent_directory(input), expected);
|
|
}
|
|
|
|
INSTANTIATE_TEST_SUITE_P(
|
|
FileHandlerTests,
|
|
FileHandlerParentDirectoryTest,
|
|
testing::Values(
|
|
std::make_tuple("/path/to/file.txt", "/path/to"),
|
|
std::make_tuple("/path/to/directory", "/path/to"),
|
|
std::make_tuple("/path/to/directory/", "/path/to")));
|
|
|
|
struct FileHandlerMakeDirectoryTest: testing::TestWithParam<std::tuple<std::string, bool, bool>> {};
|
|
|
|
TEST_P(FileHandlerMakeDirectoryTest, Run) {
|
|
auto [input, expected, remove] = GetParam();
|
|
const std::string test_dir = platf::appdata().string() + "/tests/path/";
|
|
input = test_dir + input;
|
|
|
|
EXPECT_EQ(file_handler::make_directory(input), expected);
|
|
EXPECT_TRUE(std::filesystem::exists(input));
|
|
|
|
// remove test directory
|
|
if (remove) {
|
|
std::filesystem::remove_all(test_dir);
|
|
EXPECT_FALSE(std::filesystem::exists(test_dir));
|
|
}
|
|
}
|
|
|
|
INSTANTIATE_TEST_SUITE_P(
|
|
FileHandlerTests,
|
|
FileHandlerMakeDirectoryTest,
|
|
testing::Values(
|
|
std::make_tuple("dir_123", true, false),
|
|
std::make_tuple("dir_123", true, true),
|
|
std::make_tuple("dir_123/abc", true, false),
|
|
std::make_tuple("dir_123/abc", true, true)));
|
|
|
|
struct FileHandlerTests: testing::TestWithParam<std::tuple<int, std::string>> {};
|
|
|
|
INSTANTIATE_TEST_SUITE_P(
|
|
TestFiles,
|
|
FileHandlerTests,
|
|
testing::Values(
|
|
std::make_tuple(0, ""), // empty file
|
|
std::make_tuple(1, "a"), // single character
|
|
std::make_tuple(2, "Mr. Blue Sky - Electric Light Orchestra"), // single line
|
|
std::make_tuple(3, R"(
|
|
Morning! Today's forecast calls for blue skies
|
|
The sun is shining in the sky
|
|
There ain't a cloud in sight
|
|
It's stopped raining
|
|
Everybody's in the play
|
|
And don't you know, it's a beautiful new day
|
|
Hey, hey, hey!
|
|
Running down the avenue
|
|
See how the sun shines brightly in the city
|
|
All the streets where once was pity
|
|
Mr. Blue Sky is living here today!
|
|
Hey, hey, hey!
|
|
)") // multi-line
|
|
));
|
|
|
|
TEST_P(FileHandlerTests, WriteFileTest) {
|
|
auto [fileNum, content] = GetParam();
|
|
std::string fileName = "write_file_test_" + std::to_string(fileNum) + ".txt";
|
|
EXPECT_EQ(file_handler::write_file(fileName.c_str(), content), 0);
|
|
}
|
|
|
|
TEST_P(FileHandlerTests, ReadFileTest) {
|
|
auto [fileNum, content] = GetParam();
|
|
std::string fileName = "write_file_test_" + std::to_string(fileNum) + ".txt";
|
|
EXPECT_EQ(file_handler::read_file(fileName.c_str()), content);
|
|
}
|
|
|
|
TEST(FileHandlerTests, ReadMissingFileTest) {
|
|
// read missing file
|
|
EXPECT_EQ(file_handler::read_file("non-existing-file.txt"), "");
|
|
}
|