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 ad7ff247c993c968d12d291a2f94fc93d1d04283..836d4ead76574c037518ab0326423a6a210aad12 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")); |
| + |
| + 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} $"); |
|
Dan Beam
2015/07/07 02:23:31
please add one like $12 and ensure 12 is left over
dschuyler
2015/07/07 23:05:30
Done.
|
| + EXPECT_EQ(ReplaceStringPlaceholders("$$", subst), "$"); |
| + EXPECT_EQ(ReplaceStringPlaceholders("$", subst), ""); |
| +} |
| + |
| TEST(StringUtilTest, GetStringFWithOffsets) { |
| std::vector<string16> subst; |
| subst.push_back(ASCIIToUTF16("1")); |