Chromium Code Reviews| Index: chrome/browser/history/expire_history_backend_unittest.cc |
| diff --git a/chrome/browser/history/expire_history_backend_unittest.cc b/chrome/browser/history/expire_history_backend_unittest.cc |
| index c0ead2c92bd6f6d69eefda169ff6fc6738bdf6bb..94e0f026bf458b578c3a5b1b745887381de24086 100644 |
| --- a/chrome/browser/history/expire_history_backend_unittest.cc |
| +++ b/chrome/browser/history/expire_history_backend_unittest.cc |
| @@ -16,10 +16,8 @@ |
| #include "base/stl_util.h" |
| #include "base/strings/string16.h" |
| #include "base/strings/utf_string_conversions.h" |
| -#include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/history/expire_history_backend.h" |
| #include "chrome/browser/history/history_database.h" |
| -#include "chrome/browser/history/history_notifications.h" |
| #include "chrome/browser/history/thumbnail_database.h" |
| #include "chrome/browser/history/top_sites.h" |
| #include "chrome/test/base/testing_profile.h" |
| @@ -49,7 +47,7 @@ namespace history { |
| // ExpireHistoryTest ----------------------------------------------------------- |
| class ExpireHistoryTest : public testing::Test, |
| - public BroadcastNotificationDelegate { |
| + public ExpireHistoryBackendDelegate { |
| public: |
| ExpireHistoryTest() |
| : ui_thread_(BrowserThread::UI, &message_loop_), |
| @@ -75,12 +73,15 @@ class ExpireHistoryTest : public testing::Test, |
| // |expired|, or manually deleted. |
| void EnsureURLInfoGone(const URLRow& row, bool expired); |
| - // Returns whether a NOTIFICATION_HISTORY_URLS_MODIFIED was sent for |url|. |
| + // Returns whether ExpireHistoryBackendDelegate::NotifyURLsModified was |
| + // called for |url|. |
| bool ModifiedNotificationSent(const GURL& url); |
| // Clears the list of notifications received. |
| void ClearLastNotifications() { |
| STLDeleteValues(¬ifications_); |
| + urls_modified_notifications_.clear(); |
| + urls_deleted_notifications_.clear(); |
| } |
| void StarURL(const GURL& url) { history_client_.AddBookmark(url); } |
| @@ -116,6 +117,12 @@ class ExpireHistoryTest : public testing::Test, |
| NotificationList; |
| NotificationList notifications_; |
| + typedef std::vector<URLRows> URLsModifiedNotificationList; |
| + URLsModifiedNotificationList urls_modified_notifications_; |
| + |
| + typedef std::vector<std::pair<bool, URLRows>> URLsDeletedNotificationList; |
| + URLsDeletedNotificationList urls_deleted_notifications_; |
| + |
| private: |
| void SetUp() override { |
| ASSERT_TRUE(tmp_dir_.CreateUniqueTempDir()); |
| @@ -147,17 +154,16 @@ class ExpireHistoryTest : public testing::Test, |
| thumb_db_.reset(); |
| } |
| - // BroadcastNotificationDelegate: |
|
droger
2014/10/29 17:55:11
Keep the comment (with an updated name).
sdefresne
2014/10/30 10:54:31
Done.
|
| - void BroadcastNotifications(int type, |
| - scoped_ptr<HistoryDetails> details) override { |
| - // This gets called when there are notifications to broadcast. Instead, we |
| - // store them so we can tell that the correct notifications were sent. |
| - notifications_.push_back(std::make_pair(type, details.release())); |
| + void NotifyURLsModified(const URLRows& rows) override { |
| + urls_modified_notifications_.push_back(rows); |
| + } |
| + |
| + void NotifyURLsDeleted(bool all_history, |
| + bool expired, |
| + const URLRows& rows, |
| + const std::set<GURL>& favicon_urls) override { |
| + urls_deleted_notifications_.push_back(std::make_pair(expired, rows)); |
| } |
| - void NotifySyncURLsModified(URLRows* rows) override {} |
| - void NotifySyncURLsDeleted(bool all_history, |
| - bool expired, |
| - URLRows* rows) override {} |
| }; |
| // The example data consists of 4 visits. The middle two visits are to the |
| @@ -321,45 +327,34 @@ void ExpireHistoryTest::EnsureURLInfoGone(const URLRow& row, bool expired) { |
| // EXPECT_FALSE(HasThumbnail(row.id())); |
| bool found_delete_notification = false; |
| - for (size_t i = 0; i < notifications_.size(); i++) { |
| - if (notifications_[i].first == chrome::NOTIFICATION_HISTORY_URLS_DELETED) { |
| - URLsDeletedDetails* details = reinterpret_cast<URLsDeletedDetails*>( |
| - notifications_[i].second); |
| - EXPECT_EQ(expired, details->expired); |
| - const history::URLRows& rows(details->rows); |
| - history::URLRows::const_iterator it_row = std::find_if( |
| - rows.begin(), rows.end(), history::URLRow::URLRowHasURL(row.url())); |
| - if (it_row != rows.end()) { |
| - // Further verify that the ID is set to what had been in effect in the |
| - // main database before the deletion. The InMemoryHistoryBackend relies |
| - // on this to delete its cached copy of the row. |
| - EXPECT_EQ(row.id(), it_row->id()); |
| - found_delete_notification = true; |
| - } |
| - } else if (notifications_[i].first == |
| - chrome::NOTIFICATION_HISTORY_URLS_MODIFIED) { |
| - const history::URLRows& rows = |
| - static_cast<URLsModifiedDetails*>(notifications_[i].second)-> |
| - changed_urls; |
| - EXPECT_TRUE( |
| - std::find_if(rows.begin(), rows.end(), |
| - history::URLRow::URLRowHasURL(row.url())) == |
| - rows.end()); |
| + for (const std::pair<bool, URLRows>& pair : urls_deleted_notifications_) { |
| + EXPECT_EQ(expired, pair.first); |
| + const history::URLRows& rows(pair.second); |
| + history::URLRows::const_iterator it_row = std::find_if( |
| + rows.begin(), rows.end(), history::URLRow::URLRowHasURL(row.url())); |
| + if (it_row != rows.end()) { |
| + // Further verify that the ID is set to what had been in effect in the |
| + // main database before the deletion. The InMemoryHistoryBackend relies |
| + // on this to delete its cached copy of the row. |
| + EXPECT_EQ(row.id(), it_row->id()); |
| + found_delete_notification = true; |
| } |
| } |
| + for (const auto& rows : urls_modified_notifications_) { |
| + EXPECT_TRUE(std::find_if(rows.begin(), |
|
droger
2014/10/29 17:55:11
Could it be EXPECT_EQ instead?
|
| + rows.end(), |
| + history::URLRow::URLRowHasURL(row.url())) == |
| + rows.end()); |
| + } |
| EXPECT_TRUE(found_delete_notification); |
| } |
| bool ExpireHistoryTest::ModifiedNotificationSent(const GURL& url) { |
| - for (size_t i = 0; i < notifications_.size(); i++) { |
| - if (notifications_[i].first == chrome::NOTIFICATION_HISTORY_URLS_MODIFIED) { |
| - const history::URLRows& rows = |
| - static_cast<URLsModifiedDetails*>(notifications_[i].second)-> |
| - changed_urls; |
| - if (std::find_if(rows.begin(), rows.end(), |
| - history::URLRow::URLRowHasURL(url)) != rows.end()) |
| - return true; |
| - } |
| + for (const auto& rows : urls_modified_notifications_) { |
| + if (std::find_if(rows.begin(), |
| + rows.end(), |
| + history::URLRow::URLRowHasURL(url)) != rows.end()) |
| + return true; |
| } |
| return false; |
| } |