summaryrefslogtreecommitdiffstats
path: root/base/string_util_unittest.cc
diff options
context:
space:
mode:
authorsmckay@chromium.org <smckay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-27 22:58:36 +0000
committersmckay@chromium.org <smckay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-27 22:58:36 +0000
commita58f56cd71045e13fef41ac1faf61070dbf882a4 (patch)
tree3656a4dd25e2268746a51c537ef52918b1023644 /base/string_util_unittest.cc
parent6cafe35a10c46e205a56dfe7208c1e40781dcdb8 (diff)
downloadchromium_src-a58f56cd71045e13fef41ac1faf61070dbf882a4.zip
chromium_src-a58f56cd71045e13fef41ac1faf61070dbf882a4.tar.gz
chromium_src-a58f56cd71045e13fef41ac1faf61070dbf882a4.tar.bz2
Add support for joining strings on strings rather than just chars.
BUG= Review URL: https://chromiumcodereview.appspot.com/10828217 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153568 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/string_util_unittest.cc')
-rw-r--r--base/string_util_unittest.cc38
1 files changed, 38 insertions, 0 deletions
diff --git a/base/string_util_unittest.cc b/base/string_util_unittest.cc
index 5c51c2a..d36b955 100644
--- a/base/string_util_unittest.cc
+++ b/base/string_util_unittest.cc
@@ -767,6 +767,44 @@ TEST(StringUtilTest, JoinString) {
EXPECT_EQ("a|b|c|| ", JoinString(in, '|'));
}
+// Test for JoinString overloaded with std::string separator
+TEST(StringUtilTest, JoinStringWithString) {
+ std::string separator(", ");
+ std::vector<std::string> parts;
+ EXPECT_EQ(std::string(), JoinString(parts, separator));
+
+ parts.push_back("a");
+ EXPECT_EQ("a", JoinString(parts, separator));
+
+ parts.push_back("b");
+ parts.push_back("c");
+ EXPECT_EQ("a, b, c", JoinString(parts, separator));
+
+ parts.push_back("");
+ EXPECT_EQ("a, b, c, ", JoinString(parts, separator));
+ parts.push_back(" ");
+ EXPECT_EQ("a|b|c|| ", JoinString(parts, "|"));
+}
+
+// Test for JoinString overloaded with string16 separator
+TEST(StringUtilTest, JoinStringWithString16) {
+ string16 separator = ASCIIToUTF16(", ");
+ std::vector<string16> parts;
+ EXPECT_EQ(string16(), JoinString(parts, separator));
+
+ parts.push_back(ASCIIToUTF16("a"));
+ EXPECT_EQ(ASCIIToUTF16("a"), JoinString(parts, separator));
+
+ parts.push_back(ASCIIToUTF16("b"));
+ parts.push_back(ASCIIToUTF16("c"));
+ EXPECT_EQ(ASCIIToUTF16("a, b, c"), JoinString(parts, separator));
+
+ parts.push_back(ASCIIToUTF16(""));
+ EXPECT_EQ(ASCIIToUTF16("a, b, c, "), JoinString(parts, separator));
+ parts.push_back(ASCIIToUTF16(" "));
+ EXPECT_EQ(ASCIIToUTF16("a|b|c|| "), JoinString(parts, ASCIIToUTF16("|")));
+}
+
TEST(StringUtilTest, StartsWith) {
EXPECT_TRUE(StartsWithASCII("javascript:url", "javascript", true));
EXPECT_FALSE(StartsWithASCII("JavaScript:url", "javascript", true));