Index: chrome/browser/sync/backend_migrator_unittest.cc |
diff --git a/chrome/browser/sync/backend_migrator_unittest.cc b/chrome/browser/sync/backend_migrator_unittest.cc |
index 873e844d835379b01311e1825b5c164816413aa8..c52f1a5768f1839ce1eebe5e51e5c2360046e3de 100644 |
--- a/chrome/browser/sync/backend_migrator_unittest.cc |
+++ b/chrome/browser/sync/backend_migrator_unittest.cc |
@@ -12,6 +12,7 @@ |
#include "chrome/browser/sync/protocol/sync.pb.h" |
#include "chrome/browser/sync/sessions/session_state.h" |
#include "chrome/browser/sync/syncable/directory_manager.h" |
+#include "chrome/browser/sync/syncable/model_type_test_util.h" |
#include "chrome/browser/sync/test/engine/test_user_share.h" |
#include "chrome/common/chrome_notification_types.h" |
#include "testing/gmock/include/gmock/gmock.h" |
@@ -22,7 +23,6 @@ using ::testing::Eq; |
using ::testing::Mock; |
using ::testing::NiceMock; |
using ::testing::Return; |
-using ::testing::SetArgumentPointee; |
namespace browser_sync { |
@@ -39,17 +39,17 @@ class BackendMigratorTest : public testing::Test { |
test_user_share_.SetUp(); |
Mock::VerifyAndClear(manager()); |
Mock::VerifyAndClear(&service_); |
- preferred_types_.insert(syncable::BOOKMARKS); |
- preferred_types_.insert(syncable::PREFERENCES); |
- preferred_types_.insert(syncable::AUTOFILL); |
+ preferred_types_.Put(syncable::BOOKMARKS); |
+ preferred_types_.Put(syncable::PREFERENCES); |
+ preferred_types_.Put(syncable::AUTOFILL); |
- ON_CALL(service_, GetPreferredDataTypes(_)). |
- WillByDefault(SetArgumentPointee<0>(preferred_types_)); |
+ ON_CALL(service_, GetPreferredDataTypes()). |
+ WillByDefault(Return(preferred_types_)); |
migrator_.reset( |
new BackendMigrator( |
"Profile0", test_user_share_.user_share(), service(), manager())); |
- SetUnsyncedTypes(syncable::ModelTypeSet()); |
+ SetUnsyncedTypes(syncable::ModelEnumSet()); |
} |
virtual void TearDown() { |
@@ -59,14 +59,14 @@ class BackendMigratorTest : public testing::Test { |
// Marks all types in |unsynced_types| as unsynced and all other |
// types as synced. |
- void SetUnsyncedTypes(const syncable::ModelTypeSet& unsynced_types) { |
+ void SetUnsyncedTypes(syncable::ModelEnumSet unsynced_types) { |
sync_api::WriteTransaction trans(FROM_HERE, |
test_user_share_.user_share()); |
for (int i = syncable::FIRST_REAL_MODEL_TYPE; |
i < syncable::MODEL_TYPE_COUNT; ++i) { |
syncable::ModelType type = syncable::ModelTypeFromInt(i); |
sync_pb::DataTypeProgressMarker progress_marker; |
- if (unsynced_types.count(type) == 0) { |
+ if (!unsynced_types.Has(type)) { |
progress_marker.set_token("dummy"); |
} |
trans.GetLookup()->SetDownloadProgress(type, progress_marker); |
@@ -74,7 +74,7 @@ class BackendMigratorTest : public testing::Test { |
} |
void SendConfigureDone(DataTypeManager::ConfigureStatus status, |
- const syncable::ModelTypeSet& requested_types) { |
+ syncable::ModelEnumSet requested_types) { |
if (status == DataTypeManager::OK) { |
DataTypeManager::ConfigureResult result(status, requested_types); |
content::NotificationService::current()->Notify( |
@@ -97,19 +97,19 @@ class BackendMigratorTest : public testing::Test { |
ProfileSyncService* service() { return &service_; } |
DataTypeManagerMock* manager() { return &manager_; } |
- const syncable::ModelTypeSet& preferred_types() { return preferred_types_; } |
+ syncable::ModelEnumSet preferred_types() { return preferred_types_; } |
BackendMigrator* migrator() { return migrator_.get(); } |
void RemovePreferredType(syncable::ModelType type) { |
- preferred_types_.erase(type); |
+ preferred_types_.Remove(type); |
Mock::VerifyAndClear(&service_); |
- ON_CALL(service_, GetPreferredDataTypes(_)). |
- WillByDefault(SetArgumentPointee<0>(preferred_types_)); |
+ ON_CALL(service_, GetPreferredDataTypes()). |
+ WillByDefault(Return(preferred_types_)); |
} |
private: |
scoped_ptr<SyncSessionSnapshot> snap_; |
MessageLoop message_loop_; |
- syncable::ModelTypeSet preferred_types_; |
+ syncable::ModelEnumSet preferred_types_; |
NiceMock<ProfileSyncServiceMock> service_; |
NiceMock<DataTypeManagerMock> manager_; |
TestUserShare test_user_share_; |
@@ -130,10 +130,10 @@ TEST_F(BackendMigratorTest, Sanity) { |
migrator()->AddMigrationObserver(&migration_observer); |
EXPECT_CALL(migration_observer, OnMigrationStateChange()).Times(4); |
- syncable::ModelTypeSet to_migrate, difference; |
- to_migrate.insert(syncable::PREFERENCES); |
- difference.insert(syncable::AUTOFILL); |
- difference.insert(syncable::BOOKMARKS); |
+ syncable::ModelEnumSet to_migrate, difference; |
+ to_migrate.Put(syncable::PREFERENCES); |
+ difference.Put(syncable::AUTOFILL); |
+ difference.Put(syncable::BOOKMARKS); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
@@ -147,7 +147,7 @@ TEST_F(BackendMigratorTest, Sanity) { |
SendConfigureDone(DataTypeManager::OK, difference); |
EXPECT_EQ(BackendMigrator::REENABLING_TYPES, migrator()->state()); |
- SetUnsyncedTypes(syncable::ModelTypeSet()); |
+ SetUnsyncedTypes(syncable::ModelEnumSet()); |
SendConfigureDone(DataTypeManager::OK, preferred_types()); |
EXPECT_EQ(BackendMigrator::IDLE, migrator()->state()); |
@@ -157,10 +157,10 @@ TEST_F(BackendMigratorTest, Sanity) { |
// Test that in the normal case with Nigori a migration transitions through |
// each state and wind up back in IDLE. |
TEST_F(BackendMigratorTest, MigrateNigori) { |
- syncable::ModelTypeSet to_migrate, difference; |
- to_migrate.insert(syncable::NIGORI); |
- difference.insert(syncable::AUTOFILL); |
- difference.insert(syncable::BOOKMARKS); |
+ syncable::ModelEnumSet to_migrate, difference; |
+ to_migrate.Put(syncable::NIGORI); |
+ difference.Put(syncable::AUTOFILL); |
+ difference.Put(syncable::BOOKMARKS); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
@@ -175,7 +175,7 @@ TEST_F(BackendMigratorTest, MigrateNigori) { |
SendConfigureDone(DataTypeManager::OK, difference); |
EXPECT_EQ(BackendMigrator::REENABLING_TYPES, migrator()->state()); |
- SetUnsyncedTypes(syncable::ModelTypeSet()); |
+ SetUnsyncedTypes(syncable::ModelEnumSet()); |
SendConfigureDone(DataTypeManager::OK, preferred_types()); |
EXPECT_EQ(BackendMigrator::IDLE, migrator()->state()); |
} |
@@ -184,8 +184,8 @@ TEST_F(BackendMigratorTest, MigrateNigori) { |
// Test that the migrator waits for the data type manager to be idle before |
// starting a migration. |
TEST_F(BackendMigratorTest, WaitToStart) { |
- syncable::ModelTypeSet to_migrate; |
- to_migrate.insert(syncable::PREFERENCES); |
+ syncable::ModelEnumSet to_migrate; |
+ to_migrate.Put(syncable::PREFERENCES); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURING)); |
@@ -197,8 +197,8 @@ TEST_F(BackendMigratorTest, WaitToStart) { |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
EXPECT_CALL(*manager(), Configure(_, sync_api::CONFIGURE_REASON_MIGRATION)); |
- SetUnsyncedTypes(syncable::ModelTypeSet()); |
- SendConfigureDone(DataTypeManager::OK, syncable::ModelTypeSet()); |
+ SetUnsyncedTypes(syncable::ModelEnumSet()); |
+ SendConfigureDone(DataTypeManager::OK, syncable::ModelEnumSet()); |
EXPECT_EQ(BackendMigrator::DISABLING_TYPES, migrator()->state()); |
} |
@@ -206,12 +206,12 @@ TEST_F(BackendMigratorTest, WaitToStart) { |
// Test that the migrator can cope with a migration request while a migration |
// is in progress. |
TEST_F(BackendMigratorTest, RestartMigration) { |
- syncable::ModelTypeSet to_migrate1, to_migrate2, to_migrate_union, bookmarks; |
- to_migrate1.insert(syncable::PREFERENCES); |
- to_migrate2.insert(syncable::AUTOFILL); |
- to_migrate_union.insert(syncable::PREFERENCES); |
- to_migrate_union.insert(syncable::AUTOFILL); |
- bookmarks.insert(syncable::BOOKMARKS); |
+ syncable::ModelEnumSet to_migrate1, to_migrate2, to_migrate_union, bookmarks; |
+ to_migrate1.Put(syncable::PREFERENCES); |
+ to_migrate2.Put(syncable::AUTOFILL); |
+ to_migrate_union.Put(syncable::PREFERENCES); |
+ to_migrate_union.Put(syncable::AUTOFILL); |
+ bookmarks.Put(syncable::BOOKMARKS); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
@@ -222,10 +222,8 @@ TEST_F(BackendMigratorTest, RestartMigration) { |
EXPECT_EQ(BackendMigrator::DISABLING_TYPES, migrator()->state()); |
migrator()->MigrateTypes(to_migrate2); |
- syncable::ModelTypeSet difference1; |
- std::set_difference(preferred_types().begin(), preferred_types().end(), |
- to_migrate1.begin(), to_migrate1.end(), |
- std::inserter(difference1, difference1.end())); |
+ const syncable::ModelEnumSet difference1 = |
+ Difference(preferred_types(), to_migrate1); |
Mock::VerifyAndClearExpectations(manager()); |
EXPECT_CALL(*manager(), Configure(_, sync_api::CONFIGURE_REASON_MIGRATION)) |
@@ -242,23 +240,23 @@ TEST_F(BackendMigratorTest, RestartMigration) { |
// Test that an external invocation of Configure(...) during a migration results |
// in a migration reattempt. |
TEST_F(BackendMigratorTest, InterruptedWhileDisablingTypes) { |
- syncable::ModelTypeSet to_migrate; |
- syncable::ModelTypeSet difference; |
- to_migrate.insert(syncable::PREFERENCES); |
- difference.insert(syncable::AUTOFILL); |
- difference.insert(syncable::BOOKMARKS); |
+ syncable::ModelEnumSet to_migrate; |
+ syncable::ModelEnumSet difference; |
+ to_migrate.Put(syncable::PREFERENCES); |
+ difference.Put(syncable::AUTOFILL); |
+ difference.Put(syncable::BOOKMARKS); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
- EXPECT_CALL(*manager(), Configure(difference, |
+ EXPECT_CALL(*manager(), Configure(HasModelTypes(difference), |
sync_api::CONFIGURE_REASON_MIGRATION)); |
migrator()->MigrateTypes(to_migrate); |
EXPECT_EQ(BackendMigrator::DISABLING_TYPES, migrator()->state()); |
Mock::VerifyAndClearExpectations(manager()); |
- EXPECT_CALL(*manager(), Configure(difference, |
+ EXPECT_CALL(*manager(), Configure(HasModelTypes(difference), |
sync_api::CONFIGURE_REASON_MIGRATION)); |
- SetUnsyncedTypes(syncable::ModelTypeSet()); |
+ SetUnsyncedTypes(syncable::ModelEnumSet()); |
SendConfigureDone(DataTypeManager::OK, preferred_types()); |
EXPECT_EQ(BackendMigrator::DISABLING_TYPES, migrator()->state()); |
@@ -268,10 +266,10 @@ TEST_F(BackendMigratorTest, InterruptedWhileDisablingTypes) { |
// migrator while it's waiting for disabled types to have been purged |
// from the sync db. |
TEST_F(BackendMigratorTest, WaitingForPurge) { |
- syncable::ModelTypeSet to_migrate, difference; |
- to_migrate.insert(syncable::PREFERENCES); |
- to_migrate.insert(syncable::AUTOFILL); |
- difference.insert(syncable::BOOKMARKS); |
+ syncable::ModelEnumSet to_migrate, difference; |
+ to_migrate.Put(syncable::PREFERENCES); |
+ to_migrate.Put(syncable::AUTOFILL); |
+ difference.Put(syncable::BOOKMARKS); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
@@ -284,8 +282,8 @@ TEST_F(BackendMigratorTest, WaitingForPurge) { |
SendConfigureDone(DataTypeManager::OK, difference); |
EXPECT_EQ(BackendMigrator::DISABLING_TYPES, migrator()->state()); |
- syncable::ModelTypeSet prefs; |
- prefs.insert(syncable::PREFERENCES); |
+ syncable::ModelEnumSet prefs; |
+ prefs.Put(syncable::PREFERENCES); |
SetUnsyncedTypes(prefs); |
SendConfigureDone(DataTypeManager::OK, difference); |
EXPECT_EQ(BackendMigrator::DISABLING_TYPES, migrator()->state()); |
@@ -296,8 +294,8 @@ TEST_F(BackendMigratorTest, WaitingForPurge) { |
} |
TEST_F(BackendMigratorTest, MigratedTypeDisabledByUserDuringMigration) { |
- syncable::ModelTypeSet to_migrate; |
- to_migrate.insert(syncable::PREFERENCES); |
+ syncable::ModelEnumSet to_migrate; |
+ to_migrate.Put(syncable::PREFERENCES); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
@@ -309,22 +307,22 @@ TEST_F(BackendMigratorTest, MigratedTypeDisabledByUserDuringMigration) { |
SetUnsyncedTypes(to_migrate); |
SendConfigureDone(DataTypeManager::OK, preferred_types()); |
EXPECT_EQ(BackendMigrator::REENABLING_TYPES, migrator()->state()); |
- SetUnsyncedTypes(syncable::ModelTypeSet()); |
+ SetUnsyncedTypes(syncable::ModelEnumSet()); |
SendConfigureDone(DataTypeManager::OK, preferred_types()); |
EXPECT_EQ(BackendMigrator::IDLE, migrator()->state()); |
} |
TEST_F(BackendMigratorTest, ConfigureFailure) { |
- syncable::ModelTypeSet to_migrate; |
- to_migrate.insert(syncable::PREFERENCES); |
+ syncable::ModelEnumSet to_migrate; |
+ to_migrate.Put(syncable::PREFERENCES); |
EXPECT_CALL(*manager(), state()) |
.WillOnce(Return(DataTypeManager::CONFIGURED)); |
EXPECT_CALL(*manager(), Configure(_, sync_api::CONFIGURE_REASON_MIGRATION)) |
.Times(1); |
migrator()->MigrateTypes(to_migrate); |
- SetUnsyncedTypes(syncable::ModelTypeSet()); |
- SendConfigureDone(DataTypeManager::ABORTED, syncable::ModelTypeSet()); |
+ SetUnsyncedTypes(syncable::ModelEnumSet()); |
+ SendConfigureDone(DataTypeManager::ABORTED, syncable::ModelEnumSet()); |
EXPECT_EQ(BackendMigrator::IDLE, migrator()->state()); |
} |