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

Unified Diff: components/translate/core/browser/translate_prefs_unittest.cc

Issue 2722413002: TranslatePrefTest: Added test case for UpdateLanguageList. (Closed)
Patch Set: Revert previous change: compile error because run-time check is always true. Created 3 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698