Fix handling of nan durations

This commit is contained in:
Victor Zverovich
2019-05-05 08:34:54 -07:00
parent c1d430e61a
commit ca978b3d21
2 changed files with 38 additions and 21 deletions

View File

@@ -306,12 +306,14 @@ TEST(ChronoTest, InvalidColons) {
fmt::format_error);
}
TEST(ChronoTest, LargeDuration) {
TEST(ChronoTest, SpecialDurations) {
EXPECT_EQ("40", fmt::format("{:%S}", std::chrono::duration<double>(1e20)));
}
TEST(ChronoTest, NegativeDuration) {
EXPECT_EQ("-00:01", fmt::format("{:%M:%S}", std::chrono::duration<double>(-1)));
EXPECT_EQ("-00:01",
fmt::format("{:%M:%S}", std::chrono::duration<double>(-1)));
auto nan = std::numeric_limits<double>::quiet_NaN();
EXPECT_EQ(
"nan nan nan nan.nan nan:nan nan",
fmt::format("{:%I %H %M %S %R %r}", std::chrono::duration<double>(nan)));
}
#endif // FMT_STATIC_THOUSANDS_SEPARATOR