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

Side by Side Diff: components/translate/core/browser/translate_prefs_unittest.cc

Issue 1923143003: Implement the 2016Q2 Translate UI designe spec out in (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test breakage Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/translate/core/browser/translate_prefs.h" 5 #include "components/translate/core/browser/translate_prefs.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <utility>
10 10
11 #include "build/build_config.h" 11 #include "build/build_config.h"
12 #include "components/pref_registry/testing_pref_service_syncable.h" 12 #include "components/pref_registry/testing_pref_service_syncable.h"
13 #include "components/prefs/scoped_user_pref_update.h" 13 #include "components/prefs/scoped_user_pref_update.h"
14 #include "components/translate/core/browser/translate_download_manager.h" 14 #include "components/translate/core/browser/translate_download_manager.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 16
17 namespace { 17 namespace {
18 18
19 const char kTestLanguage[] = "en"; 19 const char kTestLanguage[] = "en";
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 void SetLastDeniedTime(const std::string& language, base::Time time) { 149 void SetLastDeniedTime(const std::string& language, base::Time time) {
150 DenialTimeUpdate update(prefs_.get(), language, 2); 150 DenialTimeUpdate update(prefs_.get(), language, 2);
151 update.AddDenialTime(time); 151 update.AddDenialTime(time);
152 } 152 }
153 153
154 base::Time GetLastDeniedTime(const std::string& language) { 154 base::Time GetLastDeniedTime(const std::string& language) {
155 DenialTimeUpdate update(prefs_.get(), language, 2); 155 DenialTimeUpdate update(prefs_.get(), language, 2);
156 return update.GetOldestDenialTime(); 156 return update.GetOldestDenialTime();
157 } 157 }
158 158
159 void SetUp() override {
160 base::FeatureList::ClearInstanceForTesting();
161 base::FeatureList::SetInstance(base::WrapUnique(new base::FeatureList()));
162 }
163
164 void TurnOnTranslate2016Q2UIFlag() {
165 base::FeatureList::ClearInstanceForTesting();
166 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
167 feature_list->InitializeFromCommandLine(
168 translate::kTranslateUI2016Q2.name, "");
169 base::FeatureList::SetInstance(std::move(feature_list));
170 }
171
159 std::unique_ptr<user_prefs::TestingPrefServiceSyncable> prefs_; 172 std::unique_ptr<user_prefs::TestingPrefServiceSyncable> prefs_;
160 std::unique_ptr<translate::TranslatePrefs> translate_prefs_; 173 std::unique_ptr<translate::TranslatePrefs> translate_prefs_;
161 174
162 // Shared time constants. 175 // Shared time constants.
163 base::Time now_; 176 base::Time now_;
164 base::Time two_days_ago_; 177 base::Time two_days_ago_;
165 }; 178 };
166 179
180 TEST_F(TranslatePrefTest, IsTooOftenDeniedIn2016Q2UI) {
181 TurnOnTranslate2016Q2UIFlag();
182
183 translate_prefs_->ResetDenialState();
184 ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
185
186 for (int i = 0; i < 3; i++) {
187 translate_prefs_->IncrementTranslationDeniedCount(kTestLanguage);
188 ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
189 }
190
191 translate_prefs_->IncrementTranslationDeniedCount(kTestLanguage);
192 ASSERT_TRUE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
193 }
194
195 TEST_F(TranslatePrefTest, IsTooOftenIgnoredIn2016Q2UI) {
196 TurnOnTranslate2016Q2UIFlag();
197
198 translate_prefs_->ResetDenialState();
199 ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
200
201 for (int i = 0; i < 10; i++) {
202 translate_prefs_->IncrementTranslationIgnoredCount(kTestLanguage);
203 ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
204 }
205
206 translate_prefs_->IncrementTranslationIgnoredCount(kTestLanguage);
207 ASSERT_TRUE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
208 }
209
167 TEST_F(TranslatePrefTest, UpdateLastDeniedTime) { 210 TEST_F(TranslatePrefTest, UpdateLastDeniedTime) {
168 // Test that denials with more than 24 hours difference between them do not 211 // Test that denials with more than 24 hours difference between them do not
169 // block the language. 212 // block the language.
170 translate_prefs_->ResetDenialState(); 213 translate_prefs_->ResetDenialState();
171 SetLastDeniedTime(kTestLanguage, two_days_ago_); 214 SetLastDeniedTime(kTestLanguage, two_days_ago_);
172 ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage)); 215 ASSERT_FALSE(translate_prefs_->IsTooOftenDenied(kTestLanguage));
173 translate_prefs_->UpdateLastDeniedTime(kTestLanguage); 216 translate_prefs_->UpdateLastDeniedTime(kTestLanguage);
174 base::Time last_denied = GetLastDeniedTime(kTestLanguage); 217 base::Time last_denied = GetLastDeniedTime(kTestLanguage);
175 EXPECT_FALSE(last_denied.is_max()); 218 EXPECT_FALSE(last_denied.is_max());
176 EXPECT_GE(last_denied, now_); 219 EXPECT_GE(last_denied, now_);
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 update.AddDenialTime(now_); 319 update.AddDenialTime(now_);
277 EXPECT_EQ(update.GetOldestDenialTime(), 320 EXPECT_EQ(update.GetOldestDenialTime(),
278 now_ - base::TimeDelta::FromMinutes(3)); 321 now_ - base::TimeDelta::FromMinutes(3));
279 322
280 update.AddDenialTime(now_); 323 update.AddDenialTime(now_);
281 EXPECT_EQ(update.GetOldestDenialTime(), 324 EXPECT_EQ(update.GetOldestDenialTime(),
282 now_ - base::TimeDelta::FromMinutes(2)); 325 now_ - base::TimeDelta::FromMinutes(2));
283 } 326 }
284 327
285 } // namespace translate 328 } // namespace translate
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698