| Index: components/sync_sessions/session_data_type_controller_unittest.cc
|
| diff --git a/components/sync_sessions/session_data_type_controller_unittest.cc b/components/sync_sessions/session_data_type_controller_unittest.cc
|
| index 0909d84ec98e042a51a773c986adde3922a959ac..693c3091bc20118244f04231bd647fc2656dd03c 100644
|
| --- a/components/sync_sessions/session_data_type_controller_unittest.cc
|
| +++ b/components/sync_sessions/session_data_type_controller_unittest.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "components/sync_sessions/session_data_type_controller.h"
|
|
|
| +#include <set>
|
| +
|
| #include "base/bind.h"
|
| #include "base/callback.h"
|
| #include "base/files/file_path.h"
|
| @@ -99,8 +101,7 @@ class SessionDataTypeControllerTest : public testing::Test,
|
| SessionDataTypeControllerTest()
|
| : sync_driver::FakeSyncClient(&profile_sync_factory_),
|
| load_finished_(false),
|
| - last_type_(syncer::UNSPECIFIED),
|
| - weak_ptr_factory_(this) {}
|
| + last_type_(syncer::UNSPECIFIED) {}
|
| ~SessionDataTypeControllerTest() override {}
|
|
|
| // FakeSyncClient overrides.
|
| @@ -125,30 +126,22 @@ class SessionDataTypeControllerTest : public testing::Test,
|
| "cache_guid", "Wayne Gretzky's Hacking Box", "Chromium 10k",
|
| "Chrome 10k", sync_pb::SyncEnums_DeviceType_TYPE_LINUX, "device_id"));
|
|
|
| - controller_ = new SessionDataTypeController(
|
| - base::ThreadTaskRunnerHandle::Get(), base::Bind(&base::DoNothing), this,
|
| - local_device_.get(), kSavingBrowserHistoryDisabled);
|
| + controller_.reset(new SessionDataTypeController(
|
| + base::Bind(&base::DoNothing), this, local_device_.get(),
|
| + kSavingBrowserHistoryDisabled));
|
|
|
| load_finished_ = false;
|
| last_type_ = syncer::UNSPECIFIED;
|
| last_error_ = syncer::SyncError();
|
| }
|
|
|
| - void TearDown() override {
|
| - controller_ = NULL;
|
| - local_device_.reset();
|
| - synced_window_getter_.reset();
|
| - synced_window_delegate_.reset();
|
| - sync_sessions_client_.reset();
|
| - }
|
| -
|
| void Start() {
|
| controller_->LoadModels(
|
| base::Bind(&SessionDataTypeControllerTest::OnLoadFinished,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| + base::Unretained(this)));
|
| }
|
|
|
| - void OnLoadFinished(syncer::ModelType type, syncer::SyncError error) {
|
| + void OnLoadFinished(syncer::ModelType type, const syncer::SyncError& error) {
|
| load_finished_ = true;
|
| last_type_ = type;
|
| last_error_ = error;
|
| @@ -174,6 +167,10 @@ class SessionDataTypeControllerTest : public testing::Test,
|
| return testing::AssertionSuccess();
|
| }
|
|
|
| + bool load_finished() const { return load_finished_; }
|
| + LocalDeviceInfoProviderMock* local_device() { return local_device_.get(); }
|
| + SessionDataTypeController* controller() { return controller_.get(); }
|
| +
|
| protected:
|
| void SetSessionRestoreInProgress(bool is_restore_in_progress) {
|
| synced_window_delegate_->SetSessionRestoreInProgress(
|
| @@ -183,92 +180,91 @@ class SessionDataTypeControllerTest : public testing::Test,
|
| controller_->OnSessionRestoreComplete();
|
| }
|
|
|
| - scoped_refptr<SessionDataTypeController> controller_;
|
| - std::unique_ptr<MockSyncedWindowDelegatesGetter> synced_window_getter_;
|
| - std::unique_ptr<LocalDeviceInfoProviderMock> local_device_;
|
| - std::unique_ptr<MockSyncedWindowDelegate> synced_window_delegate_;
|
| - std::unique_ptr<TestSyncSessionsClient> sync_sessions_client_;
|
| - bool load_finished_;
|
| -
|
| private:
|
| base::MessageLoop message_loop_;
|
| TestingPrefServiceSimple prefs_;
|
| + std::unique_ptr<MockSyncedWindowDelegate> synced_window_delegate_;
|
| + std::unique_ptr<MockSyncedWindowDelegatesGetter> synced_window_getter_;
|
| SyncApiComponentFactoryMock profile_sync_factory_;
|
| + std::unique_ptr<TestSyncSessionsClient> sync_sessions_client_;
|
| + std::unique_ptr<LocalDeviceInfoProviderMock> local_device_;
|
| + std::unique_ptr<SessionDataTypeController> controller_;
|
| +
|
| + bool load_finished_;
|
| syncer::ModelType last_type_;
|
| syncer::SyncError last_error_;
|
| - base::WeakPtrFactory<SessionDataTypeControllerTest> weak_ptr_factory_;
|
| };
|
|
|
| TEST_F(SessionDataTypeControllerTest, StartModels) {
|
| Start();
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_LOADED,
|
| - controller_->state());
|
| + controller()->state());
|
| EXPECT_TRUE(LoadResult());
|
| }
|
|
|
| TEST_F(SessionDataTypeControllerTest, StartModelsDelayedByLocalDevice) {
|
| - local_device_->SetInitialized(false);
|
| + local_device()->SetInitialized(false);
|
| Start();
|
| - EXPECT_FALSE(load_finished_);
|
| + EXPECT_FALSE(load_finished());
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
|
| - controller_->state());
|
| + controller()->state());
|
|
|
| - local_device_->SetInitialized(true);
|
| + local_device()->SetInitialized(true);
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_LOADED,
|
| - controller_->state());
|
| + controller()->state());
|
| EXPECT_TRUE(LoadResult());
|
| }
|
|
|
| TEST_F(SessionDataTypeControllerTest, StartModelsDelayedByRestoreInProgress) {
|
| SetSessionRestoreInProgress(true);
|
| Start();
|
| - EXPECT_FALSE(load_finished_);
|
| + EXPECT_FALSE(load_finished());
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
|
| - controller_->state());
|
| + controller()->state());
|
|
|
| SetSessionRestoreInProgress(false);
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_LOADED,
|
| - controller_->state());
|
| + controller()->state());
|
| EXPECT_TRUE(LoadResult());
|
| }
|
|
|
| TEST_F(SessionDataTypeControllerTest,
|
| StartModelsDelayedByLocalDeviceThenRestoreInProgress) {
|
| - local_device_->SetInitialized(false);
|
| + local_device()->SetInitialized(false);
|
| SetSessionRestoreInProgress(true);
|
| Start();
|
| - EXPECT_FALSE(load_finished_);
|
| + EXPECT_FALSE(load_finished());
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
|
| - controller_->state());
|
| + controller()->state());
|
|
|
| - local_device_->SetInitialized(true);
|
| - EXPECT_FALSE(load_finished_);
|
| + local_device()->SetInitialized(true);
|
| + EXPECT_FALSE(load_finished());
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
|
| - controller_->state());
|
| + controller()->state());
|
|
|
| SetSessionRestoreInProgress(false);
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_LOADED,
|
| - controller_->state());
|
| + controller()->state());
|
| EXPECT_TRUE(LoadResult());
|
| }
|
|
|
| TEST_F(SessionDataTypeControllerTest,
|
| StartModelsDelayedByRestoreInProgressThenLocalDevice) {
|
| - local_device_->SetInitialized(false);
|
| + local_device()->SetInitialized(false);
|
| SetSessionRestoreInProgress(true);
|
| Start();
|
| - EXPECT_FALSE(load_finished_);
|
| + EXPECT_FALSE(load_finished());
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
|
| - controller_->state());
|
| + controller()->state());
|
|
|
| SetSessionRestoreInProgress(false);
|
| - EXPECT_FALSE(load_finished_);
|
| + EXPECT_FALSE(load_finished());
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
|
| - controller_->state());
|
| + controller()->state());
|
|
|
| - local_device_->SetInitialized(true);
|
| + local_device()->SetInitialized(true);
|
| EXPECT_EQ(sync_driver::DataTypeController::MODEL_LOADED,
|
| - controller_->state());
|
| + controller()->state());
|
| EXPECT_TRUE(LoadResult());
|
| }
|
|
|
|
|