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

Side by Side Diff: app/l10n_util_unittest.cc

Issue 5643002: Add utility function to determine if a locale is valid syntax; this will... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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.cc ('k') | chrome/common/extensions/extension_l10n_util.h » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #if defined(OS_POSIX) && !defined(OS_MACOSX) 7 #if defined(OS_POSIX) && !defined(OS_MACOSX)
8 #include <cstdlib> 8 #include <cstdlib>
9 #endif 9 #endif
10 10
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 318
319 result = l10n_util::GetDisplayNameForLocale("zh-TW", "en", false); 319 result = l10n_util::GetDisplayNameForLocale("zh-TW", "en", false);
320 EXPECT_EQ(result, ASCIIToUTF16("Chinese (Traditional Han)")); 320 EXPECT_EQ(result, ASCIIToUTF16("Chinese (Traditional Han)"));
321 321
322 result = l10n_util::GetDisplayNameForLocale("pt-BR", "en", false); 322 result = l10n_util::GetDisplayNameForLocale("pt-BR", "en", false);
323 EXPECT_EQ(result, ASCIIToUTF16("Portuguese (Brazil)")); 323 EXPECT_EQ(result, ASCIIToUTF16("Portuguese (Brazil)"));
324 324
325 result = l10n_util::GetDisplayNameForLocale("es-419", "en", false); 325 result = l10n_util::GetDisplayNameForLocale("es-419", "en", false);
326 EXPECT_EQ(result, ASCIIToUTF16("Spanish (Latin America and the Caribbean)")); 326 EXPECT_EQ(result, ASCIIToUTF16("Spanish (Latin America and the Caribbean)"));
327 } 327 }
328
329 TEST_F(L10nUtilTest, GetParentLocales) {
330 std::vector<std::string> locales;
331 const std::string top_locale("sr_Cyrl_RS");
332 l10n_util::GetParentLocales(top_locale, &locales);
333
334 ASSERT_EQ(3U, locales.size());
335 EXPECT_EQ("sr_Cyrl_RS", locales[0]);
336 EXPECT_EQ("sr_Cyrl", locales[1]);
337 EXPECT_EQ("sr", locales[2]);
338 }
339
340 TEST_F(L10nUtilTest, IsValidLocaleSyntax) {
341 // Test valid locales.
342 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("en"));
343 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("fr"));
344 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("de"));
345 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("pt"));
346 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("zh"));
347 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("fil"));
348 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("haw"));
349 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("en-US"));
350 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("en_US"));
351 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("en_GB"));
352 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("pt-BR"));
353 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("zh_CN"));
354 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("zh_Hans"));
355 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("zh_Hans_CN"));
356 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("zh_Hant"));
357 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("zh_Hant_TW"));
358 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("fr_CA"));
359 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("i-klingon"));
360 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("es-419"));
361 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("en_IE_PREEURO"));
362 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("en_IE_u_cu_IEP"));
363 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("en_IE@currency=IEP"));
364 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("fr@x=y"));
365 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax("zn_CN@foo=bar"));
366 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax(
367 "fr@collation=phonebook;calendar=islamic-civil"));
368 EXPECT_EQ(true, l10n_util::IsValidLocaleSyntax(
369 "sr_Latn_RS_REVISED@currency=USD"));
370
371 // Test invalid locales.
372 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax(""));
373 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("x"));
374 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("12"));
375 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("456"));
376 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("a1"));
377 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("enUS"));
378 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("zhcn"));
379 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("en.US"));
380 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("en#US"));
381 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("-en-US"));
382 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("en-US-"));
383 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("123-en-US"));
384 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("Latin"));
385 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("German"));
386 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("pt--BR"));
387 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("sl-macedonia"));
388 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("@"));
389 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("en-US@"));
390 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("en-US@x"));
391 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("en-US@x="));
392 EXPECT_EQ(false, l10n_util::IsValidLocaleSyntax("en-US@=y"));
393 }
OLDNEW
« no previous file with comments | « app/l10n_util.cc ('k') | chrome/common/extensions/extension_l10n_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698