Fix handling of chrono durations with minimal signed rep

This commit is contained in:
Victor Zverovich
2019-06-01 09:07:49 -07:00
parent 87e4ea2906
commit 78daa50ffc
2 changed files with 29 additions and 9 deletions

View File

@@ -306,7 +306,7 @@ TEST(ChronoTest, InvalidColons) {
fmt::format_error);
}
TEST(ChronoTest, NegativeDuration) {
TEST(ChronoTest, NegativeDurations) {
EXPECT_EQ("-12345", fmt::format("{:%Q}", std::chrono::seconds(-12345)));
EXPECT_EQ("-03:25:45",
fmt::format("{:%H:%M:%S}", std::chrono::seconds(-12345)));
@@ -316,6 +316,9 @@ TEST(ChronoTest, NegativeDuration) {
EXPECT_EQ("-00.127",
fmt::format("{:%S}",
std::chrono::duration<signed char, std::milli>{-127}));
auto min = std::numeric_limits<int>::min();
EXPECT_EQ(fmt::format("{}", min),
fmt::format("{:%Q}", std::chrono::duration<int>(min)));
}
TEST(ChronoTest, SpecialDurations) {