| Index: trunk/src/chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc (revision 289111)
|
| +++ trunk/src/chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc (working copy)
|
| @@ -335,3 +335,21 @@
|
| bookmark_dtc_->Stop();
|
| EXPECT_EQ(DataTypeController::NOT_RUNNING, bookmark_dtc_->state());
|
| }
|
| +
|
| +TEST_F(SyncBookmarkDataTypeControllerTest, OnSingleDatatypeUnrecoverableError) {
|
| + CreateBookmarkModel(LOAD_MODEL);
|
| + SetStartExpectations();
|
| + SetAssociateExpectations();
|
| + EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)).
|
| + WillRepeatedly(DoAll(SetArgumentPointee<0>(true), Return(true)));
|
| + EXPECT_CALL(service_, DisableDatatype(_)).
|
| + WillOnce(InvokeWithoutArgs(bookmark_dtc_.get(),
|
| + &BookmarkDataTypeController::Stop));
|
| + SetStopExpectations();
|
| +
|
| + EXPECT_CALL(start_callback_, Run(DataTypeController::OK, _, _));
|
| + Start();
|
| + // This should cause bookmark_dtc_->Stop() to be called.
|
| + bookmark_dtc_->OnSingleDatatypeUnrecoverableError(FROM_HERE, "Test");
|
| + base::RunLoop().RunUntilIdle();
|
| +}
|
|
|