Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(209)

Side by Side Diff: app/l10n_util_unittest.cc

Issue 126223: Replace std:;wstring with std::string in locale-name related APIs.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « app/l10n_util_posix.cc ('k') | app/l10n_util_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #include "app/app_paths.h" 7 #include "app/app_paths.h"
8 #include "app/l10n_util.h" 8 #include "app/l10n_util.h"
9 #if !defined(OS_MACOSX) 9 #if !defined(OS_MACOSX)
10 #include "app/test/data/resource.h" 10 #include "app/test/data/resource.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 EXPECT_EQ(L"f\x2026", l10n_util::TruncateString(string, 2)); 77 EXPECT_EQ(L"f\x2026", l10n_util::TruncateString(string, 2));
78 78
79 // Test adds ... at right spot when there is not enough room to break at a 79 // Test adds ... at right spot when there is not enough room to break at a
80 // word boundary. 80 // word boundary.
81 EXPECT_EQ(L"foooooey\x2026", l10n_util::TruncateString(string, 11)); 81 EXPECT_EQ(L"foooooey\x2026", l10n_util::TruncateString(string, 11));
82 82
83 // Test completely truncates string if break is on initial whitespace. 83 // Test completely truncates string if break is on initial whitespace.
84 EXPECT_EQ(L"\x2026", l10n_util::TruncateString(L" ", 2)); 84 EXPECT_EQ(L"\x2026", l10n_util::TruncateString(L" ", 2));
85 } 85 }
86 86
87 void SetICUDefaultLocale(const std::wstring& locale_string) { 87 void SetICUDefaultLocale(const std::string& locale_string) {
88 Locale locale(WideToASCII(locale_string).c_str()); 88 Locale locale(locale_string.c_str());
89 UErrorCode error_code = U_ZERO_ERROR; 89 UErrorCode error_code = U_ZERO_ERROR;
90 Locale::setDefault(locale, error_code); 90 Locale::setDefault(locale, error_code);
91 EXPECT_TRUE(U_SUCCESS(error_code)); 91 EXPECT_TRUE(U_SUCCESS(error_code));
92 } 92 }
93 93
94 #if defined(OS_WIN) || defined(OS_LINUX) 94 #if defined(OS_WIN) || defined(OS_LINUX)
95 // We are disabling this test on MacOS because GetApplicationLocale() as an 95 // We are disabling this test on MacOS because GetApplicationLocale() as an
96 // API isn't something that we'll easily be able to unit test in this manner. 96 // API isn't something that we'll easily be able to unit test in this manner.
97 // The meaning of that API, on the Mac, is "the locale used by Cocoa's main 97 // The meaning of that API, on the Mac, is "the locale used by Cocoa's main
98 // nib file", which clearly can't be stubbed by a test app that doesn't use 98 // nib file", which clearly can't be stubbed by a test app that doesn't use
(...skipping 30 matching lines...) Expand all
129 #endif 129 #endif
130 for (size_t i = 0; i < arraysize(filenames); ++i) { 130 for (size_t i = 0; i < arraysize(filenames); ++i) {
131 FilePath filename = new_locale_dir.AppendASCII( 131 FilePath filename = new_locale_dir.AppendASCII(
132 filenames[i] + kLocaleFileExtension); 132 filenames[i] + kLocaleFileExtension);
133 file_util::WriteFile(filename, "", 0); 133 file_util::WriteFile(filename, "", 0);
134 } 134 }
135 135
136 // Keep a copy of ICU's default locale before we overwrite it. 136 // Keep a copy of ICU's default locale before we overwrite it.
137 Locale locale = Locale::getDefault(); 137 Locale locale = Locale::getDefault();
138 138
139 SetICUDefaultLocale(L"en-US"); 139 SetICUDefaultLocale("en-US");
140 EXPECT_EQ(L"en-US", l10n_util::GetApplicationLocale(L"")); 140 EXPECT_EQ("en-US", l10n_util::GetApplicationLocale(L""));
141 141
142 SetICUDefaultLocale(L"en-GB"); 142 SetICUDefaultLocale("en-GB");
143 EXPECT_EQ(L"en-GB", l10n_util::GetApplicationLocale(L"")); 143 EXPECT_EQ("en-GB", l10n_util::GetApplicationLocale(L""));
144 144
145 SetICUDefaultLocale(L"fr-CA"); 145 SetICUDefaultLocale("fr-CA");
146 EXPECT_EQ(L"fr", l10n_util::GetApplicationLocale(L"")); 146 EXPECT_EQ("fr", l10n_util::GetApplicationLocale(L""));
147 147
148 SetICUDefaultLocale(L"xx"); 148 SetICUDefaultLocale("xx");
149 EXPECT_EQ(L"en-US", l10n_util::GetApplicationLocale(L"")); 149 EXPECT_EQ("en-US", l10n_util::GetApplicationLocale(L""));
150 150
151 SetICUDefaultLocale(L"en-US"); 151 SetICUDefaultLocale("en-US");
152 EXPECT_EQ(L"fr", l10n_util::GetApplicationLocale(L"fr")); 152 EXPECT_EQ("fr", l10n_util::GetApplicationLocale(L"fr"));
153 EXPECT_EQ(L"fr", l10n_util::GetApplicationLocale(L"fr-CA")); 153 EXPECT_EQ("fr", l10n_util::GetApplicationLocale(L"fr-CA"));
154 154
155 SetICUDefaultLocale(L"en-US"); 155 SetICUDefaultLocale("en-US");
156 // Aliases iw, no, tl to he, nb, fil. 156 // Aliases iw, no, tl to he, nb, fil.
157 EXPECT_EQ(L"he", l10n_util::GetApplicationLocale(L"iw")); 157 EXPECT_EQ("he", l10n_util::GetApplicationLocale(L"iw"));
158 EXPECT_EQ(L"nb", l10n_util::GetApplicationLocale(L"no")); 158 EXPECT_EQ("nb", l10n_util::GetApplicationLocale(L"no"));
159 EXPECT_EQ(L"fil", l10n_util::GetApplicationLocale(L"tl")); 159 EXPECT_EQ("fil", l10n_util::GetApplicationLocale(L"tl"));
160 // es-419 and es-XX (where XX is not Spain) should be 160 // es-419 and es-XX (where XX is not Spain) should be
161 // mapped to es-419 (Latin American Spanish). 161 // mapped to es-419 (Latin American Spanish).
162 EXPECT_EQ(L"es-419", l10n_util::GetApplicationLocale(L"es-419")); 162 EXPECT_EQ("es-419", l10n_util::GetApplicationLocale(L"es-419"));
163 EXPECT_EQ(L"es", l10n_util::GetApplicationLocale(L"es-ES")); 163 EXPECT_EQ("es", l10n_util::GetApplicationLocale(L"es-ES"));
164 EXPECT_EQ(L"es-419", l10n_util::GetApplicationLocale(L"es-AR")); 164 EXPECT_EQ("es-419", l10n_util::GetApplicationLocale(L"es-AR"));
165 165
166 SetICUDefaultLocale(L"es-MX"); 166 SetICUDefaultLocale("es-MX");
167 EXPECT_EQ(L"es-419", l10n_util::GetApplicationLocale(L"")); 167 EXPECT_EQ("es-419", l10n_util::GetApplicationLocale(L""));
168 168
169 SetICUDefaultLocale(L"es-AR"); 169 SetICUDefaultLocale("es-AR");
170 EXPECT_EQ(L"es-419", l10n_util::GetApplicationLocale(L"")); 170 EXPECT_EQ("es-419", l10n_util::GetApplicationLocale(L""));
171 EXPECT_EQ(L"es", l10n_util::GetApplicationLocale(L"es")); 171 EXPECT_EQ("es", l10n_util::GetApplicationLocale(L"es"));
172 172
173 SetICUDefaultLocale(L"es-ES"); 173 SetICUDefaultLocale("es-ES");
174 EXPECT_EQ(L"es", l10n_util::GetApplicationLocale(L"")); 174 EXPECT_EQ("es", l10n_util::GetApplicationLocale(L""));
175 175
176 SetICUDefaultLocale(L"es"); 176 SetICUDefaultLocale("es");
177 EXPECT_EQ(L"es", l10n_util::GetApplicationLocale(L"")); 177 EXPECT_EQ("es", l10n_util::GetApplicationLocale(L""));
178 178
179 SetICUDefaultLocale(L"zh-HK"); 179 SetICUDefaultLocale("zh-HK");
180 EXPECT_EQ(L"zh-TW", l10n_util::GetApplicationLocale(L"")); 180 EXPECT_EQ("zh-TW", l10n_util::GetApplicationLocale(L""));
181 EXPECT_EQ(L"zh-CN", l10n_util::GetApplicationLocale(L"zh-CN")); 181 EXPECT_EQ("zh-CN", l10n_util::GetApplicationLocale(L"zh-CN"));
182 182
183 SetICUDefaultLocale(L"zh-MK"); 183 SetICUDefaultLocale("zh-MK");
184 EXPECT_EQ(L"zh-TW", l10n_util::GetApplicationLocale(L"")); 184 EXPECT_EQ("zh-TW", l10n_util::GetApplicationLocale(L""));
185 185
186 SetICUDefaultLocale(L"zh-SG"); 186 SetICUDefaultLocale("zh-SG");
187 EXPECT_EQ(L"zh-CN", l10n_util::GetApplicationLocale(L"")); 187 EXPECT_EQ("zh-CN", l10n_util::GetApplicationLocale(L""));
188 188
189 SetICUDefaultLocale(L"he"); 189 SetICUDefaultLocale("he");
190 EXPECT_EQ(L"en-US", l10n_util::GetApplicationLocale(L"en")); 190 EXPECT_EQ("en-US", l10n_util::GetApplicationLocale(L"en"));
191 191
192 #if defined(OS_WIN) 192 #if defined(OS_WIN)
193 // Oriya should be blocked unless OS is Vista or newer. 193 // Oriya should be blocked unless OS is Vista or newer.
194 if (win_util::GetWinVersion() < win_util::WINVERSION_VISTA) { 194 if (win_util::GetWinVersion() < win_util::WINVERSION_VISTA) {
195 SetICUDefaultLocale(L"or"); 195 SetICUDefaultLocale("or");
196 EXPECT_EQ(L"en-US", l10n_util::GetApplicationLocale(L"")); 196 EXPECT_EQ("en-US", l10n_util::GetApplicationLocale(L""));
197 SetICUDefaultLocale(L"en-GB"); 197 SetICUDefaultLocale("en-GB");
198 EXPECT_EQ(L"en-GB", l10n_util::GetApplicationLocale(L"or")); 198 EXPECT_EQ("en-GB", l10n_util::GetApplicationLocale(L"or"));
199 } else { 199 } else {
200 SetICUDefaultLocale(L"or"); 200 SetICUDefaultLocale("or");
201 EXPECT_EQ(L"or", l10n_util::GetApplicationLocale(L"")); 201 EXPECT_EQ("or", l10n_util::GetApplicationLocale(L""));
202 SetICUDefaultLocale(L"en-GB"); 202 SetICUDefaultLocale("en-GB");
203 EXPECT_EQ(L"or", l10n_util::GetApplicationLocale(L"or")); 203 EXPECT_EQ("or", l10n_util::GetApplicationLocale(L"or"));
204 } 204 }
205 #endif 205 #endif
206 206
207 // Clean up. 207 // Clean up.
208 PathService::Override(app::DIR_LOCALES, orig_locale_dir.ToWStringHack()); 208 PathService::Override(app::DIR_LOCALES, orig_locale_dir.ToWStringHack());
209 file_util::Delete(new_locale_dir, true); 209 file_util::Delete(new_locale_dir, true);
210 UErrorCode error_code = U_ZERO_ERROR; 210 UErrorCode error_code = U_ZERO_ERROR;
211 Locale::setDefault(locale, error_code); 211 Locale::setDefault(locale, error_code);
212 } 212 }
213 #endif 213 #endif
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("en")); 427 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("en"));
428 // Chinese in China with '-'. 428 // Chinese in China with '-'.
429 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("zh-CN")); 429 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("zh-CN"));
430 // Filipino : 3-letter code 430 // Filipino : 3-letter code
431 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("fil")); 431 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("fil"));
432 // Russian 432 // Russian
433 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("ru")); 433 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("ru"));
434 // Japanese that uses multiple scripts 434 // Japanese that uses multiple scripts
435 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("ja")); 435 EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("ja"));
436 } 436 }
OLDNEW
« no previous file with comments | « app/l10n_util_posix.cc ('k') | app/l10n_util_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698