Skip to content

Commit

Permalink
Merge branch 'udl' of github.com:dean0x7d/cppformat into udl
Browse files Browse the repository at this point in the history
  • Loading branch information
vitaut committed Oct 9, 2015
2 parents 3b9765f + c0813c5 commit 2eda831
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions test/format-test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1604,23 +1604,31 @@ TEST(FormatTest, MaxArgs) {
}

#if FMT_USE_USER_DEFINED_LITERALS
// Passing user-defined literals directly to EXPECT_EQ causes problems
// with macro argument stringification (#) on some versions of GCC.
// Workaround: Assing the UDL result to a variable before the macro.

using namespace fmt::literals;

TEST(LiteralsTest, Format) {
EXPECT_EQ(format("{}c{}", "ab", 1), "{}c{}"_format("ab", 1));
EXPECT_EQ(format(L"{}c{}", L"ab", 1), L"{}c{}"_format(L"ab", 1));
auto udl_format = "{}c{}"_format("ab", 1);
EXPECT_EQ(format("{}c{}", "ab", 1), udl_format);
auto udl_format_w = L"{}c{}"_format(L"ab", 1);
EXPECT_EQ(format(L"{}c{}", L"ab", 1), udl_format_w);
}

TEST(LiteralsTest, NamedArg) {
auto udl_a = format("{first}{second}{first}{third}",
"first"_a="abra", "second"_a="cad", "third"_a=99);
EXPECT_EQ(format("{first}{second}{first}{third}",
fmt::arg("first", "abra"), fmt::arg("second", "cad"),
fmt::arg("third", 99)),
format("{first}{second}{first}{third}",
"first"_a="abra", "second"_a="cad", "third"_a=99));
udl_a);
auto udl_a_w = format(L"{first}{second}{first}{third}",
L"first"_a=L"abra", L"second"_a=L"cad", L"third"_a=99);
EXPECT_EQ(format(L"{first}{second}{first}{third}",
fmt::arg(L"first", L"abra"), fmt::arg(L"second", L"cad"),
fmt::arg(L"third", 99)),
format(L"{first}{second}{first}{third}",
L"first"_a=L"abra", L"second"_a=L"cad", L"third"_a=99));
udl_a_w);
}
#endif // FMT_USE_USER_DEFINED_LITERALS

0 comments on commit 2eda831

Please sign in to comment.