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

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

Issue 2785493004: Integrate RankerModelLoader with TranslateRanker. (Closed)
Patch Set: fix bogus compile error Created 3 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_manager.h" 5 #include "components/translate/core/browser/translate_manager.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/test/histogram_tester.h" 12 #include "base/test/histogram_tester.h"
13 #include "base/test/scoped_feature_list.h" 13 #include "base/test/scoped_feature_list.h"
14 #include "build/build_config.h" 14 #include "build/build_config.h"
15 #include "components/infobars/core/infobar.h" 15 #include "components/infobars/core/infobar.h"
16 #include "components/pref_registry/pref_registry_syncable.h" 16 #include "components/pref_registry/pref_registry_syncable.h"
17 #include "components/sync_preferences/testing_pref_service_syncable.h" 17 #include "components/sync_preferences/testing_pref_service_syncable.h"
18 #include "components/translate/core/browser/mock_translate_driver.h" 18 #include "components/translate/core/browser/mock_translate_driver.h"
19 #include "components/translate/core/browser/mock_translate_ranker.h"
19 #include "components/translate/core/browser/translate_browser_metrics.h" 20 #include "components/translate/core/browser/translate_browser_metrics.h"
20 #include "components/translate/core/browser/translate_client.h" 21 #include "components/translate/core/browser/translate_client.h"
21 #include "components/translate/core/browser/translate_download_manager.h" 22 #include "components/translate/core/browser/translate_download_manager.h"
22 #include "components/translate/core/browser/translate_prefs.h" 23 #include "components/translate/core/browser/translate_prefs.h"
23 #include "components/translate/core/common/translate_pref_names.h" 24 #include "components/translate/core/common/translate_pref_names.h"
24 #include "components/variations/variations_associated_data.h" 25 #include "components/variations/variations_associated_data.h"
25 #include "net/base/network_change_notifier.h" 26 #include "net/base/network_change_notifier.h"
26 #include "testing/gmock/include/gmock/gmock.h" 27 #include "testing/gmock/include/gmock/gmock.h"
27 #include "testing/gtest/include/gtest/gtest.h" 28 #include "testing/gtest/include/gtest/gtest.h"
28 29
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 160
160 void TearDown() override { 161 void TearDown() override {
161 manager_->ResetForTesting(); 162 manager_->ResetForTesting();
162 variations::testing::ClearAllVariationParams(); 163 variations::testing::ClearAllVariationParams();
163 } 164 }
164 165
165 // Utility function to prepare translate_manager_ for testing. 166 // Utility function to prepare translate_manager_ for testing.
166 void PrepareTranslateManager() { 167 void PrepareTranslateManager() {
167 TranslateManager::SetIgnoreMissingKeyForTesting(true); 168 TranslateManager::SetIgnoreMissingKeyForTesting(true);
168 translate_manager_.reset(new translate::TranslateManager( 169 translate_manager_.reset(new translate::TranslateManager(
169 &mock_translate_client_, kAcceptLanguages)); 170 &mock_translate_client_, &mock_translate_ranker_, kAcceptLanguages));
170 } 171 }
171 172
172 // Prepare the test for ULP related tests. 173 // Prepare the test for ULP related tests.
173 // Put the ulp json into profile. 174 // Put the ulp json into profile.
174 void PrepareULPTest(const char* ulp_json, bool turn_on_feature) { 175 void PrepareULPTest(const char* ulp_json, bool turn_on_feature) {
175 PrepareTranslateManager(); 176 PrepareTranslateManager();
176 std::unique_ptr<base::Value> profile(CreateProfileFromJSON(ulp_json)); 177 std::unique_ptr<base::Value> profile(CreateProfileFromJSON(ulp_json));
177 prefs_.SetUserPref(TranslatePrefs::kPrefLanguageProfile, 178 prefs_.SetUserPref(TranslatePrefs::kPrefLanguageProfile,
178 std::move(profile)); 179 std::move(profile));
179 if (turn_on_feature) 180 if (turn_on_feature)
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 } 227 }
227 228
228 sync_preferences::TestingPrefServiceSyncable prefs_; 229 sync_preferences::TestingPrefServiceSyncable prefs_;
229 230
230 // TODO(groby): request TranslatePrefs from |mock_translate_client_| instead. 231 // TODO(groby): request TranslatePrefs from |mock_translate_client_| instead.
231 TranslatePrefs translate_prefs_; 232 TranslatePrefs translate_prefs_;
232 TranslateDownloadManager* manager_; 233 TranslateDownloadManager* manager_;
233 234
234 TestNetworkChangeNotifier network_notifier_; 235 TestNetworkChangeNotifier network_notifier_;
235 translate::testing::MockTranslateDriver driver_; 236 translate::testing::MockTranslateDriver driver_;
237 translate::testing::MockTranslateRanker mock_translate_ranker_;
236 ::testing::NiceMock<MockTranslateClient> mock_translate_client_; 238 ::testing::NiceMock<MockTranslateClient> mock_translate_client_;
237 std::unique_ptr<TranslateManager> translate_manager_; 239 std::unique_ptr<TranslateManager> translate_manager_;
238 std::unique_ptr<base::FieldTrialList> field_trial_list_; 240 std::unique_ptr<base::FieldTrialList> field_trial_list_;
239 base::test::ScopedFeatureList scoped_feature_list_; 241 base::test::ScopedFeatureList scoped_feature_list_;
240 }; 242 };
241 243
242 244
243 // Target language comes from application locale if the locale's language 245 // Target language comes from application locale if the locale's language
244 // is supported. 246 // is supported.
245 TEST_F(TranslateManagerTest, GetTargetLanguageDefaultsToAppLocale) { 247 TEST_F(TranslateManagerTest, GetTargetLanguageDefaultsToAppLocale) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 // First supported language is the fallback language. 279 // First supported language is the fallback language.
278 ASSERT_TRUE(TranslateDownloadManager::IsSupportedLanguage("en")); 280 ASSERT_TRUE(TranslateDownloadManager::IsSupportedLanguage("en"));
279 accept_language_list.push_back("en"); 281 accept_language_list.push_back("en");
280 translate_prefs_.UpdateLanguageList(accept_language_list); 282 translate_prefs_.UpdateLanguageList(accept_language_list);
281 EXPECT_EQ("en", TranslateManager::GetTargetLanguage(&translate_prefs_)); 283 EXPECT_EQ("en", TranslateManager::GetTargetLanguage(&translate_prefs_));
282 } 284 }
283 285
284 TEST_F(TranslateManagerTest, DontTranslateOffline) { 286 TEST_F(TranslateManagerTest, DontTranslateOffline) {
285 TranslateManager::SetIgnoreMissingKeyForTesting(true); 287 TranslateManager::SetIgnoreMissingKeyForTesting(true);
286 translate_manager_.reset(new translate::TranslateManager( 288 translate_manager_.reset(new translate::TranslateManager(
287 &mock_translate_client_, kAcceptLanguages)); 289 &mock_translate_client_, &mock_translate_ranker_, kAcceptLanguages));
288 290
289 // The test measures that the "Translate was disabled" exit can only be 291 // The test measures that the "Translate was disabled" exit can only be
290 // reached after the early-out tests including IsOffline() passed. 292 // reached after the early-out tests including IsOffline() passed.
291 const char kMetricName[] = "Translate.InitiationStatus.v2"; 293 const char kMetricName[] = "Translate.InitiationStatus.v2";
292 base::HistogramTester histogram_tester; 294 base::HistogramTester histogram_tester;
293 295
294 prefs_.SetBoolean(prefs::kEnableTranslate, false); 296 prefs_.SetBoolean(prefs::kEnableTranslate, false);
295 297
296 translate_manager_->GetLanguageState().LanguageDetermined("de", true); 298 translate_manager_->GetLanguageState().LanguageDetermined("de", true);
297 299
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 // 0.79 and lower than 0.8 and the probability threshold is lower than both 450 // 0.79 and lower than 0.8 and the probability threshold is lower than both
449 // the one with "fr" (0.6) and "pt-PT" (0.4). 451 // the one with "fr" (0.6) and "pt-PT" (0.4).
450 EXPECT_TRUE(CallLanguageInULP("fr")); 452 EXPECT_TRUE(CallLanguageInULP("fr"));
451 EXPECT_TRUE(CallLanguageInULP("pt")); 453 EXPECT_TRUE(CallLanguageInULP("pt"));
452 EXPECT_FALSE(CallLanguageInULP("zh-TW")); 454 EXPECT_FALSE(CallLanguageInULP("zh-TW"));
453 } 455 }
454 456
455 } // namespace testing 457 } // namespace testing
456 458
457 } // namespace translate 459 } // namespace translate
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698