Mercurial > irccd
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"}); |