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

Unified Diff: chrome/browser/browsing_data_remover_unittest.cc

Issue 8907015: Adding chrome::NOTIFICATION_BROWSING_DATA_REMOVED. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Struct. Rebase onto a slightly less red trunk. Created 9 years 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: 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,

Powered by Google App Engine
This is Rietveld 408576698