From c70e7b7473728509f72d53325f83ae4d68b13e0e Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Fri, 5 Apr 2024 08:36:45 +0900 Subject: [PATCH] Coding conventions and minor fixes --- include/fmt/chrono.h | 40 +++++++++++++++------------------------- test/chrono-test.cc | 10 ++++++++-- 2 files changed, 23 insertions(+), 27 deletions(-) diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h index 2b254352..d2e10b56 100644 --- a/include/fmt/chrono.h +++ b/include/fmt/chrono.h @@ -2096,17 +2096,17 @@ class year_month_day { year_month_day() = default; constexpr year_month_day(const year& y, const month& m, const day& d) noexcept : year_(y), month_(m), day_(d) {} - constexpr fmt::year year() const noexcept { return year_; } - constexpr fmt::month month() const noexcept { return month_; } - constexpr fmt::day day() const noexcept { return day_; } + constexpr auto year() const noexcept -> fmt::year { return year_; } + constexpr auto month() const noexcept -> fmt::month { return month_; } + constexpr auto day() const noexcept -> fmt::day { return day_; } }; #endif template struct formatter : private formatter { private: - bool localized_{false}; - bool use_tm_formatter_{false}; + bool localized_ = false; + bool use_tm_formatter_ = false; public: FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) @@ -2125,9 +2125,7 @@ struct formatter : private formatter { auto format(weekday wd, FormatContext& ctx) const -> decltype(ctx.out()) { auto time = std::tm(); time.tm_wday = static_cast(wd.c_encoding()); - if (use_tm_formatter_) { - return formatter::format(time, ctx); - } + if (use_tm_formatter_) return formatter::format(time, ctx); detail::get_locale loc(localized_, ctx.locale()); auto w = detail::tm_writer(loc, ctx.out(), time); w.on_abbr_weekday(); @@ -2138,7 +2136,7 @@ struct formatter : private formatter { template struct formatter : private formatter { private: - bool use_tm_formatter_{false}; + bool use_tm_formatter_ = false; public: FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) @@ -2152,9 +2150,7 @@ struct formatter : private formatter { auto format(day d, FormatContext& ctx) const -> decltype(ctx.out()) { auto time = std::tm(); time.tm_mday = static_cast(static_cast(d)); - if (use_tm_formatter_) { - return formatter::format(time, ctx); - } + if (use_tm_formatter_) return formatter::format(time, ctx); detail::get_locale loc(false, ctx.locale()); auto w = detail::tm_writer(loc, ctx.out(), time); w.on_day_of_month(detail::numeric_system::standard); @@ -2165,8 +2161,8 @@ struct formatter : private formatter { template struct formatter : private formatter { private: - bool localized_{false}; - bool use_tm_formatter_{false}; + bool localized_ = false; + bool use_tm_formatter_ = false; public: FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) @@ -2185,9 +2181,7 @@ struct formatter : private formatter { auto format(month m, FormatContext& ctx) const -> decltype(ctx.out()) { auto time = std::tm(); time.tm_mon = static_cast(static_cast(m)) - 1; - if (use_tm_formatter_) { - return formatter::format(time, ctx); - } + if (use_tm_formatter_) return formatter::format(time, ctx); detail::get_locale loc(localized_, ctx.locale()); auto w = detail::tm_writer(loc, ctx.out(), time); w.on_abbr_month(); @@ -2198,7 +2192,7 @@ struct formatter : private formatter { template struct formatter : private formatter { private: - bool use_tm_formatter_{false}; + bool use_tm_formatter_ = false; public: FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) @@ -2212,9 +2206,7 @@ struct formatter : private formatter { auto format(year y, FormatContext& ctx) const -> decltype(ctx.out()) { auto time = std::tm(); time.tm_year = static_cast(y) - 1900; - if (use_tm_formatter_) { - return formatter::format(time, ctx); - } + if (use_tm_formatter_) return formatter::format(time, ctx); detail::get_locale loc(false, ctx.locale()); auto w = detail::tm_writer(loc, ctx.out(), time); w.on_year(detail::numeric_system::standard); @@ -2225,7 +2217,7 @@ struct formatter : private formatter { template struct formatter : private formatter { private: - bool use_tm_formatter_{false}; + bool use_tm_formatter_ = false; public: FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) @@ -2242,9 +2234,7 @@ struct formatter : private formatter { time.tm_year = static_cast(val.year()) - 1900; time.tm_mon = static_cast(static_cast(val.month())) - 1; time.tm_mday = static_cast(static_cast(val.day())); - if (use_tm_formatter_) { - return formatter::format(time, ctx); - } + if (use_tm_formatter_) return formatter::format(time, ctx); detail::get_locale loc(true, ctx.locale()); auto w = detail::tm_writer(loc, ctx.out(), time); w.on_iso_date(); diff --git a/test/chrono-test.cc b/test/chrono-test.cc index 191adcce..1055c798 100644 --- a/test/chrono-test.cc +++ b/test/chrono-test.cc @@ -753,15 +753,20 @@ TEST(chrono_test, weekday) { std::locale::global(loc); auto sat = fmt::weekday(6); + + auto tm = std::tm(); + tm.tm_wday = static_cast(sat.c_encoding()); EXPECT_EQ(fmt::format("{}", sat), "Sat"); EXPECT_EQ(fmt::format("{:%a}", sat), "Sat"); EXPECT_EQ(fmt::format("{:%A}", sat), "Saturday"); + EXPECT_EQ(fmt::format("{:%a}", tm), "Sat"); if (loc != std::locale::classic()) { auto saturdays = std::vector{"sáb", "sá."}; EXPECT_THAT(saturdays, Contains(fmt::format(loc, "{:L}", sat))); EXPECT_THAT(saturdays, Contains(fmt::format(loc, "{:%a}", sat))); + EXPECT_THAT(saturdays, Contains(fmt::format(loc, "{:%a}", tm))); } } @@ -1013,6 +1018,9 @@ TEST(chrono_test, out_of_range) { } TEST(chrono_test, year_month_day) { + auto loc = get_locale("es_ES.UTF-8"); + std::locale::global(loc); + auto year = fmt::year(2024); auto month = fmt::month(1); auto day = fmt::day(1); @@ -1035,8 +1043,6 @@ TEST(chrono_test, year_month_day) { EXPECT_EQ(fmt::format("{:%Y-%b-%d}", ymd), "2024-Jan-01"); EXPECT_EQ(fmt::format("{:%Y-%B-%d}", ymd), "2024-January-01"); - auto loc = get_locale("es_ES.UTF-8"); - std::locale::global(loc); if (loc != std::locale::classic()) { auto months = std::vector{"ene.", "ene"}; EXPECT_THAT(months, Contains(fmt::format(loc, "{:L}", month)));