| Index: components/sync/driver/model_association_manager_unittest.cc
|
| diff --git a/components/sync/driver/model_association_manager_unittest.cc b/components/sync/driver/model_association_manager_unittest.cc
|
| index 6965d261413c76479c8c1fa27b86e57cdf0fae5b..5d774391af0b89aaed409f3fdd6540f5d975177f 100644
|
| --- a/components/sync/driver/model_association_manager_unittest.cc
|
| +++ b/components/sync/driver/model_association_manager_unittest.cc
|
| @@ -5,7 +5,9 @@
|
| #include "components/sync/driver/model_association_manager.h"
|
|
|
| #include "base/callback.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/message_loop/message_loop.h"
|
| +#include "base/run_loop.h"
|
| #include "components/sync/driver/fake_data_type_controller.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -58,8 +60,9 @@ class SyncModelAssociationManagerTest : public testing::Test {
|
| // method and calls the callback when it is done.
|
| TEST_F(SyncModelAssociationManagerTest, SimpleModelStart) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| - controllers_[syncer::APPS] = new FakeDataTypeController(syncer::APPS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| + controllers_[syncer::APPS] =
|
| + base::MakeUnique<FakeDataTypeController>(syncer::APPS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types(syncer::BOOKMARKS, syncer::APPS);
|
| DataTypeManager::ConfigureResult expected_result(DataTypeManager::OK, types);
|
| @@ -95,7 +98,7 @@ TEST_F(SyncModelAssociationManagerTest, SimpleModelStart) {
|
| // Start a type and call stop before it finishes associating.
|
| TEST_F(SyncModelAssociationManagerTest, StopModelBeforeFinish) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
|
|
| syncer::ModelTypeSet types;
|
| @@ -121,7 +124,7 @@ TEST_F(SyncModelAssociationManagerTest, StopModelBeforeFinish) {
|
| // Start a type, let it finish and then call stop.
|
| TEST_F(SyncModelAssociationManagerTest, StopAfterFinish) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types;
|
| types.Put(syncer::BOOKMARKS);
|
| @@ -146,7 +149,7 @@ TEST_F(SyncModelAssociationManagerTest, StopAfterFinish) {
|
| // Make a type fail model association and verify correctness.
|
| TEST_F(SyncModelAssociationManagerTest, TypeFailModelAssociation) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types;
|
| types.Put(syncer::BOOKMARKS);
|
| @@ -169,7 +172,7 @@ TEST_F(SyncModelAssociationManagerTest, TypeFailModelAssociation) {
|
| // Ensure configuring stops when a type returns a unrecoverable error.
|
| TEST_F(SyncModelAssociationManagerTest, TypeReturnUnrecoverableError) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types;
|
| types.Put(syncer::BOOKMARKS);
|
| @@ -191,8 +194,9 @@ TEST_F(SyncModelAssociationManagerTest, TypeReturnUnrecoverableError) {
|
|
|
| TEST_F(SyncModelAssociationManagerTest, SlowTypeAsFailedType) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| - controllers_[syncer::APPS] = new FakeDataTypeController(syncer::APPS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| + controllers_[syncer::APPS] =
|
| + base::MakeUnique<FakeDataTypeController>(syncer::APPS);
|
| GetController(controllers_, syncer::BOOKMARKS)->SetDelayModelLoad();
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types;
|
| @@ -219,8 +223,9 @@ TEST_F(SyncModelAssociationManagerTest, SlowTypeAsFailedType) {
|
|
|
| TEST_F(SyncModelAssociationManagerTest, StartMultipleTimes) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| - controllers_[syncer::APPS] = new FakeDataTypeController(syncer::APPS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| + controllers_[syncer::APPS] =
|
| + base::MakeUnique<FakeDataTypeController>(syncer::APPS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types;
|
| types.Put(syncer::BOOKMARKS);
|
| @@ -268,7 +273,7 @@ TEST_F(SyncModelAssociationManagerTest, StartMultipleTimes) {
|
| // is reported and stopped properly.
|
| TEST_F(SyncModelAssociationManagerTest, ModelLoadFailBeforeAssociationStart) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| GetController(controllers_, syncer::BOOKMARKS)
|
| ->SetModelLoadError(syncer::SyncError(
|
| FROM_HERE, syncer::SyncError::DATATYPE_ERROR, "", syncer::BOOKMARKS));
|
| @@ -291,7 +296,7 @@ TEST_F(SyncModelAssociationManagerTest, ModelLoadFailBeforeAssociationStart) {
|
| // Test that a runtime error is handled by stopping the type.
|
| TEST_F(SyncModelAssociationManagerTest, StopAfterConfiguration) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types;
|
| types.Put(syncer::BOOKMARKS);
|
| @@ -314,13 +319,16 @@ TEST_F(SyncModelAssociationManagerTest, StopAfterConfiguration) {
|
| syncer::SyncError error(FROM_HERE, syncer::SyncError::DATATYPE_ERROR, "error",
|
| syncer::BOOKMARKS);
|
| GetController(controllers_, syncer::BOOKMARKS)
|
| - ->OnSingleDataTypeUnrecoverableError(error);
|
| + ->CreateErrorHandler()
|
| + ->OnUnrecoverableError(error);
|
| + base::RunLoop().RunUntilIdle();
|
| }
|
|
|
| TEST_F(SyncModelAssociationManagerTest, AbortDuringAssociation) {
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| - controllers_[syncer::APPS] = new FakeDataTypeController(syncer::APPS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| + controllers_[syncer::APPS] =
|
| + base::MakeUnique<FakeDataTypeController>(syncer::APPS);
|
| ModelAssociationManager model_association_manager(&controllers_, &delegate_);
|
| syncer::ModelTypeSet types;
|
| types.Put(syncer::BOOKMARKS);
|
| @@ -355,8 +363,9 @@ TEST_F(SyncModelAssociationManagerTest, AbortDuringAssociation) {
|
| TEST_F(SyncModelAssociationManagerTest, OnAllDataTypesReadyForConfigure) {
|
| // Create two controllers with delayed model load.
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| - controllers_[syncer::APPS] = new FakeDataTypeController(syncer::APPS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| + controllers_[syncer::APPS] =
|
| + base::MakeUnique<FakeDataTypeController>(syncer::APPS);
|
| GetController(controllers_, syncer::BOOKMARKS)->SetDelayModelLoad();
|
| GetController(controllers_, syncer::APPS)->SetDelayModelLoad();
|
|
|
| @@ -403,7 +412,8 @@ TEST_F(SyncModelAssociationManagerTest, OnAllDataTypesReadyForConfigure) {
|
| // LoadModels fails for one of datatypes.
|
| TEST_F(SyncModelAssociationManagerTest,
|
| OnAllDataTypesReadyForConfigure_FailedLoadModels) {
|
| - controllers_[syncer::APPS] = new FakeDataTypeController(syncer::APPS);
|
| + controllers_[syncer::APPS] =
|
| + base::MakeUnique<FakeDataTypeController>(syncer::APPS);
|
| GetController(controllers_, syncer::APPS)->SetDelayModelLoad();
|
|
|
| // APPS controller requires LoadModels complete before configure.
|
| @@ -442,8 +452,9 @@ TEST_F(SyncModelAssociationManagerTest,
|
| // Create two controllers with delayed model load. Both should block
|
| // configuration.
|
| controllers_[syncer::BOOKMARKS] =
|
| - new FakeDataTypeController(syncer::BOOKMARKS);
|
| - controllers_[syncer::APPS] = new FakeDataTypeController(syncer::APPS);
|
| + base::MakeUnique<FakeDataTypeController>(syncer::BOOKMARKS);
|
| + controllers_[syncer::APPS] =
|
| + base::MakeUnique<FakeDataTypeController>(syncer::APPS);
|
| GetController(controllers_, syncer::BOOKMARKS)->SetDelayModelLoad();
|
| GetController(controllers_, syncer::APPS)->SetDelayModelLoad();
|
|
|
| @@ -478,7 +489,9 @@ TEST_F(SyncModelAssociationManagerTest,
|
| syncer::SyncError error(FROM_HERE, syncer::SyncError::DATATYPE_ERROR, "error",
|
| syncer::APPS);
|
| GetController(controllers_, syncer::APPS)
|
| - ->OnSingleDataTypeUnrecoverableError(error);
|
| + ->CreateErrorHandler()
|
| + ->OnUnrecoverableError(error);
|
| + base::RunLoop().RunUntilIdle();
|
|
|
| testing::Mock::VerifyAndClearExpectations(&delegate_);
|
|
|
|
|