Index: chrome/browser/chromeos/locale_change_guard_unittest.cc |
diff --git a/chrome/browser/chromeos/locale_change_guard_unittest.cc b/chrome/browser/chromeos/locale_change_guard_unittest.cc |
deleted file mode 100644 |
index 6f64e52c8c754bd2d1cc14b6596b5e29f62cfbd7..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/locale_change_guard_unittest.cc |
+++ /dev/null |
@@ -1,220 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/chromeos/locale_change_guard.h" |
- |
-#include <string.h> |
- |
-#include "base/macros.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "ui/base/l10n/l10n_util.h" |
- |
-namespace { |
- |
-// These languages require user notification when locale is automatically |
-// switched between different regions within the same language. |
-const char* const kShowNotificationLanguages[] = { |
- "af", // Afrikaans |
- "am", // Amharic |
- "ar", // Arabic |
- "az", // Azerbaijani |
- "be", // Belarusian |
- "bg", // Bulgarian |
- "bh", // Bihari |
- "bn", // Bengali |
- "br", // Breton |
- "bs", // Bosnian |
- "ca", // Catalan |
- "co", // Corsican |
- "cs", // Czech |
- "cy", // Welsh |
- "da", // Danish |
- "el", // Greek |
- "eo", // Esperanto |
- "es", // Spanish |
- "et", // Estonian |
- "eu", // Basque |
- "fa", // Persian |
- "fi", // Finnish |
- "fil", // Filipino |
- "fo", // Faroese |
- "fy", // Frisian |
- "ga", // Irish |
- "gd", // Scots Gaelic |
- "gl", // Galician |
- "gn", // Guarani |
- "gu", // Gujarati |
- "ha", // Hausa |
- "haw", // Hawaiian |
- "he", // Hebrew |
- "hi", // Hindi |
- "hr", // Croatian |
- "hu", // Hungarian |
- "hy", // Armenian |
- "ia", // Interlingua |
- "id", // Indonesian |
- "is", // Icelandic |
- "ja", // Japanese |
- "jw", // Javanese |
- "ka", // Georgian |
- "kk", // Kazakh |
- "km", // Cambodian |
- "kn", // Kannada |
- "ko", // Korean |
- "ku", // Kurdish |
- "ky", // Kyrgyz |
- "la", // Latin |
- "ln", // Lingala |
- "lo", // Laothian |
- "lt", // Lithuanian |
- "lv", // Latvian |
- "mk", // Macedonian |
- "ml", // Malayalam |
- "mn", // Mongolian |
- "mo", // Moldavian |
- "mr", // Marathi |
- "ms", // Malay |
- "mt", // Maltese |
- "nb", // Norwegian (Bokmal) |
- "ne", // Nepali |
- "nl", // Dutch |
- "nn", // Norwegian (Nynorsk) |
- "no", // Norwegian |
- "oc", // Occitan |
- "om", // Oromo |
- "or", // Oriya |
- "pa", // Punjabi |
- "pl", // Polish |
- "ps", // Pashto |
- "pt", // Portuguese |
- "qu", // Quechua |
- "rm", // Romansh |
- "ro", // Romanian |
- "ru", // Russian |
- "sd", // Sindhi |
- "sh", // Serbo-Croatian |
- "si", // Sinhalese |
- "sk", // Slovak |
- "sl", // Slovenian |
- "sn", // Shona |
- "so", // Somali |
- "sq", // Albanian |
- "sr", // Serbian |
- "st", // Sesotho |
- "su", // Sundanese |
- "sv", // Swedish |
- "sw", // Swahili |
- "ta", // Tamil |
- "te", // Telugu |
- "tg", // Tajik |
- "th", // Thai |
- "ti", // Tigrinya |
- "tk", // Turkmen |
- "to", // Tonga |
- "tr", // Turkish |
- "tt", // Tatar |
- "tw", // Twi |
- "ug", // Uighur |
- "uk", // Ukrainian |
- "ur", // Urdu |
- "uz", // Uzbek |
- "vi", // Vietnamese |
- "xh", // Xhosa |
- "yi", // Yiddish |
- "yo", // Yoruba |
- "zh", // Chinese |
- "zu", // Zulu |
-}; |
- |
-} // anonymous namespace |
- |
-namespace chromeos { |
- |
-TEST(LocaleChangeGuardTest, ShowNotificationLocaleChanged) { |
- // "en" is used as "global default" in many places. |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en", "it")); |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("it", "en")); |
- |
- // Between two latin locales. |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("fr", "it")); |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("it", "fr")); |
- |
- // en <-> non-latin locale |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en", "zh")); |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("zh", "en")); |
- |
- // latin <-> non-latin locale |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("fr", "zh")); |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("zh", "fr")); |
- |
- // same language |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en", "en")); |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("fr", "fr")); |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("zh", "zh")); |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en", "en-US")); |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en-GB", "en-US")); |
- |
- // Different regions within the same language |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en", "en-au")); |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en-AU", "en")); |
- EXPECT_FALSE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("en-AU", "en-GB")); |
- |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("zh", "zh-CN")); |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("zh-CN", "zh-TW")); |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("es", "es-419")); |
- EXPECT_TRUE( |
- LocaleChangeGuard::ShouldShowLocaleChangeNotification("es", "es-ES")); |
-} |
- |
-TEST(LocaleChangeGuardTest, ShowNotificationLocaleChangedList) { |
- for (size_t i = 0; i < l10n_util::GetAcceptLanguageListSizeForTesting(); |
- ++i) { |
- const char* const locale = l10n_util::GetAcceptLanguageListForTesting()[i]; |
- const char* const dash = strchr(locale, '-'); |
- const std::string language = |
- (dash ? std::string(locale, dash - locale) : std::string(locale)); |
- |
- const char* const* allowed_begin = kShowNotificationLanguages; |
- const char* const* allowed_end = |
- kShowNotificationLanguages + arraysize(kShowNotificationLanguages); |
- const bool notification_allowed = |
- (std::find(allowed_begin, allowed_end, language) != allowed_end); |
- |
- const char* const* skipped_begin = |
- LocaleChangeGuard::GetSkipShowNotificationLanguagesForTesting(); |
- const char* const* skipped_end = |
- skipped_begin + |
- LocaleChangeGuard::GetSkipShowNotificationLanguagesSizeForTesting(); |
- const bool notification_skipped = |
- (std::find(skipped_begin, skipped_end, language) != skipped_end); |
- |
- EXPECT_TRUE(notification_allowed ^ notification_skipped) |
- << "Language '" << language << "' (from locale '" << locale |
- << "') must be in exactly one list: either " |
- "kSkipShowNotificationLanguages (found=" << notification_skipped |
- << ") or kShowNotificationLanguages (found=" << notification_allowed |
- << ")."; |
- } |
-} |
- |
-} // namespace chromeos |