| 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 6f01b0175d03fbf07e75af5592bd8a49bb7daf1b..17f861728a19cf481fd9ac8edc00a5a1eac8761d 100644
|
| --- a/components/translate/core/browser/translate_prefs_unittest.cc
|
| +++ b/components/translate/core/browser/translate_prefs_unittest.cc
|
| @@ -6,7 +6,7 @@
|
|
|
| #include <algorithm>
|
| #include <string>
|
| -#include <vector>
|
| +#include <utility>
|
|
|
| #include "build/build_config.h"
|
| #include "components/pref_registry/testing_pref_service_syncable.h"
|
| @@ -156,6 +156,19 @@ class TranslatePrefTest : public testing::Test {
|
| return update.GetOldestDenialTime();
|
| }
|
|
|
| + void SetUp() override {
|
| + base::FeatureList::ClearInstanceForTesting();
|
| + base::FeatureList::SetInstance(base::WrapUnique(new base::FeatureList()));
|
| + }
|
| +
|
| + void TurnOnTranslate2016Q2UIFlag() {
|
| + base::FeatureList::ClearInstanceForTesting();
|
| + std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
|
| + feature_list->InitializeFromCommandLine(
|
| + translate::kTranslateUI2016Q2.name, "");
|
| + base::FeatureList::SetInstance(std::move(feature_list));
|
| + }
|
| +
|
| std::unique_ptr<user_prefs::TestingPrefServiceSyncable> prefs_;
|
| std::unique_ptr<translate::TranslatePrefs> translate_prefs_;
|
|
|
| @@ -164,6 +177,36 @@ class TranslatePrefTest : public testing::Test {
|
| base::Time two_days_ago_;
|
| };
|
|
|
| +TEST_F(TranslatePrefTest, IsTooOftenDeniedIn2016Q2UI) {
|
| + TurnOnTranslate2016Q2UIFlag();
|
| +
|
| + translate_prefs_->ResetDenialState();
|
| + ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
|
| +
|
| + for (int i = 0; i < 3; i++) {
|
| + translate_prefs_->IncrementTranslationDeniedCount(kTestLanguage);
|
| + ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
|
| + }
|
| +
|
| + translate_prefs_->IncrementTranslationDeniedCount(kTestLanguage);
|
| + ASSERT_TRUE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
|
| +}
|
| +
|
| +TEST_F(TranslatePrefTest, IsTooOftenIgnoredIn2016Q2UI) {
|
| + TurnOnTranslate2016Q2UIFlag();
|
| +
|
| + translate_prefs_->ResetDenialState();
|
| + ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
|
| +
|
| + for (int i = 0; i < 10; i++) {
|
| + translate_prefs_->IncrementTranslationIgnoredCount(kTestLanguage);
|
| + ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
|
| + }
|
| +
|
| + translate_prefs_->IncrementTranslationIgnoredCount(kTestLanguage);
|
| + ASSERT_TRUE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
|
| +}
|
| +
|
| TEST_F(TranslatePrefTest, UpdateLastDeniedTime) {
|
| // Test that denials with more than 24 hours difference between them do not
|
| // block the language.
|
|
|