Skip to content

Commit dd47b6b

Browse files
committed
Improve local_time test
1 parent e1ab383 commit dd47b6b

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

test/chrono-test.cc

+17-8
Original file line numberDiff line numberDiff line change
@@ -358,8 +358,7 @@ TEST(chrono_test, local_time) {
358358
EXPECT_EQ(fmt::format("{:}", time), "1979-03-12 12:00:00");
359359

360360
std::vector<std::string> specs = {
361-
"%%", "%n", "%t", "%Y", "%EY", "%y", "%Oy", "%Ey", "%C",
362-
"%EC", "%G", "%g", "%b", "%h", "%B", "%m", "%Om", "%U",
361+
"%m", "%Om", "%U",
363362
"%OU", "%W", "%OW", "%V", "%OV", "%j", "%d", "%Od", "%e",
364363
"%Oe", "%a", "%A", "%w", "%Ow", "%u", "%Ou", "%H", "%OH",
365364
"%I", "%OI", "%M", "%OM", "%S", "%OS", "%x", "%Ex", "%X",
@@ -368,12 +367,7 @@ TEST(chrono_test, local_time) {
368367
// Disabled on Windows because these formats are not consistent among
369368
// platforms.
370369
specs.insert(specs.end(), {"%c", "%Ec", "%r"});
371-
#elif !FMT_HAS_C99_STRFTIME
372-
// Only C89 conversion specifiers when using MSVCRT instead of UCRT
373-
specs = {"%%", "%Y", "%y", "%b", "%B", "%m", "%U", "%W", "%j", "%d", "%a",
374-
"%A", "%w", "%H", "%I", "%M", "%S", "%x", "%X", "%p"};
375370
#endif
376-
specs.push_back("%Y-%m-%d %H:%M:%S");
377371

378372
for (const auto& spec : specs) {
379373
auto tm = fmt::gmtime(time.time_since_epoch().count());
@@ -382,9 +376,24 @@ TEST(chrono_test, local_time) {
382376
auto fmt_spec = fmt::format("{{:{}}}", spec);
383377
EXPECT_EQ(sys_output, fmt::format(fmt::runtime(fmt_spec), time))
384378
<< fmt_spec;
385-
EXPECT_EQ(sys_output, fmt::format(fmt::runtime(fmt_spec), tm));
386379
}
387380

381+
EXPECT_EQ(fmt::format("{:%%}", time), "%");
382+
EXPECT_EQ(fmt::format("{:%n}", time), "\n");
383+
EXPECT_EQ(fmt::format("{:%t}", time), "\t");
384+
EXPECT_EQ(fmt::format("{:%Y}", time), "1979");
385+
EXPECT_EQ(fmt::format("{:%EY}", time), "1979");
386+
EXPECT_EQ(fmt::format("{:%y}", time), "79");
387+
EXPECT_EQ(fmt::format("{:%Oy}", time), "79");
388+
EXPECT_EQ(fmt::format("{:%Ey}", time), "79");
389+
EXPECT_EQ(fmt::format("{:%C}", time), "19");
390+
EXPECT_EQ(fmt::format("{:%EC}", time), "19");
391+
EXPECT_EQ(fmt::format("{:%G}", time), "1979");
392+
EXPECT_EQ(fmt::format("{:%g}", time), "79");
393+
EXPECT_EQ(fmt::format("{:%b}", time), "Mar");
394+
EXPECT_EQ(fmt::format("{:%h}", time), "Mar");
395+
EXPECT_EQ(fmt::format("{:%B}", time), "March");
396+
388397
EXPECT_THROW_MSG((void)fmt::format(fmt::runtime("{:%z}"), time),
389398
fmt::format_error, "no timezone");
390399
EXPECT_THROW_MSG((void)fmt::format(fmt::runtime("{:%Z}"), time),

0 commit comments

Comments
 (0)