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

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

Issue 2649163003: [LanguageModel] Clear the model when clearing full history (Closed)
Patch Set: Martin's comments Created 3 years, 11 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/language_model.h" 5 #include "components/translate/core/browser/language_model.h"
6 6
7 #include "components/prefs/testing_pref_service.h" 7 #include "components/prefs/testing_pref_service.h"
8 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using testing::ElementsAre; 11 using testing::ElementsAre;
12 using testing::FloatEq; 12 using testing::FloatEq;
13 using testing::Gt; 13 using testing::Gt;
14 using testing::SizeIs;
14 15
15 namespace { 16 namespace {
16 17
17 const char kLang1[] = "en"; 18 const char kLang1[] = "en";
18 const char kLang2[] = "de"; 19 const char kLang2[] = "de";
19 const char kLang3[] = "es"; 20 const char kLang3[] = "es";
20 21
21 } // namespace 22 } // namespace
22 23
23 namespace translate { 24 namespace translate {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 EXPECT_THAT(model.GetLanguageFrequency(kLang2), Gt(0.0f)); 99 EXPECT_THAT(model.GetLanguageFrequency(kLang2), Gt(0.0f));
99 100
100 // Another 100 visits cause the cleanup (total > 1000). 101 // Another 100 visits cause the cleanup (total > 1000).
101 for (int i = 0; i < 100; i++) 102 for (int i = 0; i < 100; i++)
102 model.OnPageVisited(kLang1); 103 model.OnPageVisited(kLang1);
103 // Lang 2 is removed from the model. 104 // Lang 2 is removed from the model.
104 EXPECT_THAT(model.GetTopLanguages(), 105 EXPECT_THAT(model.GetTopLanguages(),
105 ElementsAre(LanguageModel::LanguageInfo{kLang1, 1})); 106 ElementsAre(LanguageModel::LanguageInfo{kLang1, 1}));
106 } 107 }
107 108
109 TEST(LanguageModelTest, ShouldClearHistoryIfAllTimes) {
110 TestingPrefServiceSimple prefs;
111 LanguageModel::RegisterProfilePrefs(prefs.registry());
112 LanguageModel model(&prefs);
113
114 for (int i = 0; i < 100; i++) {
115 model.OnPageVisited(kLang1);
116 }
117
118 EXPECT_THAT(model.GetTopLanguages(), SizeIs(1));
119 EXPECT_THAT(model.GetLanguageFrequency(kLang1), FloatEq(1.0));
120
121 model.ClearHistory(base::Time(), base::Time::Max());
122
123 EXPECT_THAT(model.GetTopLanguages(), SizeIs(0));
124 EXPECT_THAT(model.GetLanguageFrequency(kLang1), FloatEq(0.0));
125 }
126
127 TEST(LanguageModelTest, ShouldNotClearHistoryIfNotAllTimes) {
128 TestingPrefServiceSimple prefs;
129 LanguageModel::RegisterProfilePrefs(prefs.registry());
130 LanguageModel model(&prefs);
131
132 for (int i = 0; i < 100; i++) {
133 model.OnPageVisited(kLang1);
134 }
135
136 EXPECT_THAT(model.GetTopLanguages(), SizeIs(1));
137 EXPECT_THAT(model.GetLanguageFrequency(kLang1), FloatEq(1.0));
138
139 // Clearing only the last hour of the history has no effect.
140 model.ClearHistory(base::Time::Now() - base::TimeDelta::FromHours(1),
groby-ooo-7-16 2017/01/25 16:12:45 Would you mind making this more than an hour? Beca
jkrcal 2017/01/26 15:46:22 Done. Thanks for pointing out! Actually, "1 hour
msramek 2017/01/26 16:00:48 I'm pretty sure base::Time() is UTC. So base::Time
141 base::Time::Max());
142
143 EXPECT_THAT(model.GetTopLanguages(), SizeIs(1));
144 EXPECT_THAT(model.GetLanguageFrequency(kLang1), FloatEq(1.0));
145 }
146
108 } // namespace translate 147 } // namespace translate
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698