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

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

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

Powered by Google App Engine
This is Rietveld 408576698