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

Unified Diff: chrome/browser/sync/profile_sync_service_typed_url_unittest.cc

Issue 631253002: Refactor sending NOTIFICATION_HISTORY_URL_VISITED (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix tests on Android 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/sync/glue/typed_url_change_processor.cc ('k') | chrome/test/base/testing_profile.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
diff --git a/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc b/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
index 3826287feb3400a8e9ce3c0502c3ce99160cb313..c5092e44c033d2d5562717bf60377fcc09a083e5 100644
--- a/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
@@ -106,6 +106,8 @@ class HistoryBackendMock : public HistoryBackend {
MOCK_METHOD1(DeleteURL, void(const GURL& url));
private:
+ friend class ProfileSyncServiceTypedUrlTest;
+
virtual ~HistoryBackendMock() {}
};
@@ -325,6 +327,23 @@ class ProfileSyncServiceTypedUrlTest : public AbstractProfileSyncServiceTest {
EXPECT_CALL((*history_backend_.get()), DeleteURL(_)).Times(0);
}
+ void SendNotificationAddVisit(ui::PageTransition transition,
+ const history::URLRow& row) {
+ base::Time visit_time;
+ history::RedirectList redirects;
+ history_thread_->task_runner()->PostTaskAndReply(
+ FROM_HERE,
+ base::Bind(&HistoryBackendMock::NotifyAddVisit,
+ base::Unretained(history_backend_.get()),
+ transition,
+ row,
+ redirects,
+ visit_time),
+ base::Bind(&base::MessageLoop::QuitNow,
+ base::Unretained(base::MessageLoop::current())));
+ base::MessageLoop::current()->Run();
+ }
+
static bool URLsEqual(history::URLRow& lhs, history::URLRow& rhs) {
// Only verify the fields we explicitly sync (i.e. don't verify typed_count
// or visit_count because we rely on the history DB to manage those values
@@ -702,14 +721,7 @@ TEST_F(ProfileSyncServiceTypedUrlTest, ProcessUserChangeAddFromVisit) {
CreateRootHelper create_root(this, syncer::TYPED_URLS);
StartSyncService(create_root.callback());
- history::URLVisitedDetails details;
- details.row = added_entry;
- details.transition = ui::PAGE_TRANSITION_TYPED;
- scoped_refptr<ThreadNotifier> notifier(
- new ThreadNotifier(history_thread_.get()));
- notifier->Notify(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- content::Source<Profile>(profile_),
- content::Details<history::URLVisitedDetails>(&details));
+ SendNotificationAddVisit(ui::PAGE_TRANSITION_TYPED, added_entry);
history::URLRows new_sync_entries;
GetTypedUrlsFromSyncDB(&new_sync_entries);
@@ -741,14 +753,7 @@ TEST_F(ProfileSyncServiceTypedUrlTest, ProcessUserChangeUpdateFromVisit) {
WillOnce(DoAll(SetArgumentPointee<2>(updated_visits),
Return(true)));
- history::URLVisitedDetails details;
- details.row = updated_entry;
- details.transition = ui::PAGE_TRANSITION_TYPED;
- scoped_refptr<ThreadNotifier> notifier(
- new ThreadNotifier(history_thread_.get()));
- notifier->Notify(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- content::Source<Profile>(profile_),
- content::Details<history::URLVisitedDetails>(&details));
+ SendNotificationAddVisit(ui::PAGE_TRANSITION_TYPED, updated_entry);
history::URLRows new_sync_entries;
GetTypedUrlsFromSyncDB(&new_sync_entries);
@@ -780,17 +785,9 @@ TEST_F(ProfileSyncServiceTypedUrlTest, ProcessUserIgnoreChangeUpdateFromVisit) {
history::URLRow updated_entry(MakeTypedUrlEntry("http://mine.com", "entry",
7, 15, false,
&updated_visits));
- history::URLVisitedDetails details;
- details.row = updated_entry;
// Should ignore this change because it's not TYPED.
- details.transition = ui::PAGE_TRANSITION_RELOAD;
- scoped_refptr<ThreadNotifier> notifier(
- new ThreadNotifier(history_thread_.get()));
- notifier->Notify(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- content::Source<Profile>(profile_),
- content::Details<history::URLVisitedDetails>(&details));
-
+ SendNotificationAddVisit(ui::PAGE_TRANSITION_RELOAD, updated_entry);
GetTypedUrlsFromSyncDB(&new_sync_entries);
// Should be no changes to the sync DB from this notification.
@@ -802,12 +799,9 @@ TEST_F(ProfileSyncServiceTypedUrlTest, ProcessUserIgnoreChangeUpdateFromVisit) {
history::URLRow twelve_visits(MakeTypedUrlEntry("http://mine.com", "entry",
12, 15, false,
&updated_visits));
- details.row = twelve_visits;
- details.transition = ui::PAGE_TRANSITION_TYPED;
- notifier->Notify(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- content::Source<Profile>(profile_),
- content::Details<history::URLVisitedDetails>(&details));
+ SendNotificationAddVisit(ui::PAGE_TRANSITION_TYPED, twelve_visits);
GetTypedUrlsFromSyncDB(&new_sync_entries);
+
// Should be no changes to the sync DB from this notification.
ASSERT_EQ(1U, new_sync_entries.size());
EXPECT_TRUE(URLsEqual(original_entry, new_sync_entries[0]));
@@ -817,12 +811,9 @@ TEST_F(ProfileSyncServiceTypedUrlTest, ProcessUserIgnoreChangeUpdateFromVisit) {
history::URLRow twenty_visits(MakeTypedUrlEntry("http://mine.com", "entry",
20, 15, false,
&updated_visits));
- details.row = twenty_visits;
- details.transition = ui::PAGE_TRANSITION_TYPED;
- notifier->Notify(chrome::NOTIFICATION_HISTORY_URL_VISITED,
- content::Source<Profile>(profile_),
- content::Details<history::URLVisitedDetails>(&details));
+ SendNotificationAddVisit(ui::PAGE_TRANSITION_TYPED, twenty_visits);
GetTypedUrlsFromSyncDB(&new_sync_entries);
+
ASSERT_EQ(1U, new_sync_entries.size());
EXPECT_TRUE(URLsEqual(twenty_visits, new_sync_entries[0]));
}
« no previous file with comments | « chrome/browser/sync/glue/typed_url_change_processor.cc ('k') | chrome/test/base/testing_profile.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698