diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-08 14:17:08 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-08 14:17:08 +0000 |
commit | 6a8f4faae1ec16bec481749673766dd83b14e8e8 (patch) | |
tree | 4982ee744a30405c6737dada3e670fcac8d1fb83 /base/sys_string_conversions_unittest.cc | |
parent | de45b80127832f4256857511d7c2de1d93c99d59 (diff) | |
download | chromium_src-6a8f4faae1ec16bec481749673766dd83b14e8e8.zip chromium_src-6a8f4faae1ec16bec481749673766dd83b14e8e8.tar.gz chromium_src-6a8f4faae1ec16bec481749673766dd83b14e8e8.tar.bz2 |
Added a test verifying that TimeFormat:: functions convert
numbers to "NaN" on certain locales. This is a bug on icu.
Rolled third_party/icu version to @88321.
BUG=60476
TEST=browser_tests:TimeFormat.DecimalPointNotDot
Review URL: http://codereview.chromium.org/7003028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88329 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/sys_string_conversions_unittest.cc')
-rw-r--r-- | base/sys_string_conversions_unittest.cc | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/base/sys_string_conversions_unittest.cc b/base/sys_string_conversions_unittest.cc index 708da09..fa711f3 100644 --- a/base/sys_string_conversions_unittest.cc +++ b/base/sys_string_conversions_unittest.cc @@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include <locale.h> #include <string> #include "base/basictypes.h" #include "base/string_piece.h" +#include "base/test/test_util.h" #include "base/utf_string_conversions.h" #include "base/sys_string_conversions.h" #include "testing/gtest/include/gtest/gtest.h" @@ -74,27 +74,10 @@ TEST(SysStrings, SysUTF8ToWide) { } #if defined(OS_LINUX) // Tests depend on setting a specific Linux locale. -namespace { - -class ScopedSetLocale { - public: - explicit ScopedSetLocale(const char* locale) { - old_locale_ = setlocale(LC_ALL, NULL); - setlocale(LC_ALL, locale); - } - ~ScopedSetLocale() { - setlocale(LC_ALL, old_locale_.c_str()); - } - - private: - std::string old_locale_; -}; - -} // namespace TEST(SysStrings, SysWideToNativeMB) { using base::SysWideToNativeMB; - ScopedSetLocale locale("en_US.utf-8"); + base::ScopedSetLocale locale("en_US.utf-8"); EXPECT_EQ("Hello, world", SysWideToNativeMB(L"Hello, world")); EXPECT_EQ("\xe4\xbd\xa0\xe5\xa5\xbd", SysWideToNativeMB(L"\x4f60\x597d")); @@ -125,7 +108,7 @@ TEST(SysStrings, SysWideToNativeMB) { // We assume the test is running in a UTF8 locale. TEST(SysStrings, SysNativeMBToWide) { using base::SysNativeMBToWide; - ScopedSetLocale locale("en_US.utf-8"); + base::ScopedSetLocale locale("en_US.utf-8"); EXPECT_EQ(L"Hello, world", SysNativeMBToWide("Hello, world")); EXPECT_EQ(L"\x4f60\x597d", SysNativeMBToWide("\xe4\xbd\xa0\xe5\xa5\xbd")); // >16 bits @@ -179,7 +162,7 @@ static const wchar_t* const kConvertRoundtripCases[] = { TEST(SysStrings, SysNativeMBAndWide) { - ScopedSetLocale locale("en_US.utf-8"); + base::ScopedSetLocale locale("en_US.utf-8"); for (size_t i = 0; i < arraysize(kConvertRoundtripCases); ++i) { std::wstring wide = kConvertRoundtripCases[i]; std::wstring trip = base::SysNativeMBToWide(base::SysWideToNativeMB(wide)); |