| Index: base/strings/string_util_unittest.cc
|
| diff --git a/base/strings/string_util_unittest.cc b/base/strings/string_util_unittest.cc
|
| index df2226e48bc488f37b628ed002cfc790bad11b7a..6c054f8327e4718366c19fe5e8dd5f0f0778667c 100644
|
| --- a/base/strings/string_util_unittest.cc
|
| +++ b/base/strings/string_util_unittest.cc
|
| @@ -707,6 +707,92 @@ TEST(StringUtilTest, JoinString16) {
|
| EXPECT_EQ(ASCIIToUTF16("a|b|c|| "), JoinString(parts, ASCIIToUTF16("|")));
|
| }
|
|
|
| +TEST(StringUtilTest, JoinStringPiece) {
|
| + std::string separator(", ");
|
| + std::vector<base::StringPiece> parts;
|
| + EXPECT_EQ(base::StringPiece(), 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(base::StringPiece());
|
| + EXPECT_EQ("a, b, c, ", JoinString(parts, separator));
|
| + parts.push_back(" ");
|
| + EXPECT_EQ("a|b|c|| ", JoinString(parts, "|"));
|
| +}
|
| +
|
| +TEST(StringUtilTest, JoinStringPiece16) {
|
| + string16 separator = ASCIIToUTF16(", ");
|
| + std::vector<base::StringPiece16> parts;
|
| + EXPECT_EQ(base::StringPiece16(), JoinString(parts, separator));
|
| +
|
| + const string16 kA = ASCIIToUTF16("a");
|
| + parts.push_back(kA);
|
| + EXPECT_EQ(ASCIIToUTF16("a"), JoinString(parts, separator));
|
| +
|
| + const string16 kB = ASCIIToUTF16("b");
|
| + parts.push_back(kB);
|
| + const string16 kC = ASCIIToUTF16("c");
|
| + parts.push_back(kC);
|
| + EXPECT_EQ(ASCIIToUTF16("a, b, c"), JoinString(parts, separator));
|
| +
|
| + parts.push_back(base::StringPiece16());
|
| + EXPECT_EQ(ASCIIToUTF16("a, b, c, "), JoinString(parts, separator));
|
| + const string16 kSpace = ASCIIToUTF16(" ");
|
| + parts.push_back(kSpace);
|
| + EXPECT_EQ(ASCIIToUTF16("a|b|c|| "), JoinString(parts, ASCIIToUTF16("|")));
|
| +}
|
| +
|
| +TEST(StringUtilTest, JoinStringInitializerList) {
|
| + std::string separator(", ");
|
| + EXPECT_EQ(base::StringPiece(), JoinString({}, separator));
|
| +
|
| + // With const char*s.
|
| + EXPECT_EQ("a", JoinString({"a"}, separator));
|
| + EXPECT_EQ("a, b, c", JoinString({"a", "b", "c"}, separator));
|
| + EXPECT_EQ("a, b, c, ", JoinString({"a", "b", "c", ""}, separator));
|
| + EXPECT_EQ("a|b|c|| ", JoinString({"a", "b", "c", "", " "}, "|"));
|
| +
|
| + // With std::strings.
|
| + const std::string kA = "a";
|
| + const std::string kB = "b";
|
| + EXPECT_EQ("a, b", JoinString({kA, kB}, separator));
|
| +
|
| + // With StringPieces.
|
| + const StringPiece kPieceA = kA;
|
| + const StringPiece kPieceB = kB;
|
| + EXPECT_EQ("a, b", JoinString({kPieceA, kPieceB}, separator));
|
| +}
|
| +
|
| +TEST(StringUtilTest, JoinStringInitializerList16) {
|
| + string16 separator = ASCIIToUTF16(", ");
|
| + EXPECT_EQ(base::StringPiece16(), JoinString({}, separator));
|
| +
|
| + // With string16s.
|
| + const string16 kA = ASCIIToUTF16("a");
|
| + EXPECT_EQ(ASCIIToUTF16("a"), JoinString({kA}, separator));
|
| +
|
| + const string16 kB = ASCIIToUTF16("b");
|
| + const string16 kC = ASCIIToUTF16("c");
|
| + EXPECT_EQ(ASCIIToUTF16("a, b, c"), JoinString({kA, kB, kC}, separator));
|
| +
|
| + const string16 kEmpty = ASCIIToUTF16("");
|
| + EXPECT_EQ(ASCIIToUTF16("a, b, c, "),
|
| + JoinString({kA, kB, kC, kEmpty}, separator));
|
| + const string16 kSpace = ASCIIToUTF16(" ");
|
| + EXPECT_EQ(ASCIIToUTF16("a|b|c|| "),
|
| + JoinString({kA, kB, kC, kEmpty, kSpace}, ASCIIToUTF16("|")));
|
| +
|
| + // With StringPiece16s.
|
| + const StringPiece16 kPieceA = kA;
|
| + const StringPiece16 kPieceB = kB;
|
| + EXPECT_EQ(ASCIIToUTF16("a, b"), JoinString({kPieceA, kPieceB}, separator));
|
| +}
|
| +
|
| TEST(StringUtilTest, StartsWith) {
|
| EXPECT_TRUE(StartsWith("javascript:url", "javascript",
|
| base::CompareCase::SENSITIVE));
|
|
|