comparison tests/util/main.cpp @ 118:2a63c8ec45cd

Irccd: fix some errors in util::format, #408
author David Demelier <markand@malikania.fr>
date Fri, 29 Apr 2016 14:19:30 +0200
parents 8cbbce7b4327
children b39573fc066e
comparison
equal deleted inserted replaced
117:9b9b09543d2a 118:2a63c8ec45cd
35 std::string result = util::format("hello world!"); 35 std::string result = util::format("hello world!");
36 36
37 ASSERT_EQ(expected, result); 37 ASSERT_EQ(expected, result);
38 } 38 }
39 39
40 TEST(Format, escape)
41 {
42 util::Substitution params;
43
44 params.keywords.emplace("target", "hello");
45
46 ASSERT_EQ("$@#", util::format("$@#"));
47 ASSERT_EQ(" $ @ # ", util::format(" $ @ # "));
48 ASSERT_EQ("#", util::format("#"));
49 ASSERT_EQ(" # ", util::format(" # "));
50 ASSERT_EQ("#@", util::format("#@"));
51 ASSERT_EQ("##", util::format("##"));
52 ASSERT_EQ("#!", util::format("#!"));
53 ASSERT_EQ("#{target}", util::format("##{target}"));
54 ASSERT_EQ("@hello", util::format("@#{target}", params));
55 ASSERT_EQ("hello#", util::format("#{target}#", params));
56 ASSERT_ANY_THROW(util::format("#{failure"));
57 }
58
40 TEST(Format, keywordSimple) 59 TEST(Format, keywordSimple)
41 { 60 {
42 util::Substitution params; 61 util::Substitution params;
43 62
44 params.keywords.insert({"target", "irccd"}); 63 params.keywords.insert({"target", "irccd"});