From 28a50d55ab8efa7ef50e5764409237bd0a9a250f Mon Sep 17 00:00:00 2001 From: Yat Ho Date: Thu, 25 Jun 2026 09:22:34 +0800 Subject: [PATCH] test: add test case --- test/base-test.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/base-test.cc b/test/base-test.cc index 40cc3810..132759f0 100644 --- a/test/base-test.cc +++ b/test/base-test.cc @@ -874,6 +874,25 @@ struct custom_container { auto operator[](size_t) -> char& { return data; } }; +struct phantom_subscript_operator_container +{ + std::vector buffer_; + + using value_type = char; + + FMT_NODISCARD auto size() const noexcept -> size_t { return buffer_.size(); } + + FMT_NODISCARD auto data() noexcept -> char* { return buffer_.data(); } + + FMT_NODISCARD auto data() const noexcept -> char const* { return buffer_.data(); } + + void resize(size_t n) { buffer_.resize(n); } + + void push_back(char const& value) { buffer_.push_back(value); } + + FMT_NODISCARD operator char const*() const noexcept { return data(); } +}; + FMT_BEGIN_NAMESPACE template <> struct is_contiguous : std::true_type {}; FMT_END_NAMESPACE @@ -884,6 +903,7 @@ TEST(base_test, is_contiguous) { EXPECT_TRUE((fmt::is_contiguous::value)); EXPECT_TRUE((fmt::is_contiguous>::value)); EXPECT_FALSE((fmt::is_contiguous>::value)); + EXPECT_FALSE((fmt::is_contiguous::value)); } TEST(base_test, format_to_custom_container) {