OLD | NEW |
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 Loading... |
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 } |
OLD | NEW |