| 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 432aeb474c2a45b6b64b15826f1e9ec6e2fe9092..4bcd09a7a9c92cec7326dbfafa6a3938e9f293c1 100644
|
| --- a/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
|
| +++ b/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
|
| @@ -682,3 +682,30 @@ TEST_F(ProfileSyncServiceTypedUrlTest, ProcessUserChangeRemoveAll) {
|
| GetTypedUrlsFromSyncDB(&new_sync_entries);
|
| ASSERT_EQ(0U, new_sync_entries.size());
|
| }
|
| +
|
| +TEST_F(ProfileSyncServiceTypedUrlTest, FailWriteToHistoryBackend) {
|
| + history::VisitVector native_visits;
|
| + history::VisitVector sync_visits;
|
| + history::URLRow native_entry(MakeTypedUrlEntry("http://native.com", "entry",
|
| + 2, 15, false, &native_visits));
|
| + history::URLRow sync_entry(MakeTypedUrlEntry("http://sync.com", "entry",
|
| + 3, 16, false, &sync_visits));
|
| +
|
| + std::vector<history::URLRow> native_entries;
|
| + native_entries.push_back(native_entry);
|
| + EXPECT_CALL((*history_backend_.get()), GetAllTypedURLs(_)).
|
| + WillOnce(DoAll(SetArgumentPointee<0>(native_entries), Return(true)));
|
| + EXPECT_CALL((*history_backend_.get()), GetVisitsForURL(_, _)).
|
| + WillRepeatedly(DoAll(SetArgumentPointee<1>(native_visits), Return(true)));
|
| + EXPECT_CALL((*history_backend_.get()),
|
| + AddVisits(_, _, history::SOURCE_SYNCED)).WillRepeatedly(Return(false));
|
| +
|
| + std::vector<history::URLRow> sync_entries;
|
| + sync_entries.push_back(sync_entry);
|
| + AddTypedUrlEntriesTask task(this, sync_entries);
|
| +
|
| + EXPECT_CALL((*history_backend_.get()), UpdateURL(_, _)).
|
| + WillRepeatedly(Return(false));
|
| + StartSyncService(&task);
|
| + ASSERT_TRUE(service_->unrecoverable_error_detected());
|
| +}
|
|
|