From b1a55bc09994ab33554632bc074aa4e1d43602e5 Mon Sep 17 00:00:00 2001 From: Alexey Ochapov Date: Tue, 18 Aug 2020 20:04:49 +0300 Subject: [PATCH] add WithOstreamOperator test into CompileTest to check fmt::format() with FMT_COMPILE() and class that has output stream operator --- test/compile-test.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/compile-test.cc b/test/compile-test.cc index fd98c772..7e74a7e1 100644 --- a/test/compile-test.cc +++ b/test/compile-test.cc @@ -23,6 +23,7 @@ #endif #include "fmt/compile.h" +#include "fmt/ostream.h" #include "gmock.h" #include "gtest-extra.h" #include "mock-allocator.h" @@ -169,4 +170,15 @@ TEST(CompileTest, TextAndArg) { EXPECT_EQ(">>>42<<<", fmt::format(FMT_COMPILE(">>>{}<<<"), 42)); EXPECT_EQ("42!", fmt::format(FMT_COMPILE("{}!"), 42)); } + +struct ostream_operator_test {}; + +std::ostream& operator<<(std::ostream& os, ostream_operator_test) { + return os << "42"; +} + +TEST(CompileTest, WithOstreamOperator) { + EXPECT_EQ("42", fmt::format(FMT_COMPILE("{}"), ostream_operator_test())); +} + #endif