| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <math.h> | 5 #include <math.h> |
| 6 #include <stdarg.h> | 6 #include <stdarg.h> |
| 7 | 7 |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <sstream> | 9 #include <sstream> |
| 10 | 10 |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 true, | 179 true, |
| 180 L"\x03B3\x03B5\x03B9\x03AC" L" " L"\x03C3\x03BF\x03C5", | 180 L"\x03B3\x03B5\x03B9\x03AC" L" " L"\x03C3\x03BF\x03C5", |
| 181 NULL}, | 181 NULL}, |
| 182 // Hebrew (Windows) | 182 // Hebrew (Windows) |
| 183 {"windows-1255", | 183 {"windows-1255", |
| 184 "\xF9\xD1\xC8\xEC\xE5\xC9\xED", | 184 "\xF9\xD1\xC8\xEC\xE5\xC9\xED", |
| 185 OnStringConversionError::FAIL, | 185 OnStringConversionError::FAIL, |
| 186 true, | 186 true, |
| 187 L"\x05E9\x05C1\x05B8\x05DC\x05D5\x05B9\x05DD", | 187 L"\x05E9\x05C1\x05B8\x05DC\x05D5\x05B9\x05DD", |
| 188 NULL}, | 188 NULL}, |
| 189 // Hindi Devanagari (ISCII) |
| 190 {"iscii-dev", |
| 191 "\xEF\x42" "\xC6\xCC\xD7\xE8\xB3\xDA\xCF", |
| 192 OnStringConversionError::FAIL, |
| 193 true, |
| 194 L"\x0928\x092E\x0938\x094D\x0915\x093E\x0930", |
| 195 NULL}, |
| 189 // Korean (EUC) | 196 // Korean (EUC) |
| 190 {"euc-kr", | 197 {"euc-kr", |
| 191 "\xBE\xC8\xB3\xE7\xC7\xCF\xBC\xBC\xBF\xE4", | 198 "\xBE\xC8\xB3\xE7\xC7\xCF\xBC\xBC\xBF\xE4", |
| 192 OnStringConversionError::FAIL, | 199 OnStringConversionError::FAIL, |
| 193 true, | 200 true, |
| 194 L"\xC548\xB155\xD558\xC138\xC694", | 201 L"\xC548\xB155\xD558\xC138\xC694", |
| 195 NULL}, | 202 NULL}, |
| 196 // Japanese (EUC) | 203 // Japanese (EUC) |
| 197 {"euc-jp", | 204 {"euc-jp", |
| 198 "\xA4\xB3\xA4\xF3\xA4\xCB\xA4\xC1\xA4\xCF\xB0\xEC\x8E\xA6", | 205 "\xA4\xB3\xA4\xF3\xA4\xCB\xA4\xC1\xA4\xCF\xB0\xEC\x8F\xB0\xA1\x8E\xA6", |
| 199 OnStringConversionError::FAIL, | 206 OnStringConversionError::FAIL, |
| 200 true, | 207 true, |
| 201 L"\x3053\x3093\x306B\x3061\x306F\x4E00\xFF66", | 208 L"\x3053\x3093\x306B\x3061\x306F\x4E00\x4E02\xFF66", |
| 202 NULL}, | 209 NULL}, |
| 203 // Japanese (ISO-2022) | 210 // Japanese (ISO-2022) |
| 204 {"iso-2022-jp", | 211 {"iso-2022-jp", |
| 205 "\x1B$B" "\x24\x33\x24\x73\x24\x4B\x24\x41\x24\x4F\x30\x6C" "\x1B(B" | 212 "\x1B$B" "\x24\x33\x24\x73\x24\x4B\x24\x41\x24\x4F\x30\x6C" "\x1B(B" |
| 206 "ab" "\x1B(J" "\x5C\x7E#$" "\x1B(B", | 213 "ab" "\x1B(J" "\x5C\x7E#$" "\x1B(B", |
| 207 OnStringConversionError::FAIL, | 214 OnStringConversionError::FAIL, |
| 208 true, | 215 true, |
| 209 L"\x3053\x3093\x306B\x3061\x306F\x4E00" L"ab\x00A5\x203E#$", | 216 L"\x3053\x3093\x306B\x3061\x306F\x4E00" L"ab\x00A5\x203E#$", |
| 210 NULL}, | 217 NULL}, |
| 211 // Japanese (Shift-JIS) | 218 // Japanese (Shift-JIS) |
| (...skipping 12 matching lines...) Expand all Loading... |
| 224 L"\x0443\x0439\x0442\x0435", | 231 L"\x0443\x0439\x0442\x0435", |
| 225 NULL}, | 232 NULL}, |
| 226 // Thai (windows-874) | 233 // Thai (windows-874) |
| 227 {"windows-874", | 234 {"windows-874", |
| 228 "\xCA\xC7\xD1\xCA\xB4\xD5" "\xA4\xC3\xD1\xBA", | 235 "\xCA\xC7\xD1\xCA\xB4\xD5" "\xA4\xC3\xD1\xBA", |
| 229 OnStringConversionError::FAIL, | 236 OnStringConversionError::FAIL, |
| 230 true, | 237 true, |
| 231 L"\x0E2A\x0E27\x0E31\x0E2A\x0E14\x0E35" | 238 L"\x0E2A\x0E27\x0E31\x0E2A\x0E14\x0E35" |
| 232 L"\x0E04\x0E23\x0e31\x0E1A", | 239 L"\x0E04\x0E23\x0e31\x0E1A", |
| 233 NULL}, | 240 NULL}, |
| 241 // Empty text |
| 242 {"iscii-dev", |
| 243 "", |
| 244 OnStringConversionError::FAIL, |
| 245 true, |
| 246 L"", |
| 247 NULL}, |
| 234 }; | 248 }; |
| 235 | 249 |
| 236 TEST(ICUStringConversionsTest, ConvertBetweenCodepageAndWide) { | 250 TEST(ICUStringConversionsTest, ConvertBetweenCodepageAndWide) { |
| 237 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kConvertCodepageCases); ++i) { | 251 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kConvertCodepageCases); ++i) { |
| 238 SCOPED_TRACE(base::StringPrintf( | 252 SCOPED_TRACE(base::StringPrintf( |
| 239 "Test[%" PRIuS "]: <encoded: %s> <codepage: %s>", i, | 253 "Test[%" PRIuS "]: <encoded: %s> <codepage: %s>", i, |
| 240 kConvertCodepageCases[i].encoded, | 254 kConvertCodepageCases[i].encoded, |
| 241 kConvertCodepageCases[i].codepage_name)); | 255 kConvertCodepageCases[i].codepage_name)); |
| 242 | 256 |
| 243 std::wstring wide; | 257 std::wstring wide; |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 | 377 |
| 364 bool success = ConvertToUtf8AndNormalize( | 378 bool success = ConvertToUtf8AndNormalize( |
| 365 kConvertAndNormalizeCases[i].encoded, | 379 kConvertAndNormalizeCases[i].encoded, |
| 366 kConvertAndNormalizeCases[i].codepage_name, &result); | 380 kConvertAndNormalizeCases[i].codepage_name, &result); |
| 367 EXPECT_EQ(kConvertAndNormalizeCases[i].expected_success, success); | 381 EXPECT_EQ(kConvertAndNormalizeCases[i].expected_success, success); |
| 368 EXPECT_EQ(kConvertAndNormalizeCases[i].expected_value, result); | 382 EXPECT_EQ(kConvertAndNormalizeCases[i].expected_value, result); |
| 369 } | 383 } |
| 370 } | 384 } |
| 371 | 385 |
| 372 } // namespace base | 386 } // namespace base |
| OLD | NEW |