Chromium Code Reviews| Index: base/strings/string_util_unittest.cc |
| diff --git a/base/strings/string_util_unittest.cc b/base/strings/string_util_unittest.cc |
| index fb0beada4b344b5223c3610e42a071ca63295bab..b905d929b48f87c192092b3275d4ed4b8f0be5f2 100644 |
| --- a/base/strings/string_util_unittest.cc |
| +++ b/base/strings/string_util_unittest.cc |
| @@ -883,6 +883,38 @@ TEST(StringUtilTest, EndsWith) { |
| EXPECT_TRUE(EndsWith(string16(), string16(), true)); |
| } |
| +TEST(StringUtilTest, StdStringReplaceStringPlaceholdersWithMap) { |
| + std::map<std::string, std::string> subst; |
| + subst.insert(std::pair<std::string, std::string>("one", "9a")); |
| + subst.insert(std::pair<std::string, std::string>("b", "8b")); |
| + subst.insert(std::pair<std::string, std::string>("cc", "7c")); |
| + subst.insert(std::pair<std::string, std::string>("four", "6d")); |
| + subst.insert( |
| + std::pair<std::string, std::string>("very long with spaces", "5e")); |
| + subst.insert(std::pair<std::string, std::string>("", "4f")); |
| + subst.insert(std::pair<std::string, std::string>("&", "3g")); |
| + subst.insert(std::pair<std::string, std::string>("$", "2h")); |
| + subst.insert(std::pair<std::string, std::string>("$$", "1i")); |
|
Dan Beam
2015/07/02 02:10:16
this test brings up a good question: what should w
dschuyler
2015/07/07 23:05:30
Could that be addressed through style review prior
|
| + |
| + std::string formatted = ReplaceStringPlaceholders( |
| + "${one}a,${b}b,${cc}c,${four}d,${very long with " |
| + "spaces}e,${}f,${&}g,${$}h,${$$}i", |
| + subst); |
| + |
| + EXPECT_EQ(formatted, "9aa,8bb,7cc,6dd,5ee,4ff,3gg,2hh,1ii"); |
| +} |
| + |
| +TEST(StringUtilTest, ReplaceStringPlaceholdersConsecutiveDollarSignsWithMap) { |
| + std::map<std::string, std::string> subst; |
| + subst.insert(std::pair<std::string, std::string>("a", "9a")); |
| + subst.insert(std::pair<std::string, std::string>("b", "8b")); |
| + subst.insert(std::pair<std::string, std::string>("c", "7c")); |
| + EXPECT_EQ(ReplaceStringPlaceholders("$${a} $$${b} $$$${c} $$", subst), |
| + "${a} $${b} $$${c} $"); |
| + EXPECT_EQ(ReplaceStringPlaceholders("$$", subst), "$"); |
| + EXPECT_EQ(ReplaceStringPlaceholders("$", subst), ""); |
| +} |
| + |
| TEST(StringUtilTest, GetStringFWithOffsets) { |
| std::vector<string16> subst; |
| subst.push_back(ASCIIToUTF16("1")); |