Chromium Code Reviews| Index: chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc |
| diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc |
| index bdbf784e95f8354b42c39f85fe185a8a6894f91d..5a207d611f2d53233c101e660ed45c04116f727c 100644 |
| --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc |
| +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc |
| @@ -26,6 +26,7 @@ |
| #include "chrome/browser/permissions/permission_decision_auto_blocker.h" |
| #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| #include "chrome/browser/storage/durable_storage_permission_context.h" |
| +#include "chrome/browser/translate/language_model_factory.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/test/base/testing_browser_process.h" |
| #include "chrome/test/base/testing_profile.h" |
| @@ -53,6 +54,7 @@ |
| #include "components/password_manager/core/browser/password_manager_test_utils.h" |
| #include "components/password_manager/core/browser/password_store_consumer.h" |
| #include "components/prefs/testing_pref_service.h" |
| +#include "components/translate/core/browser/language_model.h" |
| #include "content/public/test/mock_download_manager.h" |
| #include "content/public/test/test_browser_thread_bundle.h" |
| #include "content/public/test/test_utils.h" |
| @@ -90,6 +92,7 @@ using domain_reliability::DomainReliabilityServiceFactory; |
| using testing::_; |
| using testing::ByRef; |
| using testing::Eq; |
| +using testing::FloatEq; |
| using testing::Invoke; |
| using testing::IsEmpty; |
| using testing::Matcher; |
| @@ -1742,3 +1745,35 @@ TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| EXPECT_THAT(remaining_nodes, SizeIs(1)); |
| EXPECT_THAT(remaining_nodes[0]->url().spec(), Eq("http://foo-2.org/")); |
| } |
| + |
| +// Test that the remover clears language model data (normally added by the |
| +// ChromeTranslateClient). |
| +TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| + LanguageModelClearedOnClearingCompleteHistory) { |
| + translate::LanguageModel* language_model = |
| + LanguageModelFactory::GetInstance()->GetForBrowserContext(GetProfile()); |
| + |
| + // Simulate browsing. |
| + for (int i = 0; i < 100; i++) { |
| + language_model->OnPageVisited("en"); |
| + language_model->OnPageVisited("en"); |
| + language_model->OnPageVisited("en"); |
| + language_model->OnPageVisited("es"); |
| + } |
| + |
| + // Clearing a part of the history has no effect. |
| + BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), |
| + BrowsingDataRemover::REMOVE_HISTORY, false); |
| + |
| + EXPECT_THAT(language_model->GetTopLanguages(), SizeIs(2)); |
| + EXPECT_THAT(language_model->GetLanguageFrequency("en"), FloatEq(0.75)); |
|
jkrcal
2017/01/25 08:48:54
Furthermore, I've changed the ratio of the languag
msramek
2017/01/25 11:54:59
Acknowledged.
|
| + EXPECT_THAT(language_model->GetLanguageFrequency("es"), FloatEq(0.25)); |
| + |
| + // Clearing the full history does the trick. |
| + BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| + BrowsingDataRemover::REMOVE_HISTORY, false); |
| + |
| + EXPECT_THAT(language_model->GetTopLanguages(), SizeIs(0)); |
| + EXPECT_THAT(language_model->GetLanguageFrequency("en"), FloatEq(0.0)); |
| + EXPECT_THAT(language_model->GetLanguageFrequency("es"), FloatEq(0.0)); |
| +} |