OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/icu_test_util.h" | 5 #include "base/test/icu_test_util.h" |
6 | 6 |
| 7 #include "base/base_switches.h" |
| 8 #include "base/command_line.h" |
| 9 #include "base/i18n/icu_util.h" |
7 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
8 #include "third_party/icu/source/common/unicode/uloc.h" | 11 #include "third_party/icu/source/common/unicode/uloc.h" |
9 | 12 |
10 namespace base { | 13 namespace base { |
11 namespace test { | 14 namespace test { |
12 | 15 |
13 ScopedRestoreICUDefaultLocale::ScopedRestoreICUDefaultLocale() | 16 ScopedRestoreICUDefaultLocale::ScopedRestoreICUDefaultLocale() |
14 : default_locale_(uloc_getDefault()) {} | 17 : default_locale_(uloc_getDefault()) {} |
15 | 18 |
16 ScopedRestoreICUDefaultLocale::~ScopedRestoreICUDefaultLocale() { | 19 ScopedRestoreICUDefaultLocale::~ScopedRestoreICUDefaultLocale() { |
17 i18n::SetICUDefaultLocale(default_locale_.data()); | 20 i18n::SetICUDefaultLocale(default_locale_.data()); |
18 } | 21 } |
19 | 22 |
| 23 void InitializeICUForTesting() { |
| 24 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 25 switches::kTestDoNotInitializeIcu)) { |
| 26 base::i18n::AllowMultipleInitializeCallsForTesting(); |
| 27 i18n::InitializeICU(); |
| 28 } |
| 29 } |
| 30 |
20 } // namespace test | 31 } // namespace test |
21 } // namespace base | 32 } // namespace base |
OLD | NEW |