Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2971)

Unified Diff: chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc

Issue 12084058: sync/glue: Convert BookmarkDataTypeController to BaseBookmarkModelObserver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: unit_tests PASSES Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc
diff --git a/chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc b/chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc
index a688552fe2f22485bd2d8e3a37c05f46630b4c8e..50bc06220e6f9ba932bc53a3e0aa25e89944c204 100644
--- a/chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc
+++ b/chrome/browser/sync/glue/bookmark_data_type_controller_unittest.cc
@@ -11,6 +11,7 @@
#include "base/message_loop.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
+#include "chrome/browser/bookmarks/bookmark_model_observer.h"
#include "chrome/browser/history/history_service.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/profiles/profile.h"
@@ -43,10 +44,30 @@ using testing::SetArgumentPointee;
namespace {
-class BookmarkModelMock : public BookmarkModel {
+class FakeBookmarkModel : public BookmarkModel {
public:
- BookmarkModelMock() : BookmarkModel(NULL) {}
- MOCK_CONST_METHOD0(IsLoaded, bool(void));
+ FakeBookmarkModel() : BookmarkModel(NULL),
+ is_loaded_(false) {
+ }
+
+ virtual ~FakeBookmarkModel() {}
+
+ virtual bool IsLoaded() const OVERRIDE { return is_loaded_; }
+ virtual void AddObserver(BookmarkModelObserver* observer) OVERRIDE {
+ observers_.AddObserver(observer);
+ }
+ virtual void RemoveObserver(BookmarkModelObserver* observer) OVERRIDE {
+ observers_.RemoveObserver(observer);
+ }
+
+ void TriggerLoad() {
+ is_loaded_ = true;
+ FOR_EACH_OBSERVER(BookmarkModelObserver, observers_, Loaded(this, false));
+ }
+
+ private:
+ bool is_loaded_;
+ ObserverList<BookmarkModelObserver> observers_;
};
@@ -59,9 +80,8 @@ class HistoryMock : public HistoryService {
virtual ~HistoryMock() {}
};
-ProfileKeyedService* BuildBookmarkModel(
- Profile* profile) {
- return new BookmarkModelMock;
+ProfileKeyedService* BuildBookmarkModel(Profile* profile) {
+ return new FakeBookmarkModel;
}
ProfileKeyedService* BuildHistoryService(Profile* profile) {
@@ -81,7 +101,7 @@ class SyncBookmarkDataTypeControllerTest : public testing::Test {
history_service_ = static_cast<HistoryMock*>(
HistoryServiceFactory::GetInstance()->SetTestingFactoryAndUse(
&profile_, BuildHistoryService));
- bookmark_model_ = static_cast<BookmarkModelMock*>(
+ bookmark_model_ = static_cast<FakeBookmarkModel*>(
BookmarkModelFactory::GetInstance()->SetTestingFactoryAndUse(
&profile_, BuildBookmarkModel));
profile_sync_factory_.reset(
@@ -94,8 +114,12 @@ class SyncBookmarkDataTypeControllerTest : public testing::Test {
}
protected:
- void SetStartExpectations() {
- EXPECT_CALL(*bookmark_model_, IsLoaded()).WillRepeatedly(Return(true));
+ void SetStartExpectations(bool load_bookmark_model) {
+ if (load_bookmark_model) {
+ bookmark_model_->TriggerLoad();
+ EXPECT_TRUE(bookmark_model_->IsLoaded());
+ }
+
EXPECT_CALL(*history_service_,
BackendLoaded()).WillRepeatedly(Return(true));
EXPECT_CALL(model_load_callback_, Run(_, _));
@@ -132,7 +156,7 @@ class SyncBookmarkDataTypeControllerTest : public testing::Test {
scoped_refptr<BookmarkDataTypeController> bookmark_dtc_;
scoped_ptr<ProfileSyncComponentsFactoryMock> profile_sync_factory_;
ProfileMock profile_;
- BookmarkModelMock* bookmark_model_;
+ FakeBookmarkModel* bookmark_model_;
HistoryMock* history_service_;
ProfileSyncServiceMock service_;
ModelAssociatorMock* model_associator_;
@@ -146,7 +170,7 @@ class SyncBookmarkDataTypeControllerTest : public testing::Test {
};
TEST_F(SyncBookmarkDataTypeControllerTest, StartDependentsReady) {
- SetStartExpectations();
+ SetStartExpectations(true);
SetAssociateExpectations();
EXPECT_EQ(DataTypeController::NOT_RUNNING, bookmark_dtc_->state());
@@ -157,8 +181,8 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartDependentsReady) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, StartBookmarkModelNotReady) {
- SetStartExpectations();
- EXPECT_CALL(*bookmark_model_, IsLoaded()).WillRepeatedly(Return(false));
+ SetStartExpectations(false);
+ EXPECT_FALSE(bookmark_model_->IsLoaded());
SetAssociateExpectations();
EXPECT_CALL(start_callback_, Run(DataTypeController::OK, _, _));
@@ -167,13 +191,8 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartBookmarkModelNotReady) {
base::Unretained(&model_load_callback_)));
EXPECT_EQ(DataTypeController::MODEL_STARTING, bookmark_dtc_->state());
testing::Mock::VerifyAndClearExpectations(bookmark_model_);
- EXPECT_CALL(*bookmark_model_, IsLoaded()).WillRepeatedly(Return(true));
- // Send the notification that the bookmark model has started.
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED,
- content::Source<Profile>(&profile_),
- content::NotificationService::NoDetails());
+ bookmark_model_->TriggerLoad();
EXPECT_EQ(DataTypeController::MODEL_LOADED, bookmark_dtc_->state());
bookmark_dtc_->StartAssociating(
@@ -184,7 +203,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartBookmarkModelNotReady) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, StartHistoryServiceNotReady) {
- SetStartExpectations();
+ SetStartExpectations(true);
EXPECT_CALL(*history_service_,
BackendLoaded()).WillRepeatedly(Return(false));
@@ -205,7 +224,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartHistoryServiceNotReady) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, StartFirstRun) {
- SetStartExpectations();
+ SetStartExpectations(true);
SetAssociateExpectations();
EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)).
WillRepeatedly(DoAll(SetArgumentPointee<0>(false), Return(true)));
@@ -214,7 +233,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartFirstRun) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, StartBusy) {
- EXPECT_CALL(*bookmark_model_, IsLoaded()).WillRepeatedly(Return(false));
+ EXPECT_FALSE(bookmark_model_->IsLoaded());
EXPECT_CALL(*history_service_, BackendLoaded()).WillRepeatedly(Return(false));
EXPECT_CALL(model_load_callback_, Run(_, _));
@@ -227,7 +246,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartBusy) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, StartOk) {
- SetStartExpectations();
+ SetStartExpectations(true);
SetAssociateExpectations();
EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)).
WillRepeatedly(DoAll(SetArgumentPointee<0>(true), Return(true)));
@@ -237,7 +256,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartOk) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, StartAssociationFailed) {
- SetStartExpectations();
+ SetStartExpectations(true);
// Set up association to fail.
EXPECT_CALL(*profile_sync_factory_, CreateBookmarkSyncComponents(_, _));
EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()).
@@ -257,7 +276,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartAssociationFailed) {
TEST_F(SyncBookmarkDataTypeControllerTest,
StartAssociationTriggersUnrecoverableError) {
- SetStartExpectations();
+ SetStartExpectations(true);
// Set up association to fail with an unrecoverable error.
EXPECT_CALL(*profile_sync_factory_, CreateBookmarkSyncComponents(_, _));
EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()).
@@ -271,7 +290,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest,
}
TEST_F(SyncBookmarkDataTypeControllerTest, StartAborted) {
- EXPECT_CALL(*bookmark_model_, IsLoaded()).WillRepeatedly(Return(false));
+ EXPECT_FALSE(bookmark_model_->IsLoaded());
EXPECT_CALL(*history_service_, BackendLoaded()).WillRepeatedly(Return(false));
EXPECT_CALL(model_load_callback_, Run(_, _));
@@ -284,7 +303,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, StartAborted) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, Stop) {
- SetStartExpectations();
+ SetStartExpectations(true);
SetAssociateExpectations();
SetStopExpectations();
@@ -298,7 +317,7 @@ TEST_F(SyncBookmarkDataTypeControllerTest, Stop) {
}
TEST_F(SyncBookmarkDataTypeControllerTest, OnSingleDatatypeUnrecoverableError) {
- SetStartExpectations();
+ SetStartExpectations(true);
SetAssociateExpectations();
EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)).
WillRepeatedly(DoAll(SetArgumentPointee<0>(true), Return(true)));

Powered by Google App Engine
This is Rietveld 408576698