Add a formatter specialization for std::error_code.

This commit is contained in:
Владислав Щапов
2021-05-09 06:29:39 -07:00
committed by Victor Zverovich
parent 39f28424ca
commit 4211d86539
2 changed files with 41 additions and 0 deletions
+24
View File
@@ -74,6 +74,30 @@ TEST(os_test, error_code) {
EXPECT_EQ(error_code(42).get(), 42);
}
TEST(os_test, format_std_error_code) {
EXPECT_EQ("generic:42",
fmt::format(FMT_STRING("{0}"),
std::error_code(42, std::generic_category())));
EXPECT_EQ("system:42",
fmt::format(FMT_STRING("{0}"),
std::error_code(42, std::system_category())));
EXPECT_EQ("system:-42",
fmt::format(FMT_STRING("{0}"),
std::error_code(-42, std::system_category())));
}
TEST(os_test, format_std_error_code_wide) {
EXPECT_EQ(L"generic:42",
fmt::format(FMT_STRING(L"{0}"),
std::error_code(42, std::generic_category())));
EXPECT_EQ(L"system:42",
fmt::format(FMT_STRING(L"{0}"),
std::error_code(42, std::system_category())));
EXPECT_EQ(L"system:-42",
fmt::format(FMT_STRING(L"{0}"),
std::error_code(-42, std::system_category())));
}
TEST(os_test, format_windows_error) {
LPWSTR message = 0;
auto result = FormatMessageW(