From 57842660b6c03eb4d9b563500d19a11109085d58 Mon Sep 17 00:00:00 2001 From: Thomas Novotny Date: Tue, 20 Nov 2018 23:47:23 +0100 Subject: [PATCH] add additional tests #define out problematic test for gcc 4 --- test/printf-test.cc | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/test/printf-test.cc b/test/printf-test.cc index f36452b9..3a9c1f49 100644 --- a/test/printf-test.cc +++ b/test/printf-test.cc @@ -519,16 +519,42 @@ TEST(PrintfTest, CheckFormatStringRegression) { check_format_string_regression("%c%s", 'x', ""); } - -TEST(PrintfTest, VSPrintfMakeArgsExample) { - EXPECT_EQ("[42] something happened", +TEST( PrintfTest, VSPrintfMakeArgsExample ) { + fmt::format_arg_store as{42, + "something"}; + fmt::basic_format_args args(as); + EXPECT_EQ( + "[42] something happened", fmt::vsprintf("[%d] %s happened", args)); + fmt::format_arg_store as2 = + fmt::make_printf_args(42, "something"); + fmt::basic_format_args args2(as2); + EXPECT_EQ( + "[42] something happened", fmt::vsprintf("[%d] %s happened", args2)); + //the older gcc versions can"t cast the return value +#if !defined(__GNUC__) || (__GNUC__ > 4) + EXPECT_EQ( + "[42] something happened", fmt::vsprintf( - "[%d] %s happened", fmt::make_printf_args( 42, "something" ) ) ); + "[%d] %s happened", fmt::make_printf_args(42, "something"))); +#endif } - TEST( PrintfTest, VSPrintfMakeWArgsExample ) { - EXPECT_EQ(L"[42] something happened", + fmt::format_arg_store as{ + 42,L"something"}; + fmt::basic_format_args args(as); + EXPECT_EQ( + L"[42] something happened", + fmt::vsprintf(L"[%d] %s happened", args)); + fmt::format_arg_store as2 = + fmt::make_wprintf_args(42, L"something"); + fmt::basic_format_args args2( as2 ); + EXPECT_EQ( + L"[42] something happened", fmt::vsprintf(L"[%d] %s happened", args2)); +#if !defined(__GNUC__) || (__GNUC__ > 4) + EXPECT_EQ( + L"[42] something happened", fmt::vsprintf( - L"[%d] %s happened", fmt::make_wprintf_args( 42, L"something" ) ) ); + L"[%d] %s happened", fmt::make_wprintf_args(42, L"something"))); +#endif }