| Index: sync/internal_api/syncapi_unittest.cc
|
| diff --git a/sync/internal_api/syncapi_unittest.cc b/sync/internal_api/syncapi_unittest.cc
|
| index 0ae11dc37b8a99cfc3a47e06794a2b09056b40f0..b22b58585c2c95cbe4a4649b64f34590ececabce 100644
|
| --- a/sync/internal_api/syncapi_unittest.cc
|
| +++ b/sync/internal_api/syncapi_unittest.cc
|
| @@ -2567,4 +2567,46 @@ TEST_F(SyncManagerTest, ConfigurationRetry) {
|
| EXPECT_EQ(new_routing_info, params.routing_info);
|
| }
|
|
|
| +// Test that PurgePartiallySyncedTypes purges only those types that don't
|
| +// have empty progress marker and don't have initial sync ended set.
|
| +TEST_F(SyncManagerTest, PurgePartiallySyncedTypes) {
|
| + UserShare* share = sync_manager_.GetUserShare();
|
| +
|
| + // Set Nigori and Bookmarks to be partial types.
|
| + sync_pb::DataTypeProgressMarker nigori_marker;
|
| + nigori_marker.set_data_type_id(
|
| + GetSpecificsFieldNumberFromModelType(NIGORI));
|
| + nigori_marker.set_token("token");
|
| + sync_pb::DataTypeProgressMarker bookmark_marker;
|
| + bookmark_marker.set_data_type_id(
|
| + GetSpecificsFieldNumberFromModelType(BOOKMARKS));
|
| + bookmark_marker.set_token("token");
|
| + share->directory->SetDownloadProgress(NIGORI, nigori_marker);
|
| + share->directory->SetDownloadProgress(BOOKMARKS, bookmark_marker);
|
| +
|
| + // Set Preferences to be a full type.
|
| + sync_pb::DataTypeProgressMarker pref_marker;
|
| + pref_marker.set_data_type_id(
|
| + GetSpecificsFieldNumberFromModelType(PREFERENCES));
|
| + pref_marker.set_token("token");
|
| + share->directory->SetDownloadProgress(PREFERENCES, pref_marker);
|
| + share->directory->set_initial_sync_ended_for_type(PREFERENCES, true);
|
| +
|
| + ModelTypeSet partial_types =
|
| + sync_manager_.GetTypesWithEmptyProgressMarkerToken(ModelTypeSet::All());
|
| + EXPECT_FALSE(partial_types.Has(NIGORI));
|
| + EXPECT_FALSE(partial_types.Has(BOOKMARKS));
|
| + EXPECT_FALSE(partial_types.Has(PREFERENCES));
|
| +
|
| + EXPECT_TRUE(sync_manager_.PurgePartiallySyncedTypes());
|
| +
|
| + // Ensure only bookmarks and nigori lost their progress marker. Preferences
|
| + // should still have it.
|
| + partial_types =
|
| + sync_manager_.GetTypesWithEmptyProgressMarkerToken(ModelTypeSet::All());
|
| + EXPECT_TRUE(partial_types.Has(NIGORI));
|
| + EXPECT_TRUE(partial_types.Has(BOOKMARKS));
|
| + EXPECT_FALSE(partial_types.Has(PREFERENCES));
|
| +}
|
| +
|
| } // namespace
|
|
|