azahar/src/tests/common/file_util.cpp
Rodrigo Iglesias 83eef0012e
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux-x86_64 (appimage) (push) Has been cancelled
citra-build / linux-x86_64 (appimage-wayland) (push) Has been cancelled
citra-build / linux-x86_64 (gcc-nopch) (push) Has been cancelled
citra-build / linux-arm64 (clang) (push) Has been cancelled
citra-build / linux-arm64 (gcc-nopch) (push) Has been cancelled
citra-build / macos (push) Has been cancelled
citra-build / windows (msvc) (push) Has been cancelled
citra-build / windows (msys2) (push) Has been cancelled
citra-build / android (googleplay) (push) Has been cancelled
citra-build / android (vanilla) (push) Has been cancelled
citra-build / docker (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-libretro / android (push) Has been cancelled
citra-libretro / linux (push) Has been cancelled
citra-libretro / windows (push) Has been cancelled
citra-libretro / macos (arm64) (push) Has been cancelled
citra-libretro / macos (x86_64) (push) Has been cancelled
citra-libretro / ios (push) Has been cancelled
citra-libretro / tvos (push) Has been cancelled
citra-transifex / transifex (push) Has been cancelled
macOS: normalize SDMC directory filenames (#2080)
* macOS: normalize SDMC directory filenames

* Guard macOS filename normalization behind __APPLE__

* Guard macOS filename normalization test

* Apply clang-format

* Update license headers
2026-05-03 00:21:53 +02:00

36 lines
No EOL
1.1 KiB
C++

// Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include <array>
#include <string>
#include <catch2/catch_test_macros.hpp>
#include "common/file_util.h"
#include "common/string_util.h"
TEST_CASE("SplitFilename83 Sanity", "[common]") {
std::string filename = "long_ass_file_name.cci";
std::array<char, 9> short_name;
std::array<char, 4> extension;
FileUtil::SplitFilename83(filename, short_name, extension);
filename = Common::ToUpper(filename);
std::string expected_short_name = filename.substr(0, 6).append("~1");
std::string expected_extension = filename.substr(filename.find('.') + 1, 3);
REQUIRE(std::memcmp(short_name.data(), expected_short_name.data(), short_name.size()) == 0);
REQUIRE(std::memcmp(extension.data(), expected_extension.data(), extension.size()) == 0);
}
#if defined(__APPLE__)
TEST_CASE("NormalizeNFDToNFC Sanity", "[common]") {
const std::string decomposed = "i\xCC\x81";
const std::string composed = "\xC3\xAD";
REQUIRE(Common::NormalizeNFDToNFC(decomposed) == composed);
}
#endif