| 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..bf3a6869a838c2017562be3e11b2d089324bd491 100644
|
| --- a/components/translate/core/browser/translate_prefs_unittest.cc
|
| +++ b/components/translate/core/browser/translate_prefs_unittest.cc
|
| @@ -16,13 +16,19 @@
|
| #include "components/prefs/scoped_user_pref_update.h"
|
| #include "components/sync_preferences/testing_pref_service_syncable.h"
|
| #include "components/translate/core/browser/translate_download_manager.h"
|
| -#include "components/translate/core/browser/translate_prefs.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace {
|
|
|
| const char kTestLanguage[] = "en";
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +const char kPreferredLanguagesPref[] = "settings.language.preferred_languages";
|
| +#else
|
| +const char* kPreferredLanguagesPref = nullptr;
|
| +#endif
|
| +const char kAcceptLanguagesPref[] = "intl.accept_languages";
|
| +
|
| } // namespace
|
|
|
| namespace translate {
|
| @@ -31,19 +37,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,
|
| + std::string());
|
| +#endif
|
| + }
|
| +
|
| void SetLastDeniedTime(const std::string& language, base::Time time) {
|
| DenialTimeUpdate update(prefs_.get(), language, 2);
|
| update.AddDenialTime(time);
|
| @@ -212,6 +220,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.
|
|
|