Chromium Code Reviews| Index: components/translate/core/browser/translate_prefs_unittest.cc |
| diff --git a/components/translate/core/browser/translate_prefs_unittest.cc b/components/translate/core/browser/translate_prefs_unittest.cc |
| index 8ef04f99ec93bcaf71cd16bd51d41e643e4f6ef5..13364591c2e714acad7c9fba30e35d56a40700bb 100644 |
| --- a/components/translate/core/browser/translate_prefs_unittest.cc |
| +++ b/components/translate/core/browser/translate_prefs_unittest.cc |
| @@ -23,6 +23,13 @@ namespace { |
| const char kTestLanguage[] = "en"; |
| +#if defined(OS_CHROMEOS) |
|
groby-ooo-7-16
2017/03/08 00:49:15
If you're refactoring this anyways - could you fac
Matt Giuca
2017/03/15 02:45:18
Hmm, I had a bit of a think about it but it's not
|
| +const char kPreferredLanguagesPref[] = "settings.language.preferred_languages"; |
| +#else |
| +const char* kPreferredLanguagesPref = nullptr; |
| +#endif |
| +const char kAcceptLanguagesPref[] = "intl.accept_languages"; |
| + |
| } // namespace |
| namespace translate { |
| @@ -31,19 +38,21 @@ class TranslatePrefTest : public testing::Test { |
| protected: |
| TranslatePrefTest() |
| : prefs_(new sync_preferences::TestingPrefServiceSyncable()) { |
| -#if defined(OS_CHROMEOS) |
| - const char* preferred_languages_prefs = |
| - "settings.language.preferred_languages"; |
| -#else |
| - const char* preferred_languages_prefs = NULL; |
| -#endif |
| translate_prefs_.reset(new translate::TranslatePrefs( |
| - prefs_.get(), "intl.accept_languages", preferred_languages_prefs)); |
| + prefs_.get(), kAcceptLanguagesPref, kPreferredLanguagesPref)); |
| TranslatePrefs::RegisterProfilePrefs(prefs_->registry()); |
| now_ = base::Time::Now(); |
| two_days_ago_ = now_ - base::TimeDelta::FromDays(2); |
| } |
| + void SetUp() override { |
| + prefs_->registry()->RegisterStringPref(kAcceptLanguagesPref, std::string()); |
| +#if defined(OS_CHROMEOS) |
| + prefs_->registry()->RegisterStringPref(kPreferredLanguagesPref, |
|
groby-ooo-7-16
2017/03/08 00:49:15
I'd really like to break the defined(OS_CHROMEOS)
Matt Giuca
2017/03/15 02:45:18
Done.
Matt Giuca
2017/03/15 07:45:14
Undone... unfortunately I get this compile error o
|
| + std::string()); |
| +#endif |
| + } |
| + |
| void SetLastDeniedTime(const std::string& language, base::Time time) { |
| DenialTimeUpdate update(prefs_.get(), language, 2); |
| update.AddDenialTime(time); |
| @@ -212,6 +221,23 @@ TEST_F(TranslatePrefTest, DenialTimeUpdate_SlidingWindow) { |
| now_ - base::TimeDelta::FromMinutes(2)); |
| } |
| +TEST_F(TranslatePrefTest, UpdateLanguageList) { |
| + // Test with basic set of languages (no country codes). |
| + std::vector<std::string> languages{"en", "ja"}; |
| + translate_prefs_->UpdateLanguageList(languages); |
| + EXPECT_EQ("en,ja", prefs_->GetString(kAcceptLanguagesPref)); |
| + |
| + // Test with languages that have country codes. Expect accepted languages both |
| + // with and without a country code. (See documentation for |
| + // ExpandLanguageCodes.) |
| + languages = {"en-US", "ja", "en-CA"}; |
| + translate_prefs_->UpdateLanguageList(languages); |
| +#if defined(OS_CHROMEOS) |
| + EXPECT_EQ("en-US,ja,en-CA", prefs_->GetString(kPreferredLanguagesPref)); |
| +#endif |
| + EXPECT_EQ("en-US,en,ja,en-CA", prefs_->GetString(kAcceptLanguagesPref)); |
| +} |
| + |
| TEST_F(TranslatePrefTest, ULPPrefs) { |
| // Mock the pref. |
| // Case 1: well formed ULP. |