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

Side by Side Diff: chrome/browser/sync/glue/frontend_data_type_controller_unittest.cc

Issue 16290004: Update chrome/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 dtc_mock_ = new StrictMock<FrontendDataTypeControllerMock>(); 92 dtc_mock_ = new StrictMock<FrontendDataTypeControllerMock>();
93 frontend_dtc_ = 93 frontend_dtc_ =
94 new FrontendDataTypeControllerFake(profile_sync_factory_.get(), 94 new FrontendDataTypeControllerFake(profile_sync_factory_.get(),
95 &profile_, 95 &profile_,
96 &service_, 96 &service_,
97 dtc_mock_.get()); 97 dtc_mock_.get());
98 } 98 }
99 99
100 protected: 100 protected:
101 void SetStartExpectations() { 101 void SetStartExpectations() {
102 EXPECT_CALL(*dtc_mock_, StartModels()).WillOnce(Return(true)); 102 EXPECT_CALL(*dtc_mock_.get(), StartModels()).WillOnce(Return(true));
103 EXPECT_CALL(model_load_callback_, Run(_, _)); 103 EXPECT_CALL(model_load_callback_, Run(_, _));
104 model_associator_ = new ModelAssociatorMock(); 104 model_associator_ = new ModelAssociatorMock();
105 change_processor_ = new ChangeProcessorMock(); 105 change_processor_ = new ChangeProcessorMock();
106 EXPECT_CALL(*profile_sync_factory_, CreateBookmarkSyncComponents(_, _)). 106 EXPECT_CALL(*profile_sync_factory_, CreateBookmarkSyncComponents(_, _)).
107 WillOnce(Return(ProfileSyncComponentsFactory::SyncComponents( 107 WillOnce(Return(ProfileSyncComponentsFactory::SyncComponents(
108 model_associator_, change_processor_))); 108 model_associator_, change_processor_)));
109 } 109 }
110 110
111 void SetAssociateExpectations() { 111 void SetAssociateExpectations() {
112 EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()). 112 EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()).
113 WillOnce(Return(true)); 113 WillOnce(Return(true));
114 EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)). 114 EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)).
115 WillOnce(DoAll(SetArgumentPointee<0>(true), Return(true))); 115 WillOnce(DoAll(SetArgumentPointee<0>(true), Return(true)));
116 EXPECT_CALL(*model_associator_, AssociateModels(_, _)). 116 EXPECT_CALL(*model_associator_, AssociateModels(_, _)).
117 WillOnce(Return(syncer::SyncError())); 117 WillOnce(Return(syncer::SyncError()));
118 EXPECT_CALL(*dtc_mock_, RecordAssociationTime(_)); 118 EXPECT_CALL(*dtc_mock_.get(), RecordAssociationTime(_));
119 } 119 }
120 120
121 void SetActivateExpectations(DataTypeController::StartResult result) { 121 void SetActivateExpectations(DataTypeController::StartResult result) {
122 EXPECT_CALL(service_, ActivateDataType(_, _, _)); 122 EXPECT_CALL(service_, ActivateDataType(_, _, _));
123 EXPECT_CALL(start_callback_, Run(result, _, _)); 123 EXPECT_CALL(start_callback_, Run(result, _, _));
124 } 124 }
125 125
126 void SetStopExpectations() { 126 void SetStopExpectations() {
127 EXPECT_CALL(*dtc_mock_, CleanUpState()); 127 EXPECT_CALL(*dtc_mock_.get(), CleanUpState());
128 EXPECT_CALL(service_, DeactivateDataType(_)); 128 EXPECT_CALL(service_, DeactivateDataType(_));
129 EXPECT_CALL(*model_associator_, DisassociateModels()). 129 EXPECT_CALL(*model_associator_, DisassociateModels()).
130 WillOnce(Return(syncer::SyncError())); 130 WillOnce(Return(syncer::SyncError()));
131 } 131 }
132 132
133 void SetStartFailExpectations(DataTypeController::StartResult result) { 133 void SetStartFailExpectations(DataTypeController::StartResult result) {
134 if (DataTypeController::IsUnrecoverableResult(result)) 134 if (DataTypeController::IsUnrecoverableResult(result))
135 EXPECT_CALL(*dtc_mock_, RecordUnrecoverableError(_, _)); 135 EXPECT_CALL(*dtc_mock_.get(), RecordUnrecoverableError(_, _));
136 EXPECT_CALL(*dtc_mock_, CleanUpState()); 136 EXPECT_CALL(*dtc_mock_.get(), CleanUpState());
137 EXPECT_CALL(*dtc_mock_, RecordStartFailure(result)); 137 EXPECT_CALL(*dtc_mock_.get(), RecordStartFailure(result));
138 EXPECT_CALL(start_callback_, Run(result, _, _)); 138 EXPECT_CALL(start_callback_, Run(result, _, _));
139 } 139 }
140 140
141 void Start() { 141 void Start() {
142 frontend_dtc_->LoadModels( 142 frontend_dtc_->LoadModels(
143 base::Bind(&ModelLoadCallbackMock::Run, 143 base::Bind(&ModelLoadCallbackMock::Run,
144 base::Unretained(&model_load_callback_))); 144 base::Unretained(&model_load_callback_)));
145 frontend_dtc_->StartAssociating( 145 frontend_dtc_->StartAssociating(
146 base::Bind(&StartCallbackMock::Run, 146 base::Bind(&StartCallbackMock::Run,
147 base::Unretained(&start_callback_))); 147 base::Unretained(&start_callback_)));
(...skipping 26 matching lines...) Expand all
174 } 174 }
175 175
176 TEST_F(SyncFrontendDataTypeControllerTest, StartFirstRun) { 176 TEST_F(SyncFrontendDataTypeControllerTest, StartFirstRun) {
177 SetStartExpectations(); 177 SetStartExpectations();
178 EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()). 178 EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()).
179 WillOnce(Return(true)); 179 WillOnce(Return(true));
180 EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)). 180 EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)).
181 WillOnce(DoAll(SetArgumentPointee<0>(false), Return(true))); 181 WillOnce(DoAll(SetArgumentPointee<0>(false), Return(true)));
182 EXPECT_CALL(*model_associator_, AssociateModels(_, _)). 182 EXPECT_CALL(*model_associator_, AssociateModels(_, _)).
183 WillOnce(Return(syncer::SyncError())); 183 WillOnce(Return(syncer::SyncError()));
184 EXPECT_CALL(*dtc_mock_, RecordAssociationTime(_)); 184 EXPECT_CALL(*dtc_mock_.get(), RecordAssociationTime(_));
185 SetActivateExpectations(DataTypeController::OK_FIRST_RUN); 185 SetActivateExpectations(DataTypeController::OK_FIRST_RUN);
186 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state()); 186 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
187 Start(); 187 Start();
188 EXPECT_EQ(DataTypeController::RUNNING, frontend_dtc_->state()); 188 EXPECT_EQ(DataTypeController::RUNNING, frontend_dtc_->state());
189 } 189 }
190 190
191 TEST_F(SyncFrontendDataTypeControllerTest, AbortDuringStartModels) { 191 TEST_F(SyncFrontendDataTypeControllerTest, AbortDuringStartModels) {
192 EXPECT_CALL(*dtc_mock_, StartModels()).WillOnce(Return(false)); 192 EXPECT_CALL(*dtc_mock_.get(), StartModels()).WillOnce(Return(false));
193 EXPECT_CALL(*dtc_mock_, CleanUpState()); 193 EXPECT_CALL(*dtc_mock_.get(), CleanUpState());
194 EXPECT_CALL(model_load_callback_, Run(_, _)); 194 EXPECT_CALL(model_load_callback_, Run(_, _));
195 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state()); 195 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
196 frontend_dtc_->LoadModels( 196 frontend_dtc_->LoadModels(
197 base::Bind(&ModelLoadCallbackMock::Run, 197 base::Bind(&ModelLoadCallbackMock::Run,
198 base::Unretained(&model_load_callback_))); 198 base::Unretained(&model_load_callback_)));
199 EXPECT_EQ(DataTypeController::MODEL_STARTING, frontend_dtc_->state()); 199 EXPECT_EQ(DataTypeController::MODEL_STARTING, frontend_dtc_->state());
200 frontend_dtc_->Stop(); 200 frontend_dtc_->Stop();
201 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state()); 201 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
202 } 202 }
203 203
204 TEST_F(SyncFrontendDataTypeControllerTest, StartAssociationFailed) { 204 TEST_F(SyncFrontendDataTypeControllerTest, StartAssociationFailed) {
205 SetStartExpectations(); 205 SetStartExpectations();
206 EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()). 206 EXPECT_CALL(*model_associator_, CryptoReadyIfNecessary()).
207 WillOnce(Return(true)); 207 WillOnce(Return(true));
208 EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)). 208 EXPECT_CALL(*model_associator_, SyncModelHasUserCreatedNodes(_)).
209 WillOnce(DoAll(SetArgumentPointee<0>(true), Return(true))); 209 WillOnce(DoAll(SetArgumentPointee<0>(true), Return(true)));
210 EXPECT_CALL(*model_associator_, AssociateModels(_, _)). 210 EXPECT_CALL(*model_associator_, AssociateModels(_, _)).
211 WillOnce(Return(syncer::SyncError(FROM_HERE, 211 WillOnce(Return(syncer::SyncError(FROM_HERE,
212 "error", 212 "error",
213 syncer::BOOKMARKS))); 213 syncer::BOOKMARKS)));
214 214
215 EXPECT_CALL(*dtc_mock_, RecordAssociationTime(_)); 215 EXPECT_CALL(*dtc_mock_.get(), RecordAssociationTime(_));
216 SetStartFailExpectations(DataTypeController::ASSOCIATION_FAILED); 216 SetStartFailExpectations(DataTypeController::ASSOCIATION_FAILED);
217 // Set up association to fail with an association failed error. 217 // Set up association to fail with an association failed error.
218 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state()); 218 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
219 Start(); 219 Start();
220 EXPECT_EQ(DataTypeController::DISABLED, frontend_dtc_->state()); 220 EXPECT_EQ(DataTypeController::DISABLED, frontend_dtc_->state());
221 } 221 }
222 222
223 TEST_F(SyncFrontendDataTypeControllerTest, 223 TEST_F(SyncFrontendDataTypeControllerTest,
224 StartAssociationTriggersUnrecoverableError) { 224 StartAssociationTriggersUnrecoverableError) {
225 SetStartExpectations(); 225 SetStartExpectations();
(...skipping 28 matching lines...) Expand all
254 Start(); 254 Start();
255 EXPECT_EQ(DataTypeController::RUNNING, frontend_dtc_->state()); 255 EXPECT_EQ(DataTypeController::RUNNING, frontend_dtc_->state());
256 frontend_dtc_->Stop(); 256 frontend_dtc_->Stop();
257 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state()); 257 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
258 } 258 }
259 259
260 TEST_F(SyncFrontendDataTypeControllerTest, OnSingleDatatypeUnrecoverableError) { 260 TEST_F(SyncFrontendDataTypeControllerTest, OnSingleDatatypeUnrecoverableError) {
261 SetStartExpectations(); 261 SetStartExpectations();
262 SetAssociateExpectations(); 262 SetAssociateExpectations();
263 SetActivateExpectations(DataTypeController::OK); 263 SetActivateExpectations(DataTypeController::OK);
264 EXPECT_CALL(*dtc_mock_, RecordUnrecoverableError(_, "Test")); 264 EXPECT_CALL(*dtc_mock_.get(), RecordUnrecoverableError(_, "Test"));
265 EXPECT_CALL(service_, DisableBrokenDatatype(_,_,_)). 265 EXPECT_CALL(service_, DisableBrokenDatatype(_, _, _))
266 WillOnce(InvokeWithoutArgs(frontend_dtc_.get(), 266 .WillOnce(InvokeWithoutArgs(frontend_dtc_.get(),
267 &FrontendDataTypeController::Stop)); 267 &FrontendDataTypeController::Stop));
268 SetStopExpectations(); 268 SetStopExpectations();
269 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state()); 269 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
270 Start(); 270 Start();
271 EXPECT_EQ(DataTypeController::RUNNING, frontend_dtc_->state()); 271 EXPECT_EQ(DataTypeController::RUNNING, frontend_dtc_->state());
272 // This should cause frontend_dtc_->Stop() to be called. 272 // This should cause frontend_dtc_->Stop() to be called.
273 frontend_dtc_->OnSingleDatatypeUnrecoverableError(FROM_HERE, "Test"); 273 frontend_dtc_->OnSingleDatatypeUnrecoverableError(FROM_HERE, "Test");
274 PumpLoop(); 274 PumpLoop();
275 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state()); 275 EXPECT_EQ(DataTypeController::NOT_RUNNING, frontend_dtc_->state());
276 } 276 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/glue/favicon_cache.cc ('k') | chrome/browser/sync/glue/model_association_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698