| Index: chrome/browser/search_engines/template_url_service_sync_unittest.cc
|
| diff --git a/chrome/browser/search_engines/template_url_service_sync_unittest.cc b/chrome/browser/search_engines/template_url_service_sync_unittest.cc
|
| index dfe9f11a4efbac64c1b39804d98d97ecbfe39f41..b29d1f56e6575f38b368483428e2a6990347cc94 100644
|
| --- a/chrome/browser/search_engines/template_url_service_sync_unittest.cc
|
| +++ b/chrome/browser/search_engines/template_url_service_sync_unittest.cc
|
| @@ -1530,3 +1530,27 @@ TEST_F(TemplateURLServiceSyncTest, DeleteBogusData) {
|
| EXPECT_EQ(SyncChange::ACTION_DELETE,
|
| processor()->change_for_guid(std::string()).change_type());
|
| }
|
| +
|
| +TEST_F(TemplateURLServiceSyncTest, PreSyncDeletes) {
|
| + model()->pre_sync_deletes_.insert("key1");
|
| + model()->pre_sync_deletes_.insert("key2");
|
| + model()->pre_sync_deletes_.insert("aaa");
|
| + model()->Add(CreateTestTemplateURL(ASCIIToUTF16("whatever"),
|
| + "http://key1.com", "bbb"));
|
| + model()->MergeDataAndStartSyncing(syncable::SEARCH_ENGINES,
|
| + CreateInitialSyncData(), PassProcessor(),
|
| + CreateAndPassSyncErrorFactory());
|
| +
|
| + // We expect the model to have GUIDs {bbb, key3} after our initial merge.
|
| + EXPECT_TRUE(model()->GetTemplateURLForGUID("bbb"));
|
| + EXPECT_TRUE(model()->GetTemplateURLForGUID("key3"));
|
| + SyncChange change = processor()->change_for_guid("key1");
|
| + EXPECT_EQ(SyncChange::ACTION_DELETE, change.change_type());
|
| + change = processor()->change_for_guid("key2");
|
| + EXPECT_EQ(SyncChange::ACTION_DELETE, change.change_type());
|
| + // "aaa" should have been pruned out on account of not being from Sync.
|
| + EXPECT_FALSE(processor()->contains_guid("aaa"));
|
| + // The set of pre-sync deletes should be cleared so they're not reused if
|
| + // MergeDataAndStartSyncing gets called again.
|
| + EXPECT_TRUE(model()->pre_sync_deletes_.empty());
|
| +}
|
|
|