Chromium Code Reviews| Index: chrome/browser/browsing_data_remover_unittest.cc |
| diff --git a/chrome/browser/browsing_data_remover_unittest.cc b/chrome/browser/browsing_data_remover_unittest.cc |
| index 97353ce85d53c3fa31ac525a040bad26ff66aff9..5f2166dcb0a5998c312731f3060cdf77687c0822 100644 |
| --- a/chrome/browser/browsing_data_remover_unittest.cc |
| +++ b/chrome/browser/browsing_data_remover_unittest.cc |
| @@ -12,9 +12,11 @@ |
| #include "base/platform_file.h" |
| #include "chrome/browser/extensions/mock_extension_special_storage_policy.h" |
| #include "chrome/browser/history/history.h" |
| +#include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/test/base/testing_pref_service.h" |
| #include "chrome/test/base/testing_profile.h" |
| +#include "content/public/browser/notification_service.h" |
| #include "content/test/test_browser_thread.h" |
| #include "net/base/cookie_monster.h" |
| #include "net/url_request/url_request_context.h" |
| @@ -234,7 +236,8 @@ class RemoveQuotaManagedDataTester : public BrowsingDataRemoverTester { |
| // Test Class ---------------------------------------------------------------- |
| -class BrowsingDataRemoverTest : public testing::Test { |
| +class BrowsingDataRemoverTest : public testing::Test, |
| + public content::NotificationObserver { |
| public: |
| BrowsingDataRemoverTest() |
| : ui_thread_(BrowserThread::UI, &message_loop_), |
| @@ -243,6 +246,8 @@ class BrowsingDataRemoverTest : public testing::Test { |
| file_thread_(BrowserThread::FILE, &message_loop_), |
| io_thread_(BrowserThread::IO, &message_loop_), |
| profile_(new TestingProfile()) { |
| + registrar_.Add(this, chrome::NOTIFICATION_BROWSING_DATA_REMOVED, |
| + content::Source<Profile>(profile_->GetOriginalProfile())); |
| } |
| virtual ~BrowsingDataRemoverTest() { |
| @@ -266,6 +271,9 @@ class BrowsingDataRemoverTest : public testing::Test { |
| base::Time::Now() + base::TimeDelta::FromMilliseconds(10)); |
| remover->AddObserver(tester); |
| + called_with_mask_ = 0; |
| + called_with_time_ = base::Time(); |
| + |
| // BrowsingDataRemover deletes itself when it completes. |
| remover->Remove(remove_mask); |
| tester->BlockUntilNotified(); |
| @@ -275,6 +283,14 @@ class BrowsingDataRemoverTest : public testing::Test { |
| return profile_.get(); |
| } |
| + base::Time GetBeginTime() { |
| + return called_with_time_; |
| + } |
| + |
| + int GetRemovalMask() { |
| + return called_with_mask_; |
| + } |
| + |
| quota::MockQuotaManager* GetMockManager() { |
| if (profile_->GetQuotaManager() == NULL) { |
| profile_->SetQuotaManager(new quota::MockQuotaManager( |
| @@ -287,7 +303,28 @@ class BrowsingDataRemoverTest : public testing::Test { |
| return (quota::MockQuotaManager*) profile_->GetQuotaManager(); |
| } |
| + // content::NotificationObserver implementation. |
| + virtual void Observe(int type, |
| + const content::NotificationSource& source, |
| + const content::NotificationDetails& details) OVERRIDE { |
| + DCHECK_EQ(type, chrome::NOTIFICATION_BROWSING_DATA_REMOVED); |
| + |
| + // We're not taking ownership of the details object, but simply storing |
| + // copies of its contents. |
| + BrowsingDataRemover::NotificationDetail* remover_detail( |
| + content::Details<BrowsingDataRemover::NotificationDetail>( |
| + details).ptr()); |
| + called_with_time_ = remover_detail->removal_begin; |
| + called_with_mask_ = remover_detail->removal_mask; |
| + |
| + registrar_.RemoveAll(); |
| + } |
| + |
| private: |
| + base::Time called_with_time_; |
|
jochen (gone - plz use gerrit)
2011/12/13 13:18:48
what about just storing a NotificationDetails obje
Mike West
2011/12/13 14:23:26
Done, though I'm not convinced it's any prettier.
|
| + int called_with_mask_; |
| + content::NotificationRegistrar registrar_; |
| + |
| // message_loop_, as well as all the threads associated with it must be |
| // defined before profile_ to prevent explosions. Oh how I love C++. |
| MessageLoopForUI message_loop_; |
| @@ -313,6 +350,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) { |
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, |
| BrowsingDataRemover::REMOVE_COOKIES, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_COOKIES); |
|
jochen (gone - plz use gerrit)
2011/12/13 13:18:48
EXPECT_EQ takes expected, actual as parameters IIR
Mike West
2011/12/13 14:23:26
Needle, haystack. Haystack, needle. What... you me
|
| EXPECT_FALSE(tester->ContainsCookie()); |
| } |
| @@ -326,6 +364,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) { |
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, |
| BrowsingDataRemover::REMOVE_HISTORY, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_HISTORY); |
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1)); |
| } |
| @@ -343,6 +382,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) { |
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, |
| BrowsingDataRemover::REMOVE_HISTORY, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_HISTORY); |
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1)); |
| EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2)); |
| } |
| @@ -356,6 +396,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) { |
| BrowsingDataRemover::REMOVE_SITE_DATA & |
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA & |
| + ~BrowsingDataRemover::REMOVE_LSO_DATA); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, |
| quota::kStorageTypeTemporary)); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, |
| @@ -379,6 +421,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { |
| BrowsingDataRemover::REMOVE_SITE_DATA & |
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA & |
| + ~BrowsingDataRemover::REMOVE_LSO_DATA); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, |
| quota::kStorageTypeTemporary)); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, |
| @@ -402,6 +446,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { |
| BrowsingDataRemover::REMOVE_SITE_DATA & |
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA & |
| + ~BrowsingDataRemover::REMOVE_LSO_DATA); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, |
| quota::kStorageTypeTemporary)); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, |
| @@ -425,6 +471,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { |
| BrowsingDataRemover::REMOVE_SITE_DATA & |
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA & |
| + ~BrowsingDataRemover::REMOVE_LSO_DATA); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, |
| quota::kStorageTypeTemporary)); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, |
| @@ -448,6 +496,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) { |
| BrowsingDataRemover::REMOVE_SITE_DATA & |
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA & |
| + ~BrowsingDataRemover::REMOVE_LSO_DATA); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, |
| quota::kStorageTypeTemporary)); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, |
| @@ -471,6 +521,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) { |
| BrowsingDataRemover::REMOVE_SITE_DATA & |
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA & |
| + ~BrowsingDataRemover::REMOVE_LSO_DATA); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, |
| quota::kStorageTypeTemporary)); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, |
| @@ -500,6 +552,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { |
| BrowsingDataRemover::REMOVE_SITE_DATA & |
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get()); |
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA & |
| + ~BrowsingDataRemover::REMOVE_LSO_DATA); |
| EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, |
| quota::kStorageTypeTemporary)); |
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, |