From 847abb6f8fabd89c9aa0ff988eeee3a07528ef05 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Wed, 17 Oct 2018 11:06:36 -0700 Subject: [PATCH] Fix test --- include/fmt/format.h | 14 +++----------- test/format-test.cc | 12 ++++++------ 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/include/fmt/format.h b/include/fmt/format.h index 88f25177..a500c35b 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -1144,10 +1144,7 @@ struct align_spec { wchar_t fill_; alignment align_; - FMT_CONSTEXPR align_spec( - unsigned width, wchar_t fill, alignment align = ALIGN_DEFAULT) - : width_(width), fill_(fill), align_(align) {} - + FMT_CONSTEXPR align_spec() : width_(0), fill_(' '), align_(ALIGN_DEFAULT) {} FMT_CONSTEXPR unsigned width() const { return width_; } FMT_CONSTEXPR wchar_t fill() const { return fill_; } FMT_CONSTEXPR alignment align() const { return align_; } @@ -1158,19 +1155,14 @@ struct core_format_specs { uint_least8_t flags; char type; + FMT_CONSTEXPR core_format_specs() : precision(-1), flags(0), type(0) {} FMT_CONSTEXPR bool has(unsigned f) const { return (flags & f) != 0; } }; // Format specifiers. template struct basic_format_specs : align_spec, core_format_specs { - FMT_CONSTEXPR basic_format_specs( - unsigned width = 0, char type_ = 0, wchar_t fill = ' ') - : align_spec(width, fill) { - precision = -1; - flags = 0; - type = type_; - } + FMT_CONSTEXPR basic_format_specs() {} }; typedef basic_format_specs format_specs; diff --git a/test/format-test.cc b/test/format-test.cc index 27d72733..d528d49c 100644 --- a/test/format-test.cc +++ b/test/format-test.cc @@ -2182,20 +2182,20 @@ FMT_CONSTEXPR fmt::format_specs parse_specs(const char *s) { } TEST(FormatTest, ConstexprSpecsHandler) { - static_assert(parse_specs("<").align == fmt::ALIGN_LEFT, ""); + static_assert(parse_specs("<").align() == fmt::ALIGN_LEFT, ""); static_assert(parse_specs("*^").fill() == '*', ""); static_assert(parse_specs("+").has(fmt::PLUS_FLAG), ""); static_assert(parse_specs("-").has(fmt::MINUS_FLAG), ""); static_assert(parse_specs(" ").has(fmt::SIGN_FLAG), ""); static_assert(parse_specs("#").has(fmt::HASH_FLAG), ""); - static_assert(parse_specs("0").align == fmt::ALIGN_NUMERIC, ""); + static_assert(parse_specs("0").align() == fmt::ALIGN_NUMERIC, ""); static_assert(parse_specs("42").width() == 42, ""); static_assert(parse_specs("{}").width() == 11, ""); static_assert(parse_specs("{0}").width() == 22, ""); static_assert(parse_specs(".42").precision == 42, ""); static_assert(parse_specs(".{}").precision == 11, ""); static_assert(parse_specs(".{0}").precision == 22, ""); - static_assert(parse_specs("d").type() == 'd', ""); + static_assert(parse_specs("d").type == 'd', ""); } FMT_CONSTEXPR fmt::internal::dynamic_format_specs @@ -2208,20 +2208,20 @@ FMT_CONSTEXPR fmt::internal::dynamic_format_specs } TEST(FormatTest, ConstexprDynamicSpecsHandler) { - static_assert(parse_dynamic_specs("<").align == fmt::ALIGN_LEFT, ""); + static_assert(parse_dynamic_specs("<").align() == fmt::ALIGN_LEFT, ""); static_assert(parse_dynamic_specs("*^").fill() == '*', ""); static_assert(parse_dynamic_specs("+").has(fmt::PLUS_FLAG), ""); static_assert(parse_dynamic_specs("-").has(fmt::MINUS_FLAG), ""); static_assert(parse_dynamic_specs(" ").has(fmt::SIGN_FLAG), ""); static_assert(parse_dynamic_specs("#").has(fmt::HASH_FLAG), ""); - static_assert(parse_dynamic_specs("0").align == fmt::ALIGN_NUMERIC, ""); + static_assert(parse_dynamic_specs("0").align() == fmt::ALIGN_NUMERIC, ""); static_assert(parse_dynamic_specs("42").width() == 42, ""); static_assert(parse_dynamic_specs("{}").width_ref.index == 33, ""); static_assert(parse_dynamic_specs("{42}").width_ref.index == 42, ""); static_assert(parse_dynamic_specs(".42").precision == 42, ""); static_assert(parse_dynamic_specs(".{}").precision_ref.index == 33, ""); static_assert(parse_dynamic_specs(".{42}").precision_ref.index == 42, ""); - static_assert(parse_dynamic_specs("d").type() == 'd', ""); + static_assert(parse_dynamic_specs("d").type == 'd', ""); } FMT_CONSTEXPR test_format_specs_handler check_specs(const char *s) {