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

Unified Diff: chrome/browser/history/history_backend_unittest.cc

Issue 651193002: Remove NOTIFICATION_HISTORY_URL_VISITED (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@373326.2
Patch Set: Address comments Created 6 years, 2 months 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
« no previous file with comments | « chrome/browser/history/history_backend.cc ('k') | chrome/browser/history/history_notifications.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/history/history_backend_unittest.cc
diff --git a/chrome/browser/history/history_backend_unittest.cc b/chrome/browser/history/history_backend_unittest.cc
index 582a3440a07a863882d8523135aa9373d44fc251..c29075bfd6caf2687f4e19d90c41617c35ca2f1d 100644
--- a/chrome/browser/history/history_backend_unittest.cc
+++ b/chrome/browser/history/history_backend_unittest.cc
@@ -138,6 +138,7 @@ class HistoryBackendTestDelegate : public HistoryBackend::Delegate {
class HistoryBackendTestBase : public testing::Test {
public:
typedef std::vector<std::pair<int, HistoryDetails*> > NotificationList;
+ typedef std::vector<std::pair<ui::PageTransition, URLRow>> URLVisitedList;
HistoryBackendTestBase()
: loaded_(false),
@@ -157,6 +158,14 @@ class HistoryBackendTestBase : public testing::Test {
favicon_changed_notifications_ = 0;
}
+ int num_url_visited_notifications() const {
+ return url_visited_notifications_.size();
+ }
+
+ const URLVisitedList& url_visited_notifications() const {
+ return url_visited_notifications_;
+ }
+
int num_broadcasted_notifications() const {
return broadcasted_notifications_.size();
}
@@ -166,6 +175,7 @@ class HistoryBackendTestBase : public testing::Test {
}
void ClearBroadcastedNotifications() {
+ url_visited_notifications_.clear();
STLDeleteValues(&broadcasted_notifications_);
}
@@ -177,6 +187,13 @@ class HistoryBackendTestBase : public testing::Test {
++favicon_changed_notifications_;
}
+ void NotifyURLVisited(ui::PageTransition transition,
+ const URLRow& row,
+ const RedirectList& redirects,
+ base::Time visit_time) {
+ url_visited_notifications_.push_back(std::make_pair(transition, row));
+ }
+
void BroadcastNotifications(int type, scoped_ptr<HistoryDetails> details) {
// Send the notifications directly to the in-memory database.
content::Details<HistoryDetails> det(details.get());
@@ -224,6 +241,7 @@ class HistoryBackendTestBase : public testing::Test {
// The types and details of notifications which were broadcasted.
NotificationList broadcasted_notifications_;
int favicon_changed_notifications_;
+ URLVisitedList url_visited_notifications_;
base::MessageLoop message_loop_;
base::FilePath test_dir_;
@@ -246,13 +264,7 @@ void HistoryBackendTestDelegate::NotifyURLVisited(ui::PageTransition transition,
const URLRow& row,
const RedirectList& redirects,
base::Time visit_time) {
- scoped_ptr<URLVisitedDetails> details(new URLVisitedDetails());
- details->transition = transition;
- details->row = row;
- details->redirects = redirects;
- details->visit_time = visit_time;
- test_->BroadcastNotifications(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- details.Pass());
+ test_->NotifyURLVisited(transition, row, redirects, visit_time);
}
void HistoryBackendTestDelegate::BroadcastNotifications(
@@ -437,12 +449,6 @@ class InMemoryHistoryBackendTest : public HistoryBackendTestBase {
scoped_ptr<URLsModifiedDetails> details(new URLsModifiedDetails());
details->changed_urls.swap(rows);
BroadcastNotifications(type, details.Pass());
- } else if (type == chrome::NOTIFICATION_HISTORY_URL_VISITED) {
- for (URLRows::const_iterator it = rows.begin(); it != rows.end(); ++it) {
- scoped_ptr<URLVisitedDetails> details(new URLVisitedDetails());
- details->row = *it;
- BroadcastNotifications(type, details.Pass());
- }
} else if (type == chrome::NOTIFICATION_HISTORY_URLS_DELETED) {
scoped_ptr<URLsDeletedDetails> details(new URLsDeletedDetails());
details->rows = rows;
@@ -1274,30 +1280,23 @@ TEST_F(HistoryBackendTest, AddPageVisitFiresNotificationWithCorrectDetails) {
EXPECT_NE(0, backend_->db_->GetRowForURL(url1, &stored_row1));
EXPECT_NE(0, backend_->db_->GetRowForURL(url2, &stored_row2));
- // Expect that NOTIFICATION_HISTORY_URLS_VISITED has been fired 3x, and that
- // each time, the URLRows have the correct URLs and IDs set.
- ASSERT_EQ(3, num_broadcasted_notifications());
- ASSERT_EQ(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- broadcasted_notifications()[0].first);
- const URLVisitedDetails* details = static_cast<const URLVisitedDetails*>(
- broadcasted_notifications()[0].second);
- EXPECT_EQ(ui::PAGE_TRANSITION_LINK,
- ui::PageTransitionStripQualifier(details->transition));
- EXPECT_EQ(stored_row1.id(), details->row.id());
- EXPECT_EQ(stored_row1.url(), details->row.url());
-
- // No further checking, this case analogous to the first one.
- ASSERT_EQ(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- broadcasted_notifications()[1].first);
-
- ASSERT_EQ(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- broadcasted_notifications()[2].first);
- details = static_cast<const URLVisitedDetails*>(
- broadcasted_notifications()[2].second);
- EXPECT_EQ(ui::PAGE_TRANSITION_TYPED,
- ui::PageTransitionStripQualifier(details->transition));
- EXPECT_EQ(stored_row2.id(), details->row.id());
- EXPECT_EQ(stored_row2.url(), details->row.url());
+ // Expect that HistoryServiceObserver::OnURLVisited has been called 3 times,
+ // and that each time the URLRows have the correct URLs and IDs set.
+ ASSERT_EQ(3, num_url_visited_notifications());
+ EXPECT_TRUE(ui::PageTransitionCoreTypeIs(url_visited_notifications()[0].first,
+ ui::PAGE_TRANSITION_LINK));
+ EXPECT_EQ(stored_row1.id(), url_visited_notifications()[0].second.id());
+ EXPECT_EQ(stored_row1.url(), url_visited_notifications()[0].second.url());
+
+ EXPECT_TRUE(ui::PageTransitionCoreTypeIs(url_visited_notifications()[1].first,
+ ui::PAGE_TRANSITION_TYPED));
+ EXPECT_EQ(stored_row2.id(), url_visited_notifications()[1].second.id());
+ EXPECT_EQ(stored_row2.url(), url_visited_notifications()[1].second.url());
+
+ EXPECT_TRUE(ui::PageTransitionCoreTypeIs(url_visited_notifications()[2].first,
+ ui::PAGE_TRANSITION_TYPED));
+ EXPECT_EQ(stored_row2.id(), url_visited_notifications()[2].second.id());
+ EXPECT_EQ(stored_row2.url(), url_visited_notifications()[2].second.url());
}
TEST_F(HistoryBackendTest, AddPageArgsSource) {
« no previous file with comments | « chrome/browser/history/history_backend.cc ('k') | chrome/browser/history/history_notifications.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698