From 5e5bd304b17d498f78ef041364c602b174434617 Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Mon, 27 May 2024 21:15:14 +0200 Subject: [PATCH] Added range_format_string and range_format_debug_string tests --- test/ranges-test.cc | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/ranges-test.cc b/test/ranges-test.cc index e05ae148f55d6..33ac5e38872af 100644 --- a/test/ranges-test.cc +++ b/test/ranges-test.cc @@ -268,6 +268,33 @@ TEST(ranges_test, disabled_range_formatting_of_path) { fmt::range_format::disabled); } +struct vector_string : std::vector { + using base = std::vector; + using base::base; +}; +struct vector_debug_string : std::vector { + using base = std::vector; + using base::base; +}; +FMT_BEGIN_NAMESPACE +template <> +struct range_format_kind + : std::integral_constant {}; +template <> +struct range_format_kind + : std::integral_constant {}; +FMT_END_NAMESPACE + +TEST(ranges_test, range_format_string) { + const vector_string v{'f', 'o', 'o'}; + EXPECT_EQ(fmt::format("{}", v), "foo"); +} + +TEST(ranges_test, range_format_debug_string) { + const vector_debug_string v{'f', 'o', 'o'}; + EXPECT_EQ(fmt::format("{}", v), "\"foo\""); +} + // A range that provides non-const only begin()/end() to test fmt::join // handles that. //