Chromium Code Reviews| 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..e1b4e8ef35dd06fd7abb429615efa7e9bf03061d 100644 |
| --- a/components/translate/core/browser/translate_manager_unittest.cc |
| +++ b/components/translate/core/browser/translate_manager_unittest.cc |
| @@ -307,6 +307,54 @@ 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"; |
| + manager_->set_application_locale(locale); |
| + translate_manager_->GetLanguageState().LanguageDetermined(page_lang, true); |
| + |
| + translate_manager_->InitiateTranslation(page_lang); |
| + histogram_tester.ExpectTotalCount(kMetricName, 0); |
|
groby-ooo-7-16
2017/01/25 16:20:10
That's the offending line, sorry for not spotting
|
| + 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"; |
| + manager_->set_application_locale(locale); |
| + translate_manager_->GetLanguageState().LanguageDetermined(page_lang, true); |
| + |
| + translate_manager_->InitiateTranslation(page_lang); |
| + histogram_tester.ExpectTotalCount(kMetricName, 0); |
| + 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, |