tests: Added UTF-8 file operation tests

This commit is contained in:
WerWolv
2022-07-02 10:05:25 +02:00
parent ab1f4df9d9
commit f9fc7051fc
4 changed files with 64 additions and 2 deletions

View File

@@ -89,10 +89,24 @@ namespace hex::fs {
if (bytes.empty())
return "";
const char *cString = reinterpret_cast<const char *>(bytes.data());
auto cString = reinterpret_cast<const char *>(bytes.data());
return { cString, std::min(bytes.size(), std::strlen(cString)) };
}
std::u8string File::readU8String(size_t numBytes) {
if (!isValid()) return {};
if (getSize() == 0) return {};
auto bytes = readBytes(numBytes);
if (bytes.empty())
return u8"";
auto cString = reinterpret_cast<const char8_t *>(bytes.data());
return { cString, std::min(bytes.size(), std::strlen(reinterpret_cast<const char*>(bytes.data()))) };
}
void File::write(const u8 *buffer, size_t size) {
if (!isValid()) return;
@@ -111,6 +125,12 @@ namespace hex::fs {
std::fwrite(string.data(), string.size(), 1, this->m_file);
}
void File::write(const std::u8string &string) {
if (!isValid()) return;
std::fwrite(string.data(), string.size(), 1, this->m_file);
}
size_t File::getSize() const {
if (!isValid()) return 0;