| Index: base/string_util_unittest.cc
|
| diff --git a/base/string_util_unittest.cc b/base/string_util_unittest.cc
|
| index 9a7f40f507d615ca5ad4001462fdd08e183d9f74..11c727d01bf9b73b7e9b132219189ee28c0fab5e 100644
|
| --- a/base/string_util_unittest.cc
|
| +++ b/base/string_util_unittest.cc
|
| @@ -675,6 +675,35 @@ TEST(StringUtilTest, ReplaceSubstringsAfterOffset) {
|
| }
|
| }
|
|
|
| +TEST(StringUtilTest, ReplaceFirstSubstringAfterOffset) {
|
| + static const struct {
|
| + const wchar_t* str;
|
| + std::wstring::size_type start_offset;
|
| + const wchar_t* find_this;
|
| + const wchar_t* replace_with;
|
| + const wchar_t* expected;
|
| + } cases[] = {
|
| + {L"aaa", 0, L"a", L"b", L"baa"},
|
| + {L"abb", 0, L"ab", L"a", L"ab"},
|
| + {L"Removing some substrings inging", 0, L"ing", L"",
|
| + L"Remov some substrings inging"},
|
| + {L"Not found", 0, L"x", L"0", L"Not found"},
|
| + {L"Not found again", 5, L"x", L"0", L"Not found again"},
|
| + {L" Making it much longer ", 0, L" ", L"Four score and seven years ago",
|
| + L"Four score and seven years agoMaking it much longer "},
|
| + {L"Invalid offset", 9999, L"t", L"foobar", L"Invalid offset"},
|
| + {L"Replace me only me once", 4, L"me ", L"", L"Replace only me once"},
|
| + {L"abababab", 2, L"ab", L"c", L"abcabab"},
|
| + };
|
| +
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) {
|
| + std::wstring str(cases[i].str);
|
| + ReplaceFirstSubstringAfterOffset(&str, cases[i].start_offset,
|
| + cases[i].find_this, cases[i].replace_with);
|
| + EXPECT_EQ(cases[i].expected, str);
|
| + }
|
| +}
|
| +
|
| namespace {
|
|
|
| template <typename INT>
|
|
|