| 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
|
|
|