diff --git a/test/format-test.cc b/test/format-test.cc index 860da234..86802363 100644 --- a/test/format-test.cc +++ b/test/format-test.cc @@ -319,6 +319,16 @@ TEST(UtilTest, ThrowSystemError) { fmt::internal::FormatSystemErrorMessage, fmt::ThrowSystemError); } +TEST(ErrorTest, ReportSystemError) { + // TODO + EXPECT_EXIT({ + fmt::ReportSystemError(EDOM, "test error"); + std::fprintf(stderr, "end\n"); + std::exit(0); + }, ::testing::ExitedWithCode(0), + str(fmt::Format("test error: {}\nend\n") << strerror(EDOM))); +} + #ifdef _WIN32 TEST(UtilTest, FormatWinErrorMessage) { @@ -346,6 +356,18 @@ TEST(UtilTest, ThrowWinError) { fmt::internal::FormatWinErrorMessage, fmt::ThrowWinError); } +TEST(ErrorTest, ReportWinError) { + // TODO + fmt::Writer message; + fmt::internal::FormatWinErrorMessage( + message, ERROR_FILE_EXISTS, "test error"); + EXPECT_EXIT({ + fmt::ReportWinError(ERROR_FILE_EXISTS, "test error"); + std::fprintf(stderr, "end\n"); + std::exit(0); + }, ::testing::ExitedWithCode(0), str(message)); +} + #endif // _WIN32 class TestString {