| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 } | 183 } |
| 184 | 184 |
| 185 void WaitForDTC() { | 185 void WaitForDTC() { |
| 186 WaitableEvent done(true, false); | 186 WaitableEvent done(true, false); |
| 187 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, | 187 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, |
| 188 base::Bind(&SyncNonFrontendDataTypeControllerTest::SignalDone, &done)); | 188 base::Bind(&SyncNonFrontendDataTypeControllerTest::SignalDone, &done)); |
| 189 done.TimedWait(TestTimeouts::action_timeout()); | 189 done.TimedWait(TestTimeouts::action_timeout()); |
| 190 if (!done.IsSignaled()) { | 190 if (!done.IsSignaled()) { |
| 191 ADD_FAILURE() << "Timed out waiting for DB thread to finish."; | 191 ADD_FAILURE() << "Timed out waiting for DB thread to finish."; |
| 192 } | 192 } |
| 193 MessageLoop::current()->RunUntilIdle(); | 193 base::MessageLoop::current()->RunUntilIdle(); |
| 194 } | 194 } |
| 195 | 195 |
| 196 void Start() { | 196 void Start() { |
| 197 non_frontend_dtc_->LoadModels( | 197 non_frontend_dtc_->LoadModels( |
| 198 base::Bind(&ModelLoadCallbackMock::Run, | 198 base::Bind(&ModelLoadCallbackMock::Run, |
| 199 base::Unretained(&model_load_callback_))); | 199 base::Unretained(&model_load_callback_))); |
| 200 non_frontend_dtc_->StartAssociating( | 200 non_frontend_dtc_->StartAssociating( |
| 201 base::Bind(&StartCallbackMock::Run, | 201 base::Bind(&StartCallbackMock::Run, |
| 202 base::Unretained(&start_callback_))); | 202 base::Unretained(&start_callback_))); |
| 203 } | 203 } |
| 204 | 204 |
| 205 MessageLoopForUI message_loop_; | 205 base::MessageLoopForUI message_loop_; |
| 206 content::TestBrowserThread ui_thread_; | 206 content::TestBrowserThread ui_thread_; |
| 207 content::TestBrowserThread db_thread_; | 207 content::TestBrowserThread db_thread_; |
| 208 scoped_refptr<NonFrontendDataTypeControllerFake> non_frontend_dtc_; | 208 scoped_refptr<NonFrontendDataTypeControllerFake> non_frontend_dtc_; |
| 209 scoped_ptr<ProfileSyncComponentsFactoryMock> profile_sync_factory_; | 209 scoped_ptr<ProfileSyncComponentsFactoryMock> profile_sync_factory_; |
| 210 scoped_refptr<NonFrontendDataTypeControllerMock> dtc_mock_; | 210 scoped_refptr<NonFrontendDataTypeControllerMock> dtc_mock_; |
| 211 ProfileMock profile_; | 211 ProfileMock profile_; |
| 212 ProfileSyncServiceMock service_; | 212 ProfileSyncServiceMock service_; |
| 213 ModelAssociatorMock* model_associator_; | 213 ModelAssociatorMock* model_associator_; |
| 214 ChangeProcessorMock* change_processor_; | 214 ChangeProcessorMock* change_processor_; |
| 215 StartCallbackMock start_callback_; | 215 StartCallbackMock start_callback_; |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 EXPECT_EQ(DataTypeController::RUNNING, non_frontend_dtc_->state()); | 379 EXPECT_EQ(DataTypeController::RUNNING, non_frontend_dtc_->state()); |
| 380 // This should cause non_frontend_dtc_->Stop() to be called. | 380 // This should cause non_frontend_dtc_->Stop() to be called. |
| 381 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, base::Bind( | 381 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, base::Bind( |
| 382 &NonFrontendDataTypeControllerFake::OnSingleDatatypeUnrecoverableError, | 382 &NonFrontendDataTypeControllerFake::OnSingleDatatypeUnrecoverableError, |
| 383 non_frontend_dtc_.get(), | 383 non_frontend_dtc_.get(), |
| 384 FROM_HERE, | 384 FROM_HERE, |
| 385 std::string("Test"))); | 385 std::string("Test"))); |
| 386 WaitForDTC(); | 386 WaitForDTC(); |
| 387 EXPECT_EQ(DataTypeController::NOT_RUNNING, non_frontend_dtc_->state()); | 387 EXPECT_EQ(DataTypeController::NOT_RUNNING, non_frontend_dtc_->state()); |
| 388 } | 388 } |
| OLD | NEW |