OLD | NEW |
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/translate_ranker_impl.h" | 5 #include "components/translate/core/browser/translate_ranker_impl.h" |
6 | 6 |
7 #include <initializer_list> | 7 #include <initializer_list> |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "components/translate/core/browser/translate_prefs.h" | 25 #include "components/translate/core/browser/translate_prefs.h" |
26 #include "net/url_request/test_url_fetcher_factory.h" | 26 #include "net/url_request/test_url_fetcher_factory.h" |
27 #include "net/url_request/url_request_test_util.h" | 27 #include "net/url_request/url_request_test_util.h" |
28 #include "testing/gtest/include/gtest/gtest.h" | 28 #include "testing/gtest/include/gtest/gtest.h" |
29 | 29 |
30 namespace { | 30 namespace { |
31 | 31 |
32 using translate::kTranslateRankerEnforcement; | 32 using translate::kTranslateRankerEnforcement; |
33 using translate::kTranslateRankerLogging; | 33 using translate::kTranslateRankerLogging; |
34 using translate::kTranslateRankerQuery; | 34 using translate::kTranslateRankerQuery; |
| 35 using translate::kTranslateRankerDecisionOverride; |
35 using translate::TranslateDownloadManager; | 36 using translate::TranslateDownloadManager; |
36 using translate::TranslateRankerFeatures; | 37 using translate::TranslateRankerFeatures; |
37 using translate::TranslatePrefs; | 38 using translate::TranslatePrefs; |
38 using translate::TranslateRankerImpl; | 39 using translate::TranslateRankerImpl; |
39 | 40 |
40 constexpr int kModelVersion = 1234; | 41 constexpr int kModelVersion = 1234; |
41 | 42 |
42 class TranslateRankerImplTest : public ::testing::Test { | 43 class TranslateRankerImplTest : public ::testing::Test { |
43 protected: | 44 protected: |
44 TranslateRankerImplTest(); | 45 TranslateRankerImplTest(); |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 return translate_event; | 193 return translate_event; |
193 } | 194 } |
194 | 195 |
195 } // namespace | 196 } // namespace |
196 | 197 |
197 TEST_F(TranslateRankerImplTest, DisabledByDefault) { | 198 TEST_F(TranslateRankerImplTest, DisabledByDefault) { |
198 InitFeatures({}, {}); | 199 InitFeatures({}, {}); |
199 auto ranker = GetRankerForTest(0.5); | 200 auto ranker = GetRankerForTest(0.5); |
200 EXPECT_FALSE(ranker->IsQueryEnabled()); | 201 EXPECT_FALSE(ranker->IsQueryEnabled()); |
201 EXPECT_FALSE(ranker->IsEnforcementEnabled()); | 202 EXPECT_FALSE(ranker->IsEnforcementEnabled()); |
| 203 EXPECT_FALSE(ranker->IsDecisionOverrideEnabled()); |
202 EXPECT_TRUE(ranker->IsLoggingEnabled()); | 204 EXPECT_TRUE(ranker->IsLoggingEnabled()); |
203 } | 205 } |
204 | 206 |
205 TEST_F(TranslateRankerImplTest, ExplicitlyDisabled) { | 207 TEST_F(TranslateRankerImplTest, ExplicitlyDisabled) { |
206 InitFeatures({}, {kTranslateRankerQuery, kTranslateRankerEnforcement, | 208 InitFeatures({}, {kTranslateRankerQuery, kTranslateRankerEnforcement, |
207 kTranslateRankerLogging}); | 209 kTranslateRankerLogging, kTranslateRankerDecisionOverride}); |
208 auto ranker = GetRankerForTest(0.5); | 210 auto ranker = GetRankerForTest(0.5); |
209 EXPECT_FALSE(ranker->IsQueryEnabled()); | 211 EXPECT_FALSE(ranker->IsQueryEnabled()); |
210 EXPECT_FALSE(ranker->IsEnforcementEnabled()); | 212 EXPECT_FALSE(ranker->IsEnforcementEnabled()); |
| 213 EXPECT_FALSE(ranker->IsDecisionOverrideEnabled()); |
211 EXPECT_FALSE(ranker->IsLoggingEnabled()); | 214 EXPECT_FALSE(ranker->IsLoggingEnabled()); |
212 } | 215 } |
213 | 216 |
214 TEST_F(TranslateRankerImplTest, EnableQuery) { | 217 TEST_F(TranslateRankerImplTest, EnableQuery) { |
215 InitFeatures({kTranslateRankerQuery}, {kTranslateRankerEnforcement}); | 218 InitFeatures({kTranslateRankerQuery}, {kTranslateRankerEnforcement}); |
216 auto ranker = GetRankerForTest(0.5); | 219 auto ranker = GetRankerForTest(0.5); |
217 EXPECT_TRUE(ranker->IsQueryEnabled()); | 220 EXPECT_TRUE(ranker->IsQueryEnabled()); |
218 EXPECT_FALSE(ranker->IsEnforcementEnabled()); | 221 EXPECT_FALSE(ranker->IsEnforcementEnabled()); |
| 222 EXPECT_FALSE(ranker->IsDecisionOverrideEnabled()); |
219 EXPECT_TRUE(ranker->IsLoggingEnabled()); | 223 EXPECT_TRUE(ranker->IsLoggingEnabled()); |
220 } | 224 } |
221 | 225 |
222 TEST_F(TranslateRankerImplTest, EnableEnforcement) { | 226 TEST_F(TranslateRankerImplTest, EnableEnforcement) { |
223 InitFeatures({kTranslateRankerEnforcement}, {kTranslateRankerQuery}); | 227 InitFeatures({kTranslateRankerEnforcement}, {kTranslateRankerQuery}); |
224 auto ranker = GetRankerForTest(0.5); | 228 auto ranker = GetRankerForTest(0.5); |
225 EXPECT_FALSE(ranker->IsQueryEnabled()); | 229 EXPECT_FALSE(ranker->IsQueryEnabled()); |
226 EXPECT_TRUE(ranker->IsEnforcementEnabled()); | 230 EXPECT_TRUE(ranker->IsEnforcementEnabled()); |
| 231 EXPECT_FALSE(ranker->IsDecisionOverrideEnabled()); |
227 EXPECT_TRUE(ranker->IsLoggingEnabled()); | 232 EXPECT_TRUE(ranker->IsLoggingEnabled()); |
228 } | 233 } |
229 | 234 |
230 TEST_F(TranslateRankerImplTest, EnableQueryAndEnforcement) { | 235 TEST_F(TranslateRankerImplTest, EnableQueryAndEnforcement) { |
231 InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); | 236 InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); |
232 auto ranker = GetRankerForTest(0.5); | 237 auto ranker = GetRankerForTest(0.5); |
233 EXPECT_TRUE(ranker->IsQueryEnabled()); | 238 EXPECT_TRUE(ranker->IsQueryEnabled()); |
234 EXPECT_TRUE(ranker->IsEnforcementEnabled()); | 239 EXPECT_TRUE(ranker->IsEnforcementEnabled()); |
| 240 EXPECT_FALSE(ranker->IsDecisionOverrideEnabled()); |
235 EXPECT_TRUE(ranker->IsLoggingEnabled()); | 241 EXPECT_TRUE(ranker->IsLoggingEnabled()); |
236 } | 242 } |
237 | 243 |
| 244 TEST_F(TranslateRankerImplTest, EnableDecisionOverride) { |
| 245 InitFeatures({kTranslateRankerDecisionOverride}, {}); |
| 246 auto ranker = GetRankerForTest(0.5); |
| 247 EXPECT_FALSE(ranker->IsQueryEnabled()); |
| 248 EXPECT_FALSE(ranker->IsEnforcementEnabled()); |
| 249 EXPECT_TRUE(ranker->IsDecisionOverrideEnabled()); |
| 250 EXPECT_TRUE(ranker->IsLoggingEnabled()); |
| 251 } |
| 252 |
238 TEST_F(TranslateRankerImplTest, EnableLogging) { | 253 TEST_F(TranslateRankerImplTest, EnableLogging) { |
239 InitFeatures({kTranslateRankerLogging}, {}); | 254 InitFeatures({kTranslateRankerLogging}, {}); |
240 auto ranker = GetRankerForTest(0.5); | 255 auto ranker = GetRankerForTest(0.5); |
241 EXPECT_FALSE(ranker->IsQueryEnabled()); | 256 EXPECT_FALSE(ranker->IsQueryEnabled()); |
242 EXPECT_FALSE(ranker->IsEnforcementEnabled()); | 257 EXPECT_FALSE(ranker->IsEnforcementEnabled()); |
| 258 EXPECT_FALSE(ranker->IsDecisionOverrideEnabled()); |
243 EXPECT_TRUE(ranker->IsLoggingEnabled()); | 259 EXPECT_TRUE(ranker->IsLoggingEnabled()); |
244 } | 260 } |
245 | 261 |
246 TEST_F(TranslateRankerImplTest, DisableLogging) { | 262 TEST_F(TranslateRankerImplTest, DisableLogging) { |
247 InitFeatures({}, {kTranslateRankerLogging}); | 263 InitFeatures({}, {kTranslateRankerLogging}); |
248 auto ranker = GetRankerForTest(0.5); | 264 auto ranker = GetRankerForTest(0.5); |
249 EXPECT_FALSE(ranker->IsQueryEnabled()); | 265 EXPECT_FALSE(ranker->IsQueryEnabled()); |
250 EXPECT_FALSE(ranker->IsEnforcementEnabled()); | 266 EXPECT_FALSE(ranker->IsEnforcementEnabled()); |
| 267 EXPECT_FALSE(ranker->IsDecisionOverrideEnabled()); |
251 EXPECT_FALSE(ranker->IsLoggingEnabled()); | 268 EXPECT_FALSE(ranker->IsLoggingEnabled()); |
252 } | 269 } |
253 | 270 |
254 TEST_F(TranslateRankerImplTest, EnableAll) { | 271 TEST_F(TranslateRankerImplTest, EnableAll) { |
255 InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement, | 272 InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement, |
256 kTranslateRankerLogging}, | 273 kTranslateRankerLogging, kTranslateRankerDecisionOverride}, |
257 {}); | 274 {}); |
258 auto ranker = GetRankerForTest(0.5); | 275 auto ranker = GetRankerForTest(0.5); |
259 EXPECT_TRUE(ranker->IsQueryEnabled()); | 276 EXPECT_TRUE(ranker->IsQueryEnabled()); |
260 EXPECT_TRUE(ranker->IsEnforcementEnabled()); | 277 EXPECT_TRUE(ranker->IsEnforcementEnabled()); |
| 278 EXPECT_TRUE(ranker->IsDecisionOverrideEnabled()); |
261 EXPECT_TRUE(ranker->IsLoggingEnabled()); | 279 EXPECT_TRUE(ranker->IsLoggingEnabled()); |
262 } | 280 } |
263 | 281 |
264 TEST_F(TranslateRankerImplTest, GetVersion) { | 282 TEST_F(TranslateRankerImplTest, GetVersion) { |
265 InitFeatures({kTranslateRankerQuery}, {}); | 283 InitFeatures({kTranslateRankerQuery}, {}); |
266 auto ranker = GetRankerForTest(0.01f); | 284 auto ranker = GetRankerForTest(0.01f); |
267 EXPECT_TRUE(ranker->CheckModelLoaderForTesting()); | 285 EXPECT_TRUE(ranker->CheckModelLoaderForTesting()); |
268 EXPECT_EQ(kModelVersion, ranker->GetModelVersion()); | 286 EXPECT_EQ(kModelVersion, ranker->GetModelVersion()); |
269 } | 287 } |
270 | 288 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 ranker->EnableLogging(false); | 387 ranker->EnableLogging(false); |
370 | 388 |
371 ranker->AddTranslateEvent(CreateTranslateEvent("fr", "en", 1, 0, 3)); | 389 ranker->AddTranslateEvent(CreateTranslateEvent("fr", "en", 1, 0, 3)); |
372 ranker->AddTranslateEvent(CreateTranslateEvent("jp", "en", 2, 0, 3)); | 390 ranker->AddTranslateEvent(CreateTranslateEvent("jp", "en", 2, 0, 3)); |
373 ranker->AddTranslateEvent(CreateTranslateEvent("es", "de", 4, 5, 6)); | 391 ranker->AddTranslateEvent(CreateTranslateEvent("es", "de", 4, 5, 6)); |
374 | 392 |
375 // Logging is disabled, so no events should be cached. | 393 // Logging is disabled, so no events should be cached. |
376 ranker->FlushTranslateEvents(&flushed_events); | 394 ranker->FlushTranslateEvents(&flushed_events); |
377 EXPECT_EQ(0U, flushed_events.size()); | 395 EXPECT_EQ(0U, flushed_events.size()); |
378 } | 396 } |
OLD | NEW |