| Index: base/string_util_unittest.cc
|
| ===================================================================
|
| --- base/string_util_unittest.cc (revision 48740)
|
| +++ base/string_util_unittest.cc (working copy)
|
| @@ -1247,98 +1247,107 @@
|
| }
|
|
|
| // Test for Tokenize
|
| -TEST(StringUtilTest, Tokenize) {
|
| - std::vector<std::string> r;
|
| +template <typename STR>
|
| +void TokenizeTest() {
|
| + std::vector<STR> r;
|
| size_t size;
|
|
|
| - size = Tokenize("This is a string", " ", &r);
|
| + size = Tokenize(STR("This is a string"), STR(" "), &r);
|
| EXPECT_EQ(4U, size);
|
| ASSERT_EQ(4U, r.size());
|
| - EXPECT_EQ(r[0], "This");
|
| - EXPECT_EQ(r[1], "is");
|
| - EXPECT_EQ(r[2], "a");
|
| - EXPECT_EQ(r[3], "string");
|
| + EXPECT_EQ(r[0], STR("This"));
|
| + EXPECT_EQ(r[1], STR("is"));
|
| + EXPECT_EQ(r[2], STR("a"));
|
| + EXPECT_EQ(r[3], STR("string"));
|
| r.clear();
|
|
|
| - size = Tokenize("one,two,three", ",", &r);
|
| + size = Tokenize(STR("one,two,three"), STR(","), &r);
|
| EXPECT_EQ(3U, size);
|
| ASSERT_EQ(3U, r.size());
|
| - EXPECT_EQ(r[0], "one");
|
| - EXPECT_EQ(r[1], "two");
|
| - EXPECT_EQ(r[2], "three");
|
| + EXPECT_EQ(r[0], STR("one"));
|
| + EXPECT_EQ(r[1], STR("two"));
|
| + EXPECT_EQ(r[2], STR("three"));
|
| r.clear();
|
|
|
| - size = Tokenize("one,two:three;four", ",:", &r);
|
| + size = Tokenize(STR("one,two:three;four"), STR(",:"), &r);
|
| EXPECT_EQ(3U, size);
|
| ASSERT_EQ(3U, r.size());
|
| - EXPECT_EQ(r[0], "one");
|
| - EXPECT_EQ(r[1], "two");
|
| - EXPECT_EQ(r[2], "three;four");
|
| + EXPECT_EQ(r[0], STR("one"));
|
| + EXPECT_EQ(r[1], STR("two"));
|
| + EXPECT_EQ(r[2], STR("three;four"));
|
| r.clear();
|
|
|
| - size = Tokenize("one,two:three;four", ";,:", &r);
|
| + size = Tokenize(STR("one,two:three;four"), STR(";,:"), &r);
|
| EXPECT_EQ(4U, size);
|
| ASSERT_EQ(4U, r.size());
|
| - EXPECT_EQ(r[0], "one");
|
| - EXPECT_EQ(r[1], "two");
|
| - EXPECT_EQ(r[2], "three");
|
| - EXPECT_EQ(r[3], "four");
|
| + EXPECT_EQ(r[0], STR("one"));
|
| + EXPECT_EQ(r[1], STR("two"));
|
| + EXPECT_EQ(r[2], STR("three"));
|
| + EXPECT_EQ(r[3], STR("four"));
|
| r.clear();
|
|
|
| - size = Tokenize("one, two, three", ",", &r);
|
| + size = Tokenize(STR("one, two, three"), STR(","), &r);
|
| EXPECT_EQ(3U, size);
|
| ASSERT_EQ(3U, r.size());
|
| - EXPECT_EQ(r[0], "one");
|
| - EXPECT_EQ(r[1], " two");
|
| - EXPECT_EQ(r[2], " three");
|
| + EXPECT_EQ(r[0], STR("one"));
|
| + EXPECT_EQ(r[1], STR(" two"));
|
| + EXPECT_EQ(r[2], STR(" three"));
|
| r.clear();
|
|
|
| - size = Tokenize("one, two, three, ", ",", &r);
|
| + size = Tokenize(STR("one, two, three, "), STR(","), &r);
|
| EXPECT_EQ(4U, size);
|
| ASSERT_EQ(4U, r.size());
|
| - EXPECT_EQ(r[0], "one");
|
| - EXPECT_EQ(r[1], " two");
|
| - EXPECT_EQ(r[2], " three");
|
| - EXPECT_EQ(r[3], " ");
|
| + EXPECT_EQ(r[0], STR("one"));
|
| + EXPECT_EQ(r[1], STR(" two"));
|
| + EXPECT_EQ(r[2], STR(" three"));
|
| + EXPECT_EQ(r[3], STR(" "));
|
| r.clear();
|
|
|
| - size = Tokenize("one, two, three,", ",", &r);
|
| + size = Tokenize(STR("one, two, three,"), STR(","), &r);
|
| EXPECT_EQ(3U, size);
|
| ASSERT_EQ(3U, r.size());
|
| - EXPECT_EQ(r[0], "one");
|
| - EXPECT_EQ(r[1], " two");
|
| - EXPECT_EQ(r[2], " three");
|
| + EXPECT_EQ(r[0], STR("one"));
|
| + EXPECT_EQ(r[1], STR(" two"));
|
| + EXPECT_EQ(r[2], STR(" three"));
|
| r.clear();
|
|
|
| - size = Tokenize("", ",", &r);
|
| + size = Tokenize(STR(""), STR(","), &r);
|
| EXPECT_EQ(0U, size);
|
| ASSERT_EQ(0U, r.size());
|
| r.clear();
|
|
|
| - size = Tokenize(",", ",", &r);
|
| + size = Tokenize(STR(","), STR(","), &r);
|
| EXPECT_EQ(0U, size);
|
| ASSERT_EQ(0U, r.size());
|
| r.clear();
|
|
|
| - size = Tokenize(",;:.", ".:;,", &r);
|
| + size = Tokenize(STR(",;:."), STR(".:;,"), &r);
|
| EXPECT_EQ(0U, size);
|
| ASSERT_EQ(0U, r.size());
|
| r.clear();
|
|
|
| - size = Tokenize("\t\ta\t", "\t", &r);
|
| + size = Tokenize(STR("\t\ta\t"), STR("\t"), &r);
|
| EXPECT_EQ(1U, size);
|
| ASSERT_EQ(1U, r.size());
|
| - EXPECT_EQ(r[0], "a");
|
| + EXPECT_EQ(r[0], STR("a"));
|
| r.clear();
|
|
|
| - size = Tokenize("\ta\t\nb\tcc", "\n", &r);
|
| + size = Tokenize(STR("\ta\t\nb\tcc"), STR("\n"), &r);
|
| EXPECT_EQ(2U, size);
|
| ASSERT_EQ(2U, r.size());
|
| - EXPECT_EQ(r[0], "\ta\t");
|
| - EXPECT_EQ(r[1], "b\tcc");
|
| + EXPECT_EQ(r[0], STR("\ta\t"));
|
| + EXPECT_EQ(r[1], STR("b\tcc"));
|
| r.clear();
|
| }
|
|
|
| +TEST(StringUtilTest, TokenizeStdString) {
|
| + TokenizeTest<std::string>();
|
| +}
|
| +
|
| +TEST(StringUtilTest, TokenizeStringPiece) {
|
| + TokenizeTest<base::StringPiece>();
|
| +}
|
| +
|
| // Test for JoinString
|
| TEST(StringUtilTest, JoinString) {
|
| std::vector<std::string> in;
|
|
|