Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2374)

Unified Diff: base/strings/string_util_unittest.cc

Issue 1220793010: [ui/base;css] adding string template expression replacement (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment change; merge with master Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« base/strings/string_util.cc ('K') | « base/strings/string_util.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"));
« base/strings/string_util.cc ('K') | « base/strings/string_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698