2022-05-17 00:32:25 +00:00
|
|
|
// Formatting library for C++ - tests of formatters for standard library types
|
|
|
|
//
|
|
|
|
// Copyright (c) 2012 - present, Victor Zverovich
|
|
|
|
// All rights reserved.
|
|
|
|
//
|
|
|
|
// For the license information refer to format.h.
|
|
|
|
|
|
|
|
#include "fmt/std.h"
|
|
|
|
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
|
|
|
|
TEST(std_test, path) {
|
|
|
|
#ifdef __cpp_lib_filesystem
|
2022-05-18 13:04:47 +00:00
|
|
|
EXPECT_EQ(fmt::format("{:8}", std::filesystem::path("foo")), "\"foo\" ");
|
2022-05-21 15:12:32 +00:00
|
|
|
EXPECT_EQ(fmt::format("{}", std::filesystem::path("foo\"bar.txt")),
|
|
|
|
"\"foo\\\"bar.txt\"");
|
2022-05-31 14:58:49 +00:00
|
|
|
|
|
|
|
# ifdef _WIN32
|
2022-06-13 07:36:51 +00:00
|
|
|
// File.txt in Russian.
|
|
|
|
const wchar_t unicode_path[] = {0x424, 0x430, 0x439, 0x43b, 0x2e,
|
|
|
|
0x74, 0x78, 0x74, 0};
|
|
|
|
const char unicode_u8path[] = {'"', char(0xd0), char(0xa4), char(0xd0),
|
|
|
|
char(0xb0), char(0xd0), char(0xb9), char(0xd0),
|
|
|
|
char(0xbb), '.', 't', 'x',
|
|
|
|
't', '"', '\0'};
|
|
|
|
EXPECT_EQ(fmt::format("{}", std::filesystem::path(unicode_path)),
|
|
|
|
unicode_u8path);
|
2022-05-31 14:58:49 +00:00
|
|
|
# endif
|
2022-05-17 00:32:25 +00:00
|
|
|
#endif
|
|
|
|
}
|
2022-05-17 23:31:06 +00:00
|
|
|
|
|
|
|
TEST(std_test, thread_id) {
|
|
|
|
EXPECT_FALSE(fmt::format("{}", std::this_thread::get_id()).empty());
|
|
|
|
}
|