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(); |
+} |