@@ -358,8 +358,7 @@ TEST(chrono_test, local_time) {
358
358
EXPECT_EQ (fmt::format (" {:}" , time ), " 1979-03-12 12:00:00" );
359
359
360
360
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" ,
363
362
" %OU" , " %W" , " %OW" , " %V" , " %OV" , " %j" , " %d" , " %Od" , " %e" ,
364
363
" %Oe" , " %a" , " %A" , " %w" , " %Ow" , " %u" , " %Ou" , " %H" , " %OH" ,
365
364
" %I" , " %OI" , " %M" , " %OM" , " %S" , " %OS" , " %x" , " %Ex" , " %X" ,
@@ -368,12 +367,7 @@ TEST(chrono_test, local_time) {
368
367
// Disabled on Windows because these formats are not consistent among
369
368
// platforms.
370
369
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" };
375
370
#endif
376
- specs.push_back (" %Y-%m-%d %H:%M:%S" );
377
371
378
372
for (const auto & spec : specs) {
379
373
auto tm = fmt::gmtime (time .time_since_epoch ().count ());
@@ -382,9 +376,24 @@ TEST(chrono_test, local_time) {
382
376
auto fmt_spec = fmt::format (" {{:{}}}" , spec);
383
377
EXPECT_EQ (sys_output, fmt::format (fmt::runtime (fmt_spec), time ))
384
378
<< fmt_spec;
385
- EXPECT_EQ (sys_output, fmt::format (fmt::runtime (fmt_spec), tm ));
386
379
}
387
380
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
+
388
397
EXPECT_THROW_MSG ((void )fmt::format (fmt::runtime (" {:%z}" ), time ),
389
398
fmt::format_error, " no timezone" );
390
399
EXPECT_THROW_MSG ((void )fmt::format (fmt::runtime (" {:%Z}" ), time ),
0 commit comments