| Index: trunk/src/chrome/browser/sync/glue/frontend_data_type_controller_unittest.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/sync/glue/frontend_data_type_controller_unittest.cc (revision 289111)
|
| +++ trunk/src/chrome/browser/sync/glue/frontend_data_type_controller_unittest.cc (working copy)
|
| @@ -255,3 +255,21 @@
|
| frontend_dtc_->Stop();
|
| EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
|
| }
|
| +
|
| +TEST_F(SyncFrontendDataTypeControllerTest, OnSingleDatatypeUnrecoverableError) {
|
| + SetStartExpectations();
|
| + SetAssociateExpectations();
|
| + SetActivateExpectations(DataTypeController::OK);
|
| + EXPECT_CALL(*dtc_mock_.get(), RecordUnrecoverableError(_, "Test"));
|
| + EXPECT_CALL(service_, DisableDatatype(_))
|
| + .WillOnce(InvokeWithoutArgs(frontend_dtc_.get(),
|
| + &FrontendDataTypeController::Stop));
|
| + SetStopExpectations();
|
| + EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
|
| + Start();
|
| + EXPECT_EQ(DataTypeController::RUNNING, frontend_dtc_->state());
|
| + // This should cause frontend_dtc_->Stop() to be called.
|
| + frontend_dtc_->OnSingleDatatypeUnrecoverableError(FROM_HERE, "Test");
|
| + PumpLoop();
|
| + EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
|
| +}
|
|
|