| Index: base/string_util_unittest.cc
|
| ===================================================================
|
| --- base/string_util_unittest.cc (revision 108864)
|
| +++ base/string_util_unittest.cc (working copy)
|
| @@ -1066,6 +1066,39 @@
|
| EXPECT_EQ(std::string(), input);
|
| }
|
|
|
| +TEST(StringUtilTest, ReplaceChars) {
|
| + struct TestData {
|
| + const char* input;
|
| + const char* replace_chars;
|
| + const char* replace_with;
|
| + const char* output;
|
| + bool result;
|
| + } cases[] = {
|
| + { "", "", "", "", false },
|
| + { "test", "", "", "test", false },
|
| + { "test", "", "!", "test", false },
|
| + { "test", "z", "!", "test", false },
|
| + { "test", "e", "!", "t!st", true },
|
| + { "test", "e", "!?", "t!?st", true },
|
| + { "test", "ez", "!", "t!st", true },
|
| + { "test", "zed", "!?", "t!?st", true },
|
| + { "test", "t", "!?", "!?es!?", true },
|
| + { "test", "et", "!>", "!>!>s!>", true },
|
| + { "test", "zest", "!", "!!!!", true },
|
| + { "test", "szt", "!", "!e!!", true },
|
| + };
|
| +
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
|
| + std::string output;
|
| + bool result = ReplaceChars(cases[i].input,
|
| + cases[i].replace_chars,
|
| + cases[i].replace_with,
|
| + &output);
|
| + EXPECT_EQ(cases[i].result, result);
|
| + EXPECT_EQ(cases[i].output, output);
|
| + }
|
| +}
|
| +
|
| TEST(StringUtilTest, ContainsOnlyChars) {
|
| // Providing an empty list of characters should return false but for the empty
|
| // string.
|
|
|