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, |