| Index: base/sys_string_conversions_unittest.cc
|
| ===================================================================
|
| --- base/sys_string_conversions_unittest.cc (revision 3696)
|
| +++ base/sys_string_conversions_unittest.cc (working copy)
|
| @@ -6,16 +6,20 @@
|
| #include "base/sys_string_conversions.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| -// Apparently Windows doesn't have constants for these.
|
| -static const int kCpLatin1 = 850;
|
| -static const int kCpBig5 = 950;
|
| +#ifdef WCHAR_T_IS_UTF32
|
| +static const std::wstring kSysWideOldItalicLetterA = L"\x10300";
|
| +#else
|
| +static const std::wstring kSysWideOldItalicLetterA = L"\xd800\xdf00";
|
| +#endif
|
|
|
| -TEST(SysStringsWin, SysWideToUTF8) {
|
| +TEST(SysStrings, SysWideToUTF8) {
|
| using base::SysWideToUTF8;
|
| EXPECT_EQ("Hello, world", SysWideToUTF8(L"Hello, world"));
|
| EXPECT_EQ("\xe4\xbd\xa0\xe5\xa5\xbd", SysWideToUTF8(L"\x4f60\x597d"));
|
| - EXPECT_EQ("\xF0\x90\x8C\x80", SysWideToUTF8(L"\xd800\xdf00")); // >16 bits
|
|
|
| + // >16 bits
|
| + EXPECT_EQ("\xF0\x90\x8C\x80", SysWideToUTF8(kSysWideOldItalicLetterA));
|
| +
|
| // Error case. When Windows finds a UTF-16 character going off the end of
|
| // a string, it just converts that literal value to UTF-8, even though this
|
| // is invalid.
|
| @@ -36,11 +40,12 @@
|
| EXPECT_EQ(expected_null, SysWideToUTF8(wide_null));
|
| }
|
|
|
| -TEST(SysStringsWin, SysUTF8ToWide) {
|
| +TEST(SysStrings, SysUTF8ToWide) {
|
| using base::SysUTF8ToWide;
|
| EXPECT_EQ(L"Hello, world", SysUTF8ToWide("Hello, world"));
|
| EXPECT_EQ(L"\x4f60\x597d", SysUTF8ToWide("\xe4\xbd\xa0\xe5\xa5\xbd"));
|
| - EXPECT_EQ(L"\xd800\xdf00", SysUTF8ToWide("\xF0\x90\x8C\x80")); // >16 bits
|
| + // >16 bits
|
| + EXPECT_EQ(kSysWideOldItalicLetterA, SysUTF8ToWide("\xF0\x90\x8C\x80"));
|
|
|
| // Error case. When Windows finds an invalid UTF-8 character, it just skips
|
| // it. This seems weird because it's inconsistent with the reverse conversion.
|
| @@ -60,4 +65,3 @@
|
|
|
| EXPECT_EQ(expected_null, SysUTF8ToWide(utf8_null));
|
| }
|
| -
|
|
|