| Index: trunk/src/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc (revision 285001)
|
| +++ trunk/src/chrome/browser/sync/profile_sync_service_typed_url_unittest.cc (working copy)
|
| @@ -111,45 +111,19 @@
|
|
|
| class HistoryServiceMock : public HistoryService {
|
| public:
|
| - HistoryServiceMock(history::HistoryClient* client, Profile* profile)
|
| - : HistoryService(client, profile), backend_(NULL) {}
|
| -
|
| - virtual void ScheduleDBTask(scoped_ptr<history::HistoryDBTask> task,
|
| - base::CancelableTaskTracker* tracker) OVERRIDE {
|
| - history::HistoryDBTask* task_raw = task.get();
|
| - task_runner_->PostTaskAndReply(
|
| - FROM_HERE,
|
| - base::Bind(&HistoryServiceMock::RunTaskOnDBThread,
|
| - base::Unretained(this), task_raw),
|
| - base::Bind(&base::DeletePointer<history::HistoryDBTask>,
|
| - task.release()));
|
| - }
|
| -
|
| + explicit HistoryServiceMock(history::HistoryClient* client, Profile* profile)
|
| + : HistoryService(client, profile) {}
|
| + MOCK_METHOD2(ScheduleDBTask,
|
| + void(scoped_refptr<history::HistoryDBTask>,
|
| + base::CancelableTaskTracker*));
|
| MOCK_METHOD0(Shutdown, void());
|
|
|
| void ShutdownBaseService() {
|
| HistoryService::Shutdown();
|
| }
|
|
|
| - void set_task_runner(
|
| - scoped_refptr<base::SingleThreadTaskRunner> task_runner) {
|
| - DCHECK(task_runner);
|
| - task_runner_ = task_runner;
|
| - }
|
| -
|
| - void set_backend(scoped_refptr<history::HistoryBackend> backend) {
|
| - backend_ = backend;
|
| - }
|
| -
|
| private:
|
| virtual ~HistoryServiceMock() {}
|
| -
|
| - void RunTaskOnDBThread(history::HistoryDBTask* task) {
|
| - EXPECT_TRUE(task->RunOnDBThread(backend_, NULL));
|
| - }
|
| -
|
| - scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| - scoped_refptr<history::HistoryBackend> backend_;
|
| };
|
|
|
| KeyedService* BuildFakeProfileInvalidationProvider(
|
| @@ -177,6 +151,17 @@
|
| virtual void ClearErrorStats() OVERRIDE {}
|
| };
|
|
|
| +void RunOnDBThreadCallback(HistoryBackend* backend,
|
| + scoped_refptr<history::HistoryDBTask> task) {
|
| + task->RunOnDBThread(backend, NULL);
|
| +}
|
| +
|
| +ACTION_P2(RunTaskOnDBThread, thread, backend) {
|
| + thread->message_loop()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&RunOnDBThreadCallback, base::Unretained(backend), arg0));
|
| +}
|
| +
|
| ACTION_P2(ShutdownHistoryService, thread, service) {
|
| service->ShutdownBaseService();
|
| delete thread;
|
| @@ -236,13 +221,14 @@
|
| testing_factories);
|
| invalidation::ProfileInvalidationProviderFactory::GetInstance()->
|
| SetTestingFactory(profile_, BuildFakeProfileInvalidationProvider);
|
| - history_thread_->Start();
|
| history_backend_ = new HistoryBackendMock();
|
| history_service_ = static_cast<HistoryServiceMock*>(
|
| HistoryServiceFactory::GetInstance()->SetTestingFactoryAndUse(
|
| profile_, BuildHistoryService));
|
| - history_service_->set_task_runner(history_thread_->task_runner());
|
| - history_service_->set_backend(history_backend_);
|
| + EXPECT_CALL((*history_service_), ScheduleDBTask(_, _))
|
| + .WillRepeatedly(RunTaskOnDBThread(history_thread_.get(),
|
| + history_backend_.get()));
|
| + history_thread_->Start();
|
| }
|
|
|
| virtual void TearDown() {
|
|
|