Chromium Code Reviews| 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 "base/test/scoped_locale.h" | 5 #include "base/test/scoped_locale.h" |
| 6 | 6 |
| 7 #include <locale.h> | 7 #include <locale.h> |
| 8 | 8 |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| 11 namespace base { | 11 namespace base { |
| 12 | 12 |
| 13 ScopedLocale::ScopedLocale(const std::string& locale) { | 13 ScopedLocale::ScopedLocale(const std::string& locale) { |
| 14 prev_locale_ = setlocale(LC_ALL, NULL); | 14 prev_locale_ = setlocale(LC_ALL, NULL); |
| 15 #if defined(SYSTEM_NATIVE_UTF8) | |
| 16 EXPECT_TRUE(locale.find("utf-8") != std::string::npos); | |
|
Lei Zhang
2015/03/07 01:30:18
I don't think this is right. For instance, on Mac,
| |
| 17 #else | |
| 15 EXPECT_TRUE(setlocale(LC_ALL, locale.c_str()) != NULL) << | 18 EXPECT_TRUE(setlocale(LC_ALL, locale.c_str()) != NULL) << |
| 16 "Failed to set locale: " << locale; | 19 "Failed to set locale: " << locale; |
| 20 #endif | |
| 17 } | 21 } |
| 18 | 22 |
| 19 ScopedLocale::~ScopedLocale() { | 23 ScopedLocale::~ScopedLocale() { |
| 20 EXPECT_STREQ(prev_locale_.c_str(), setlocale(LC_ALL, prev_locale_.c_str())); | 24 EXPECT_STREQ(prev_locale_.c_str(), setlocale(LC_ALL, prev_locale_.c_str())); |
| 21 } | 25 } |
| 22 | 26 |
| 23 } // namespace base | 27 } // namespace base |
| OLD | NEW |