Index: base/string_util_unittest.cc |
=================================================================== |
--- base/string_util_unittest.cc (revision 10456) |
+++ base/string_util_unittest.cc (working copy) |
@@ -49,6 +49,7 @@ |
{" ", TRIM_TRAILING, "", TRIM_TRAILING}, |
{" ", TRIM_ALL, "", TRIM_ALL}, |
{"\t\rTest String\n", TRIM_ALL, "Test String", TRIM_ALL}, |
+ {"\x85Test String\xa0\x20", TRIM_ALL, "Test String", TRIM_ALL}, |
}; |
TEST(StringUtilTest, TrimWhitespace) { |
@@ -79,52 +80,6 @@ |
} |
} |
-static const struct trim_case_utf8 { |
- const char* input; |
- const TrimPositions positions; |
- const char* output; |
- const TrimPositions return_value; |
-} trim_cases_utf8[] = { |
- // UTF-8 strings that start (and end) with Unicode space characters |
- // (including zero-width spaces). |
- {"\xE2\x80\x80Test String\xE2\x80\x81", TRIM_ALL, "Test String", TRIM_ALL}, |
- {"\xE2\x80\x82Test String\xE2\x80\x83", TRIM_ALL, "Test String", TRIM_ALL}, |
- {"\xE2\x80\x84Test String\xE2\x80\x85", TRIM_ALL, "Test String", TRIM_ALL}, |
- {"\xE2\x80\x86Test String\xE2\x80\x87", TRIM_ALL, "Test String", TRIM_ALL}, |
- {"\xE2\x80\x88Test String\xE2\x80\x8A", TRIM_ALL, "Test String", TRIM_ALL}, |
- {"\xE3\x80\x80Test String\xE3\x80\x80", TRIM_ALL, "Test String", TRIM_ALL}, |
- // UTF-8 strings that end with 0x85 (NEL in ISO-8859). |
- {"\xD0\x85", TRIM_TRAILING, "\xD0\x85", TRIM_NONE}, |
- {"\xD9\x85", TRIM_TRAILING, "\xD9\x85", TRIM_NONE}, |
- {"\xEC\x97\x85", TRIM_TRAILING, "\xEC\x97\x85", TRIM_NONE}, |
- {"\xF0\x90\x80\x85", TRIM_TRAILING, "\xF0\x90\x80\x85", TRIM_NONE}, |
- // UTF-8 strings that end with 0xA0 (non-break space in ISO-8859-1). |
- {"\xD0\xA0", TRIM_TRAILING, "\xD0\xA0", TRIM_NONE}, |
- {"\xD9\xA0", TRIM_TRAILING, "\xD9\xA0", TRIM_NONE}, |
- {"\xEC\x97\xA0", TRIM_TRAILING, "\xEC\x97\xA0", TRIM_NONE}, |
- {"\xF0\x90\x80\xA0", TRIM_TRAILING, "\xF0\x90\x80\xA0", TRIM_NONE}, |
-}; |
- |
-TEST(StringUtilTest, TrimWhitespaceUTF8) { |
- std::string output_ascii; |
- for (size_t i = 0; i < arraysize(trim_cases_ascii); ++i) { |
- const trim_case_ascii& value = trim_cases_ascii[i]; |
- EXPECT_EQ(value.return_value, |
- TrimWhitespaceASCII(value.input, value.positions, &output_ascii)); |
- EXPECT_EQ(value.output, output_ascii); |
- } |
- |
- // Test that TrimWhiteSpaceUTF8() can remove Unicode space characters and |
- // prevent from removing UTF-8 characters that end with an ISO-8859 NEL. |
- std::string output_utf8; |
- for (size_t i = 0; i < arraysize(trim_cases_utf8); ++i) { |
- const trim_case_utf8& value = trim_cases_utf8[i]; |
- EXPECT_EQ(value.return_value, |
- TrimWhitespaceUTF8(value.input, value.positions, &output_utf8)); |
- EXPECT_EQ(value.output, output_utf8); |
- } |
-} |
- |
static const struct collapse_case { |
const wchar_t* input; |
const bool trim; |