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

Unified Diff: components/translate/core/browser/translate_manager_unittest.cc

Issue 2650003004: Don't offer to translate between Simplified and Traditional Chinese (Closed)
Patch Set: Fixes unittests by simulating online mode and setting behavior for mock function. 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 side-by-side diff with in-line comments
Download patch
Index: components/translate/core/browser/translate_manager_unittest.cc
diff --git a/components/translate/core/browser/translate_manager_unittest.cc b/components/translate/core/browser/translate_manager_unittest.cc
index fda38d798ab21257c32a8274876b62fa875d7958..dfe069661fa0fe5ea25bb4f39f62be0b0b3076d2 100644
--- a/components/translate/core/browser/translate_manager_unittest.cc
+++ b/components/translate/core/browser/translate_manager_unittest.cc
@@ -307,6 +307,64 @@ TEST_F(TranslateManagerTest, DontTranslateOffline) {
1);
}
+// The test measures that Translate is not triggered for a zh-TW page for a
+// zh-CN user.
+TEST_F(TranslateManagerTest,
+ DontTranslateZhTraditionalPageForZhSimplifiedLocale) {
+ TranslateManager::SetIgnoreMissingKeyForTesting(true);
+ translate_manager_.reset(new translate::TranslateManager(
+ &mock_translate_client_, kAcceptLanguages));
+
+ const char kMetricName[] = "Translate.InitiationStatus.v2";
+ base::HistogramTester histogram_tester;
+
+ const std::string locale = "zh-TW";
+ const std::string page_lang = "zh-CN";
+
+ network_notifier_.SimulateOnline();
+ manager_->set_application_locale(locale);
+ ON_CALL(mock_translate_client_, IsTranslatableURL(_))
+ .WillByDefault(Return(true));
+
+ EXPECT_EQ("zh-TW", translate_manager_->GetTargetLanguage(&translate_prefs_));
+ translate_manager_->GetLanguageState().LanguageDetermined(page_lang, true);
+ translate_manager_->InitiateTranslation(page_lang);
+
+ histogram_tester.ExpectUniqueSample(
+ kMetricName,
+ translate::TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES,
+ 1);
+}
+
+// The test measures that Translate is not triggered for a zh-CN page for a
+// zh-TW user.
+TEST_F(TranslateManagerTest,
+ DontTranslateZhSimplifiedPageForZhTraditionalLocale) {
+ TranslateManager::SetIgnoreMissingKeyForTesting(true);
+ translate_manager_.reset(new translate::TranslateManager(
+ &mock_translate_client_, kAcceptLanguages));
+
+ const char kMetricName[] = "Translate.InitiationStatus.v2";
+ base::HistogramTester histogram_tester;
+
+ const std::string locale = "zh-CN";
+ const std::string page_lang = "zh-TW";
+
+ network_notifier_.SimulateOnline();
+ manager_->set_application_locale(locale);
+ ON_CALL(mock_translate_client_, IsTranslatableURL(_))
+ .WillByDefault(Return(true));
+
+ EXPECT_EQ("zh-CN", translate_manager_->GetTargetLanguage(&translate_prefs_));
+ translate_manager_->GetLanguageState().LanguageDetermined(page_lang, true);
+ translate_manager_->InitiateTranslation(page_lang);
+
+ histogram_tester.ExpectUniqueSample(
+ kMetricName,
+ translate::TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES,
+ 1);
+}
+
// Utility function to set the threshold params
void ChangeThresholdInParams(
const char* initiate_translation_confidence_threshold,

Powered by Google App Engine
This is Rietveld 408576698