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

Unified Diff: chrome/browser/android/preferences/pref_service_bridge_unittest.cc

Issue 2406203002: Use BCP47 compliant format for locale representation (Closed)
Patch Set: Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/preferences/pref_service_bridge_unittest.cc
diff --git a/chrome/browser/android/preferences/pref_service_bridge_unittest.cc b/chrome/browser/android/preferences/pref_service_bridge_unittest.cc
index c73a998ec74228e8bcdd17d25efdd895bc30139a..03f16cbab553951e5090904249c5a1a03b75cf5c 100644
--- a/chrome/browser/android/preferences/pref_service_bridge_unittest.cc
+++ b/chrome/browser/android/preferences/pref_service_bridge_unittest.cc
@@ -21,14 +21,32 @@ class PrefServiceBridgeTest : public testing::Test {
};
TEST_F(PrefServiceBridgeTest, PrependToAcceptLanguagesAsNecessary) {
- EXPECT_EQ("ms-MY,ms,en-US,en", GetAcceptLanguages("ms_MY", "en-US,en"));
+ EXPECT_EQ("ms-MY,ms,en-US,en", GetAcceptLanguages("ms-MY", "en-US,en"));
+ EXPECT_EQ("de-CH,de,zh-TW,zh,en-US,en",
+ GetAcceptLanguages("de-CH,zh-TW", "en-US,en"));
+ EXPECT_EQ("de-CH,de,zh-TW,zh,fr-FR,fr,en-US,en",
+ GetAcceptLanguages("de-CH,zh-TW,fr-FR", "en-US,en"));
+ // Make sure a country code in number format is inserted.
+ EXPECT_EQ("es-419,es-005,es,en-US,en",
+ GetAcceptLanguages("es-419,es-005", "en-US,en"));
+
+ // Make sure we do not prepend language code even when a language code already
+ // exists.
+ EXPECT_EQ("zh-TW,zh-CN,zh", GetAcceptLanguages("zh-TW", "zh-CN,zh"));
EXPECT_EQ("de-CH,de-DE,de,en-US,en",
- GetAcceptLanguages("de_CH", "de-DE,de,en-US,en"));
+ GetAcceptLanguages("de-CH", "de-DE,de,en-US,en"));
+ EXPECT_EQ("en-GB,de-DE,de,en-US,en",
+ GetAcceptLanguages("en-GB,de-DE", "en-US,en"));
+
+ // Make sure a language code is only inserted after the last languageTag that
+ // contains that language.
+ EXPECT_EQ("fr-CA,fr-FR,fr,en-US,en",
+ GetAcceptLanguages("fr-CA,fr-FR", "en-US,en"));
- // Make sure we do not prepend language code even when a language code is at
- // the end.
- EXPECT_EQ("zh-TW,zh-CN,zh", GetAcceptLanguages("zh_TW", "zh-CN,zh"));
+ // If a country code is missing, then only the language code is inserted.
+ EXPECT_EQ("ms,en-US,en", GetAcceptLanguages("ms", "en-US,en"));
+ EXPECT_EQ("mas,en-US,en", GetAcceptLanguages("mas", "en-US,en"));
}
TEST_F(PrefServiceBridgeTest,
@@ -37,13 +55,14 @@ TEST_F(PrefServiceBridgeTest,
// an old code that needs to be replaced by "he" which is the new code for
// Hebrew.
EXPECT_EQ("he-IL,he,en-US,en",
- GetAcceptLanguages("iw_IL", "he-IL,he,en-US,en"));
+ GetAcceptLanguages("iw-IL", "he-IL,he,en-US,en"));
+ EXPECT_EQ("he-IL,he,fr-FR,fr,en-US,en",
+ GetAcceptLanguages("iw-IL,fr-FR", "en-US,en"));
// This logic should not affect cases where original accept language already
// reflects the language code in the locale.
- EXPECT_EQ("en-US,en", GetAcceptLanguages("en_US", "en-US,en"));
- EXPECT_EQ("zh-CN,zh", GetAcceptLanguages("zh_CN", "zh-CN,zh"));
-
- // "ms" is not expected. No replacement takes place.
- EXPECT_EQ("en-US,en", GetAcceptLanguages("ms", "en-US,en"));
+ EXPECT_EQ("mas,en-US,en", GetAcceptLanguages("mas", "en-US,en"));
+ EXPECT_EQ("en-US,en", GetAcceptLanguages("en-US", "en-US,en"));
+ EXPECT_EQ("zh-CN,zh", GetAcceptLanguages("zh-CN", "zh-CN,zh"));
+ EXPECT_EQ("ms-MY,ms,en-US,en", GetAcceptLanguages("ms-MY,en-US", "en-US,en"));
}

Powered by Google App Engine
This is Rietveld 408576698