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

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

Issue 10804039: Make SyncBackendRegistrar aware of loaded data (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 "chrome/browser/sync/glue/sync_backend_host.h" 5 #include "chrome/browser/sync/glue/sync_backend_host.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 8
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 profile_.reset(); 142 profile_.reset();
143 // Pump messages posted by the sync core thread (which may end up 143 // Pump messages posted by the sync core thread (which may end up
144 // posting on the IO thread). 144 // posting on the IO thread).
145 ui_loop_.RunAllPending(); 145 ui_loop_.RunAllPending();
146 io_thread_.Stop(); 146 io_thread_.Stop();
147 // Pump any messages posted by the IO thread. 147 // Pump any messages posted by the IO thread.
148 ui_loop_.RunAllPending(); 148 ui_loop_.RunAllPending();
149 } 149 }
150 150
151 // Synchronously initializes the backend. 151 // Synchronously initializes the backend.
152 void InitializeBackend(syncer::ModelTypeSet enabled_types) { 152 void InitializeBackend() {
153 EXPECT_CALL(mock_frontend_, OnBackendInitialized(_, true)). 153 EXPECT_CALL(mock_frontend_, OnBackendInitialized(_, true)).
154 WillOnce(InvokeWithoutArgs(QuitMessageLoop)); 154 WillOnce(InvokeWithoutArgs(QuitMessageLoop));
155 backend_->Initialize(&mock_frontend_, 155 backend_->Initialize(&mock_frontend_,
156 syncer::WeakHandle<syncer::JsEventHandler>(), 156 syncer::WeakHandle<syncer::JsEventHandler>(),
157 GURL(""), 157 GURL(""),
158 enabled_types,
159 credentials_, 158 credentials_,
160 true, 159 true,
161 &fake_sync_manager_factory_, 160 &fake_sync_manager_factory_,
162 &handler_, 161 &handler_,
163 NULL); 162 NULL);
164 ui_loop_.PostDelayedTask( 163 ui_loop_.PostDelayedTask(
165 FROM_HERE, 164 FROM_HERE,
166 ui_loop_.QuitClosure(), 165 ui_loop_.QuitClosure(),
167 base::TimeDelta::FromMilliseconds(TestTimeouts::action_timeout_ms())); 166 base::TimeDelta::FromMilliseconds(TestTimeouts::action_timeout_ms()));
168 ui_loop_.Run(); 167 ui_loop_.Run();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 scoped_ptr<InvalidatorStorage> invalidator_storage_; 207 scoped_ptr<InvalidatorStorage> invalidator_storage_;
209 scoped_ptr<SyncBackendHost> backend_; 208 scoped_ptr<SyncBackendHost> backend_;
210 FakeSyncManagerFactory fake_sync_manager_factory_; 209 FakeSyncManagerFactory fake_sync_manager_factory_;
211 FakeSyncManager* fake_manager_; 210 FakeSyncManager* fake_manager_;
212 syncer::ModelTypeSet enabled_types_; 211 syncer::ModelTypeSet enabled_types_;
213 }; 212 };
214 213
215 // Test basic initialization with no initial types (first time initialization). 214 // Test basic initialization with no initial types (first time initialization).
216 // Only the nigori should be configured. 215 // Only the nigori should be configured.
217 TEST_F(SyncBackendHostTest, InitShutdown) { 216 TEST_F(SyncBackendHostTest, InitShutdown) {
218 InitializeBackend(syncer::ModelTypeSet()); 217 InitializeBackend();
219 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 218 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
220 syncer::ModelTypeSet(syncer::NIGORI))); 219 syncer::ModelTypeSet(syncer::NIGORI)));
221 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals( 220 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(
222 syncer::ModelTypeSet(syncer::NIGORI))); 221 syncer::ModelTypeSet(syncer::NIGORI)));
223 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 222 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
224 syncer::ModelTypeSet(syncer::NIGORI)).Empty()); 223 syncer::ModelTypeSet(syncer::NIGORI)).Empty());
225 } 224 }
226 225
227 // Test first time sync scenario. All types should be properly configured. 226 // Test first time sync scenario. All types should be properly configured.
228 TEST_F(SyncBackendHostTest, FirstTimeSync) { 227 TEST_F(SyncBackendHostTest, FirstTimeSync) {
229 InitializeBackend(syncer::ModelTypeSet()); 228 InitializeBackend();
230 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 229 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
231 syncer::ModelTypeSet(syncer::NIGORI))); 230 syncer::ModelTypeSet(syncer::NIGORI)));
232 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals( 231 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(
233 syncer::ModelTypeSet(syncer::NIGORI))); 232 syncer::ModelTypeSet(syncer::NIGORI)));
234 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 233 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
235 syncer::ModelTypeSet(syncer::NIGORI)).Empty()); 234 syncer::ModelTypeSet(syncer::NIGORI)).Empty());
236 235
237 ConfigureDataTypes(enabled_types_, 236 ConfigureDataTypes(enabled_types_,
238 Difference(syncer::ModelTypeSet::All(), 237 Difference(syncer::ModelTypeSet::All(),
239 enabled_types_), 238 enabled_types_),
240 BackendDataTypeConfigurer::WITH_NIGORI); 239 BackendDataTypeConfigurer::WITH_NIGORI);
241 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().HasAll( 240 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().HasAll(
242 enabled_types_)); 241 enabled_types_));
243 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 242 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
244 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 243 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
245 enabled_types_).Empty()); 244 enabled_types_).Empty());
246 } 245 }
247 246
248 // Test the restart after setting up sync scenario. No enabled types should be 247 // Test the restart after setting up sync scenario. No enabled types should be
249 // downloaded or cleaned. 248 // downloaded or cleaned.
250 TEST_F(SyncBackendHostTest, Restart) { 249 TEST_F(SyncBackendHostTest, Restart) {
251 sync_prefs_->SetSyncSetupCompleted(); 250 sync_prefs_->SetSyncSetupCompleted();
252 syncer::ModelTypeSet all_but_nigori = enabled_types_; 251 syncer::ModelTypeSet all_but_nigori = enabled_types_;
253 fake_manager_->set_progress_marker_types( 252 fake_manager_->set_progress_marker_types(
254 enabled_types_); 253 enabled_types_);
255 fake_manager_->set_initial_sync_ended_types(enabled_types_); 254 fake_manager_->set_initial_sync_ended_types(enabled_types_);
256 InitializeBackend(enabled_types_); 255 InitializeBackend();
257 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty()); 256 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty());
258 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 257 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
259 enabled_types_).Empty()); 258 enabled_types_).Empty());
260 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 259 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
261 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 260 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
262 enabled_types_).Empty()); 261 enabled_types_).Empty());
263 262
264 ConfigureDataTypes(enabled_types_, 263 ConfigureDataTypes(enabled_types_,
265 Difference(syncer::ModelTypeSet::All(), 264 Difference(syncer::ModelTypeSet::All(),
266 enabled_types_), 265 enabled_types_),
(...skipping 11 matching lines...) Expand all
278 TEST_F(SyncBackendHostTest, PartialTypes) { 277 TEST_F(SyncBackendHostTest, PartialTypes) {
279 sync_prefs_->SetSyncSetupCompleted(); 278 sync_prefs_->SetSyncSetupCompleted();
280 // Set sync manager behavior before passing it down. All types have progress 279 // Set sync manager behavior before passing it down. All types have progress
281 // markers, but nigori and bookmarks are missing initial sync ended. 280 // markers, but nigori and bookmarks are missing initial sync ended.
282 syncer::ModelTypeSet partial_types(syncer::NIGORI, syncer::BOOKMARKS); 281 syncer::ModelTypeSet partial_types(syncer::NIGORI, syncer::BOOKMARKS);
283 syncer::ModelTypeSet full_types = 282 syncer::ModelTypeSet full_types =
284 Difference(enabled_types_, partial_types); 283 Difference(enabled_types_, partial_types);
285 fake_manager_->set_progress_marker_types(enabled_types_); 284 fake_manager_->set_progress_marker_types(enabled_types_);
286 fake_manager_->set_initial_sync_ended_types(full_types); 285 fake_manager_->set_initial_sync_ended_types(full_types);
287 286
288 // All partial types should have been purged with nothing downloaded as part 287 // All partial types should have been purged with nothing downloaded as part
Nicolas Zea 2012/07/20 21:35:39 update comment
rlarocque 2012/07/23 20:50:30 Done.
289 // of bringing up the backend. 288 // of bringing up the backend.
290 InitializeBackend(enabled_types_); 289 InitializeBackend();
291 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty()); 290 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
292 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 291 syncer::ModelTypeSet(syncer::NIGORI)));
Nicolas Zea 2012/07/20 21:35:39 Fix indents in this test and the next.
rlarocque 2012/07/20 23:20:05 My editor seems to like these indents as is. It's
293 enabled_types_).Empty()); 292 EXPECT_TRUE(fake_manager_->GetAndResetCleanedTypes().HasAll(partial_types));
294 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals( 293 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(
295 full_types)); 294 Union(full_types, syncer::ModelTypeSet(syncer::NIGORI))));
296 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 295 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
297 enabled_types_).Equals(partial_types)); 296 enabled_types_).Equals(
297 Difference(partial_types, syncer::ModelTypeSet(syncer::NIGORI))));
298 298
299 // Now do the actual configuration, which should download and apply both 299 // Now do the actual configuration, which should download and apply both
300 // nigori and bookmarks. 300 // nigori and bookmarks.
Nicolas Zea 2012/07/20 21:35:39 this comment too
rlarocque 2012/07/20 23:20:05 Done.
301 ConfigureDataTypes(enabled_types_, 301 ConfigureDataTypes(enabled_types_,
302 Difference(syncer::ModelTypeSet::All(), 302 Difference(syncer::ModelTypeSet::All(),
303 enabled_types_), 303 enabled_types_),
304 BackendDataTypeConfigurer::WITH_NIGORI); 304 BackendDataTypeConfigurer::WITH_NIGORI);
305 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 305 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
306 enabled_types_).Empty()); 306 enabled_types_).Empty());
307 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 307 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
308 partial_types)); 308 partial_types));
309 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 309 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
310 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 310 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
311 enabled_types_).Empty()); 311 enabled_types_).Empty());
312 } 312 }
313 313
314 // Test the behavior when we lose the sync db. Although we already have types 314 // Test the behavior when we lose the sync db. Although we already have types
315 // enabled, we should re-download all of them because we lost their data. 315 // enabled, we should re-download all of them because we lost their data.
316 TEST_F(SyncBackendHostTest, LostDB) { 316 TEST_F(SyncBackendHostTest, LostDB) {
317 sync_prefs_->SetSyncSetupCompleted(); 317 sync_prefs_->SetSyncSetupCompleted();
318 // Don't set any progress marker or initial_sync_ended types before 318 // Don't set any progress marker or initial_sync_ended types before
319 // initializing. Initialization should not affect the datatypes. 319 // initializing. Initialization should not affect the datatypes.
Nicolas Zea 2012/07/20 21:35:39 and this
rlarocque 2012/07/23 20:50:30 Done.
320 InitializeBackend(enabled_types_); 320 InitializeBackend();
321 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty()); 321 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
322 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 322 syncer::ModelTypeSet(syncer::NIGORI)));
323 enabled_types_).Empty()); 323 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(
324 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Empty()); 324 syncer::ModelTypeSet(syncer::NIGORI)));
325 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 325 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
326 enabled_types_).Equals(enabled_types_)); 326 enabled_types_).Equals(
327 Difference(enabled_types_, syncer::ModelTypeSet(syncer::NIGORI))));
328
329 // The database was empty, so any cleaning is entirely optional. We want to
330 // reset this value before running the next part of the test, though.
331 fake_manager_->GetAndResetCleanedTypes();
327 332
328 // The actual configuration should redownload and apply all the enabled types. 333 // The actual configuration should redownload and apply all the enabled types.
329 ConfigureDataTypes(enabled_types_, 334 ConfigureDataTypes(enabled_types_,
330 Difference(syncer::ModelTypeSet::All(), 335 Difference(syncer::ModelTypeSet::All(),
331 enabled_types_), 336 enabled_types_),
332 BackendDataTypeConfigurer::WITH_NIGORI); 337 BackendDataTypeConfigurer::WITH_NIGORI);
333 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().HasAll( 338 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().HasAll(
334 enabled_types_)); 339 enabled_types_));
335 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 340 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
336 enabled_types_).Empty()); 341 enabled_types_).Empty());
337 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 342 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
338 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 343 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
339 enabled_types_).Empty()); 344 enabled_types_).Empty());
340 } 345 }
341 346
342 TEST_F(SyncBackendHostTest, DisableTypes) { 347 TEST_F(SyncBackendHostTest, DisableTypes) {
343 // Simulate first time sync. 348 // Simulate first time sync.
344 InitializeBackend(syncer::ModelTypeSet()); 349 InitializeBackend();
345 fake_manager_->GetAndResetCleanedTypes(); 350 fake_manager_->GetAndResetCleanedTypes();
346 ConfigureDataTypes(enabled_types_, 351 ConfigureDataTypes(enabled_types_,
347 Difference(syncer::ModelTypeSet::All(), 352 Difference(syncer::ModelTypeSet::All(),
348 enabled_types_), 353 enabled_types_),
349 BackendDataTypeConfigurer::WITH_NIGORI); 354 BackendDataTypeConfigurer::WITH_NIGORI);
350 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 355 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
351 enabled_types_)); 356 enabled_types_));
352 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 357 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
353 enabled_types_).Empty()); 358 enabled_types_).Empty());
354 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 359 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
(...skipping 15 matching lines...) Expand all
370 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty()); 375 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty());
371 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 376 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
372 old_types).Equals(disabled_types)); 377 old_types).Equals(disabled_types));
373 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 378 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
374 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 379 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
375 enabled_types_).Empty()); 380 enabled_types_).Empty());
376 } 381 }
377 382
378 TEST_F(SyncBackendHostTest, AddTypes) { 383 TEST_F(SyncBackendHostTest, AddTypes) {
379 // Simulate first time sync. 384 // Simulate first time sync.
380 InitializeBackend(syncer::ModelTypeSet()); 385 InitializeBackend();
381 fake_manager_->GetAndResetCleanedTypes(); 386 fake_manager_->GetAndResetCleanedTypes();
382 ConfigureDataTypes(enabled_types_, 387 ConfigureDataTypes(enabled_types_,
383 Difference(syncer::ModelTypeSet::All(), 388 Difference(syncer::ModelTypeSet::All(),
384 enabled_types_), 389 enabled_types_),
385 BackendDataTypeConfigurer::WITH_NIGORI); 390 BackendDataTypeConfigurer::WITH_NIGORI);
386 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 391 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
387 enabled_types_)); 392 enabled_types_));
388 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 393 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
389 enabled_types_).Empty()); 394 enabled_types_).Empty());
390 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 395 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
(...skipping 16 matching lines...) Expand all
407 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 412 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
408 enabled_types_).Empty()); 413 enabled_types_).Empty());
409 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 414 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
410 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 415 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
411 enabled_types_).Empty()); 416 enabled_types_).Empty());
412 } 417 }
413 418
414 // And and disable in the same configuration. 419 // And and disable in the same configuration.
415 TEST_F(SyncBackendHostTest, AddDisableTypes) { 420 TEST_F(SyncBackendHostTest, AddDisableTypes) {
416 // Simulate first time sync. 421 // Simulate first time sync.
417 InitializeBackend(syncer::ModelTypeSet()); 422 InitializeBackend();
418 fake_manager_->GetAndResetCleanedTypes(); 423 fake_manager_->GetAndResetCleanedTypes();
419 ConfigureDataTypes(enabled_types_, 424 ConfigureDataTypes(enabled_types_,
420 Difference(syncer::ModelTypeSet::All(), 425 Difference(syncer::ModelTypeSet::All(),
421 enabled_types_), 426 enabled_types_),
422 BackendDataTypeConfigurer::WITH_NIGORI); 427 BackendDataTypeConfigurer::WITH_NIGORI);
423 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 428 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
424 enabled_types_)); 429 enabled_types_));
425 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 430 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
426 enabled_types_).Empty()); 431 enabled_types_).Empty());
427 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 432 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 // Set sync manager behavior before passing it down. All types have progress 464 // Set sync manager behavior before passing it down. All types have progress
460 // markers and initial sync ended except the new types. 465 // markers and initial sync ended except the new types.
461 syncer::ModelTypeSet old_types = enabled_types_; 466 syncer::ModelTypeSet old_types = enabled_types_;
462 fake_manager_->set_progress_marker_types(old_types); 467 fake_manager_->set_progress_marker_types(old_types);
463 fake_manager_->set_initial_sync_ended_types(old_types); 468 fake_manager_->set_initial_sync_ended_types(old_types);
464 syncer::ModelTypeSet new_types(syncer::APP_SETTINGS, 469 syncer::ModelTypeSet new_types(syncer::APP_SETTINGS,
465 syncer::EXTENSION_SETTINGS); 470 syncer::EXTENSION_SETTINGS);
466 enabled_types_.PutAll(new_types); 471 enabled_types_.PutAll(new_types);
467 472
468 // Does nothing. 473 // Does nothing.
469 InitializeBackend(enabled_types_); 474 InitializeBackend();
470 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty()); 475 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty());
471 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 476 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
472 enabled_types_).Empty()); 477 old_types).Empty());
473 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(old_types)); 478 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(old_types));
474 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 479 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
475 enabled_types_).Equals(new_types)); 480 enabled_types_).Equals(new_types));
476 481
477 // Downloads and applies the new types. 482 // Downloads and applies the new types.
478 ConfigureDataTypes(enabled_types_, 483 ConfigureDataTypes(enabled_types_,
479 Difference(syncer::ModelTypeSet::All(), 484 Difference(syncer::ModelTypeSet::All(),
480 enabled_types_), 485 enabled_types_),
481 BackendDataTypeConfigurer::WITH_NIGORI); 486 BackendDataTypeConfigurer::WITH_NIGORI);
482 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 487 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
(...skipping 15 matching lines...) Expand all
498 syncer::ModelTypeSet old_types = enabled_types_; 503 syncer::ModelTypeSet old_types = enabled_types_;
499 syncer::ModelTypeSet partial_types(syncer::NIGORI, syncer::BOOKMARKS); 504 syncer::ModelTypeSet partial_types(syncer::NIGORI, syncer::BOOKMARKS);
500 syncer::ModelTypeSet full_types = 505 syncer::ModelTypeSet full_types =
501 Difference(enabled_types_, partial_types); 506 Difference(enabled_types_, partial_types);
502 fake_manager_->set_progress_marker_types(old_types); 507 fake_manager_->set_progress_marker_types(old_types);
503 fake_manager_->set_initial_sync_ended_types(full_types); 508 fake_manager_->set_initial_sync_ended_types(full_types);
504 syncer::ModelTypeSet new_types(syncer::APP_SETTINGS, 509 syncer::ModelTypeSet new_types(syncer::APP_SETTINGS,
505 syncer::EXTENSION_SETTINGS); 510 syncer::EXTENSION_SETTINGS);
506 enabled_types_.PutAll(new_types); 511 enabled_types_.PutAll(new_types);
507 512
508 // Purge the partial types. 513 // Purge the partial types.
rlarocque 2012/07/23 20:50:30 Fixed this comment, too.
509 InitializeBackend(enabled_types_); 514 InitializeBackend();
510 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Empty()); 515 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
511 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 516 syncer::ModelTypeSet(syncer::NIGORI)));
512 enabled_types_).Empty()); 517 EXPECT_TRUE(fake_manager_->GetAndResetCleanedTypes().HasAll(partial_types));
513 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(full_types)); 518 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(
519 syncer::Union(full_types, syncer::ModelTypeSet(syncer::NIGORI))));
514 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 520 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
515 enabled_types_).Equals(Union(new_types, partial_types))); 521 enabled_types_).Equals(Union(new_types, Difference(
522 partial_types, syncer::ModelTypeSet(syncer::NIGORI)))));
516 523
517 // Downloads and applies the new types and partial types (which includes 524 // Downloads and applies the new types and partial types (which includes
518 // nigori anyways). 525 // nigori anyways).
519 ConfigureDataTypes(enabled_types_, 526 ConfigureDataTypes(enabled_types_,
520 Difference(syncer::ModelTypeSet::All(), 527 Difference(syncer::ModelTypeSet::All(),
521 enabled_types_), 528 enabled_types_),
522 BackendDataTypeConfigurer::WITH_NIGORI); 529 BackendDataTypeConfigurer::WITH_NIGORI);
523 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals( 530 EXPECT_TRUE(fake_manager_->GetAndResetDownloadedTypes().Equals(
524 Union(new_types, partial_types))); 531 Union(new_types, partial_types)));
525 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(), 532 EXPECT_TRUE(Intersection(fake_manager_->GetAndResetCleanedTypes(),
526 enabled_types_).Empty()); 533 enabled_types_).Empty());
527 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_)); 534 EXPECT_TRUE(fake_manager_->InitialSyncEndedTypes().Equals(enabled_types_));
528 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken( 535 EXPECT_TRUE(fake_manager_->GetTypesWithEmptyProgressMarkerToken(
529 enabled_types_).Empty()); 536 enabled_types_).Empty());
530 } 537 }
531 538
532 } // namespace 539 } // namespace
533 540
534 } // namespace browser_sync 541 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698