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 |