| 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 |