OLD | NEW |
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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <utility> |
6 | 7 |
7 #include "base/bind.h" | 8 #include "base/bind.h" |
8 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
9 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
10 #include "base/json/json_writer.h" | 11 #include "base/json/json_writer.h" |
11 #include "base/memory/linked_ptr.h" | 12 #include "base/memory/linked_ptr.h" |
12 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
13 #include "base/message_loop/message_loop.h" | 14 #include "base/message_loop/message_loop.h" |
14 #include "base/strings/string_number_conversions.h" | 15 #include "base/strings/string_number_conversions.h" |
15 #include "build/build_config.h" | 16 #include "build/build_config.h" |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 file_thread_(BrowserThread::FILE, base::MessageLoop::current()), | 217 file_thread_(BrowserThread::FILE, base::MessageLoop::current()), |
217 storage_factory_(new util::ScopedSettingsStorageFactory()), | 218 storage_factory_(new util::ScopedSettingsStorageFactory()), |
218 sync_processor_(new MockSyncChangeProcessor), | 219 sync_processor_(new MockSyncChangeProcessor), |
219 sync_processor_wrapper_(new syncer::SyncChangeProcessorWrapperForTest( | 220 sync_processor_wrapper_(new syncer::SyncChangeProcessorWrapperForTest( |
220 sync_processor_.get())) {} | 221 sync_processor_.get())) {} |
221 | 222 |
222 void SetUp() override { | 223 void SetUp() override { |
223 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 224 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
224 profile_.reset(new TestingProfile(temp_dir_.path())); | 225 profile_.reset(new TestingProfile(temp_dir_.path())); |
225 storage_factory_->Reset(new LeveldbSettingsStorageFactory()); | 226 storage_factory_->Reset(new LeveldbSettingsStorageFactory()); |
226 frontend_ = StorageFrontend::CreateForTesting(storage_factory_, | 227 frontend_ = |
227 profile_.get()).Pass(); | 228 StorageFrontend::CreateForTesting(storage_factory_, profile_.get()); |
228 | 229 |
229 ExtensionsBrowserClient::Get() | 230 ExtensionsBrowserClient::Get() |
230 ->GetExtensionSystemFactory() | 231 ->GetExtensionSystemFactory() |
231 ->SetTestingFactoryAndUse(profile_.get(), | 232 ->SetTestingFactoryAndUse(profile_.get(), |
232 &MockExtensionSystemFactoryFunction); | 233 &MockExtensionSystemFactoryFunction); |
233 | 234 |
234 EventRouterFactory::GetInstance()->SetTestingFactory(profile_.get(), | 235 EventRouterFactory::GetInstance()->SetTestingFactory(profile_.get(), |
235 &BuildEventRouter); | 236 &BuildEventRouter); |
236 } | 237 } |
237 | 238 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 Manifest::Type type = Manifest::TYPE_EXTENSION; | 300 Manifest::Type type = Manifest::TYPE_EXTENSION; |
300 | 301 |
301 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); | 302 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); |
302 | 303 |
303 // Have one extension created before sync is set up, the other created after. | 304 // Have one extension created before sync is set up, the other created after. |
304 AddExtensionAndGetStorage("s1", type); | 305 AddExtensionAndGetStorage("s1", type); |
305 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); | 306 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); |
306 | 307 |
307 GetSyncableService(model_type) | 308 GetSyncableService(model_type) |
308 ->MergeDataAndStartSyncing( | 309 ->MergeDataAndStartSyncing( |
309 model_type, | 310 model_type, syncer::SyncDataList(), |
310 syncer::SyncDataList(), | 311 std::move(sync_processor_wrapper_), |
311 sync_processor_wrapper_.Pass(), | |
312 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 312 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
313 | 313 |
314 AddExtensionAndGetStorage("s2", type); | 314 AddExtensionAndGetStorage("s2", type); |
315 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); | 315 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); |
316 | 316 |
317 GetSyncableService(model_type)->StopSyncing(model_type); | 317 GetSyncableService(model_type)->StopSyncing(model_type); |
318 | 318 |
319 EXPECT_EQ(0u, sync_processor_->changes().size()); | 319 EXPECT_EQ(0u, sync_processor_->changes().size()); |
320 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); | 320 EXPECT_EQ(0u, GetAllSyncData(model_type).size()); |
321 } | 321 } |
(...skipping 20 matching lines...) Expand all Loading... |
342 EXPECT_PRED_FORMAT2(ValuesEq, &value2, &(*all_sync_data["s2"])[0]->value()); | 342 EXPECT_PRED_FORMAT2(ValuesEq, &value2, &(*all_sync_data["s2"])[0]->value()); |
343 | 343 |
344 syncer::SyncDataList sync_data; | 344 syncer::SyncDataList sync_data; |
345 sync_data.push_back(settings_sync_util::CreateData( | 345 sync_data.push_back(settings_sync_util::CreateData( |
346 "s1", "foo", value1, model_type)); | 346 "s1", "foo", value1, model_type)); |
347 sync_data.push_back(settings_sync_util::CreateData( | 347 sync_data.push_back(settings_sync_util::CreateData( |
348 "s2", "bar", value2, model_type)); | 348 "s2", "bar", value2, model_type)); |
349 | 349 |
350 GetSyncableService(model_type) | 350 GetSyncableService(model_type) |
351 ->MergeDataAndStartSyncing( | 351 ->MergeDataAndStartSyncing( |
352 model_type, | 352 model_type, sync_data, std::move(sync_processor_wrapper_), |
353 sync_data, | |
354 sync_processor_wrapper_.Pass(), | |
355 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 353 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
356 | 354 |
357 // Already in sync, so no changes. | 355 // Already in sync, so no changes. |
358 EXPECT_EQ(0u, sync_processor_->changes().size()); | 356 EXPECT_EQ(0u, sync_processor_->changes().size()); |
359 | 357 |
360 // Regression test: not-changing the synced value shouldn't result in a sync | 358 // Regression test: not-changing the synced value shouldn't result in a sync |
361 // change, and changing the synced value should result in an update. | 359 // change, and changing the synced value should result in an update. |
362 storage1->Set(DEFAULTS, "foo", value1); | 360 storage1->Set(DEFAULTS, "foo", value1); |
363 EXPECT_EQ(0u, sync_processor_->changes().size()); | 361 EXPECT_EQ(0u, sync_processor_->changes().size()); |
364 | 362 |
(...skipping 15 matching lines...) Expand all Loading... |
380 value2.Append(new base::StringValue("barValue")); | 378 value2.Append(new base::StringValue("barValue")); |
381 | 379 |
382 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); | 380 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); |
383 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); | 381 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); |
384 | 382 |
385 storage1->Set(DEFAULTS, "foo", value1); | 383 storage1->Set(DEFAULTS, "foo", value1); |
386 storage2->Set(DEFAULTS, "bar", value2); | 384 storage2->Set(DEFAULTS, "bar", value2); |
387 | 385 |
388 GetSyncableService(model_type) | 386 GetSyncableService(model_type) |
389 ->MergeDataAndStartSyncing( | 387 ->MergeDataAndStartSyncing( |
390 model_type, | 388 model_type, syncer::SyncDataList(), |
391 syncer::SyncDataList(), | 389 std::move(sync_processor_wrapper_), |
392 sync_processor_wrapper_.Pass(), | |
393 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 390 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
394 | 391 |
395 // All settings should have been pushed to sync. | 392 // All settings should have been pushed to sync. |
396 EXPECT_EQ(2u, sync_processor_->changes().size()); | 393 EXPECT_EQ(2u, sync_processor_->changes().size()); |
397 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "foo"); | 394 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "foo"); |
398 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); | 395 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); |
399 EXPECT_TRUE(value1.Equals(&change->value())); | 396 EXPECT_TRUE(value1.Equals(&change->value())); |
400 change = sync_processor_->GetOnlyChange("s2", "bar"); | 397 change = sync_processor_->GetOnlyChange("s2", "bar"); |
401 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); | 398 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); |
402 EXPECT_TRUE(value2.Equals(&change->value())); | 399 EXPECT_TRUE(value2.Equals(&change->value())); |
(...skipping 17 matching lines...) Expand all Loading... |
420 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); | 417 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); |
421 storage1->Set(DEFAULTS, "overwriteMe", value1); | 418 storage1->Set(DEFAULTS, "overwriteMe", value1); |
422 | 419 |
423 syncer::SyncDataList sync_data; | 420 syncer::SyncDataList sync_data; |
424 sync_data.push_back(settings_sync_util::CreateData( | 421 sync_data.push_back(settings_sync_util::CreateData( |
425 "s1", "foo", value1, model_type)); | 422 "s1", "foo", value1, model_type)); |
426 sync_data.push_back(settings_sync_util::CreateData( | 423 sync_data.push_back(settings_sync_util::CreateData( |
427 "s2", "bar", value2, model_type)); | 424 "s2", "bar", value2, model_type)); |
428 GetSyncableService(model_type) | 425 GetSyncableService(model_type) |
429 ->MergeDataAndStartSyncing( | 426 ->MergeDataAndStartSyncing( |
430 model_type, | 427 model_type, sync_data, std::move(sync_processor_wrapper_), |
431 sync_data, | |
432 sync_processor_wrapper_.Pass(), | |
433 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 428 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
434 expected1.Set("foo", value1.DeepCopy()); | 429 expected1.Set("foo", value1.DeepCopy()); |
435 expected2.Set("bar", value2.DeepCopy()); | 430 expected2.Set("bar", value2.DeepCopy()); |
436 | 431 |
437 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); | 432 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); |
438 | 433 |
439 // All changes should be local, so no sync changes. | 434 // All changes should be local, so no sync changes. |
440 EXPECT_EQ(0u, sync_processor_->changes().size()); | 435 EXPECT_EQ(0u, sync_processor_->changes().size()); |
441 | 436 |
442 // Sync settings should have been pushed to local settings. | 437 // Sync settings should have been pushed to local settings. |
(...skipping 21 matching lines...) Expand all Loading... |
464 | 459 |
465 storage1->Set(DEFAULTS, "foo", value1); | 460 storage1->Set(DEFAULTS, "foo", value1); |
466 expected1.Set("foo", value1.DeepCopy()); | 461 expected1.Set("foo", value1.DeepCopy()); |
467 | 462 |
468 syncer::SyncDataList sync_data; | 463 syncer::SyncDataList sync_data; |
469 sync_data.push_back(settings_sync_util::CreateData( | 464 sync_data.push_back(settings_sync_util::CreateData( |
470 "s2", "bar", value2, model_type)); | 465 "s2", "bar", value2, model_type)); |
471 | 466 |
472 GetSyncableService(model_type) | 467 GetSyncableService(model_type) |
473 ->MergeDataAndStartSyncing( | 468 ->MergeDataAndStartSyncing( |
474 model_type, | 469 model_type, sync_data, std::move(sync_processor_wrapper_), |
475 sync_data, | |
476 sync_processor_wrapper_.Pass(), | |
477 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 470 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
478 expected2.Set("bar", value2.DeepCopy()); | 471 expected2.Set("bar", value2.DeepCopy()); |
479 | 472 |
480 // Make sync add some settings. | 473 // Make sync add some settings. |
481 syncer::SyncChangeList change_list; | 474 syncer::SyncChangeList change_list; |
482 change_list.push_back(settings_sync_util::CreateAdd( | 475 change_list.push_back(settings_sync_util::CreateAdd( |
483 "s1", "bar", value2, model_type)); | 476 "s1", "bar", value2, model_type)); |
484 change_list.push_back(settings_sync_util::CreateAdd( | 477 change_list.push_back(settings_sync_util::CreateAdd( |
485 "s2", "foo", value1, model_type)); | 478 "s2", "foo", value1, model_type)); |
486 GetSyncableService(model_type)->ProcessSyncChanges(FROM_HERE, change_list); | 479 GetSyncableService(model_type)->ProcessSyncChanges(FROM_HERE, change_list); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 storage2->Set(DEFAULTS, "foo", value1); | 533 storage2->Set(DEFAULTS, "foo", value1); |
541 | 534 |
542 syncer::SyncDataList sync_data; | 535 syncer::SyncDataList sync_data; |
543 sync_data.push_back(settings_sync_util::CreateData( | 536 sync_data.push_back(settings_sync_util::CreateData( |
544 "s3", "bar", value2, model_type)); | 537 "s3", "bar", value2, model_type)); |
545 sync_data.push_back(settings_sync_util::CreateData( | 538 sync_data.push_back(settings_sync_util::CreateData( |
546 "s4", "bar", value2, model_type)); | 539 "s4", "bar", value2, model_type)); |
547 | 540 |
548 GetSyncableService(model_type) | 541 GetSyncableService(model_type) |
549 ->MergeDataAndStartSyncing( | 542 ->MergeDataAndStartSyncing( |
550 model_type, | 543 model_type, sync_data, std::move(sync_processor_wrapper_), |
551 sync_data, | |
552 sync_processor_wrapper_.Pass(), | |
553 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 544 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
554 | 545 |
555 // Add something locally. | 546 // Add something locally. |
556 storage1->Set(DEFAULTS, "bar", value2); | 547 storage1->Set(DEFAULTS, "bar", value2); |
557 storage2->Set(DEFAULTS, "bar", value2); | 548 storage2->Set(DEFAULTS, "bar", value2); |
558 storage3->Set(DEFAULTS, "foo", value1); | 549 storage3->Set(DEFAULTS, "foo", value1); |
559 storage4->Set(DEFAULTS, "foo", value1); | 550 storage4->Set(DEFAULTS, "foo", value1); |
560 | 551 |
561 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "bar"); | 552 SettingSyncData* change = sync_processor_->GetOnlyChange("s1", "bar"); |
562 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); | 553 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, change->change_type()); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
679 EXPECT_EQ(1u, app_sync_data["s2"]->size()); | 670 EXPECT_EQ(1u, app_sync_data["s2"]->size()); |
680 EXPECT_PRED_FORMAT2(ValuesEq, &value2, &(*app_sync_data["s2"])[0]->value()); | 671 EXPECT_PRED_FORMAT2(ValuesEq, &value2, &(*app_sync_data["s2"])[0]->value()); |
681 | 672 |
682 // Stop each separately, there should be no changes either time. | 673 // Stop each separately, there should be no changes either time. |
683 syncer::SyncDataList sync_data; | 674 syncer::SyncDataList sync_data; |
684 sync_data.push_back(settings_sync_util::CreateData( | 675 sync_data.push_back(settings_sync_util::CreateData( |
685 "s1", "foo", value1, syncer::EXTENSION_SETTINGS)); | 676 "s1", "foo", value1, syncer::EXTENSION_SETTINGS)); |
686 | 677 |
687 GetSyncableService(syncer::EXTENSION_SETTINGS) | 678 GetSyncableService(syncer::EXTENSION_SETTINGS) |
688 ->MergeDataAndStartSyncing( | 679 ->MergeDataAndStartSyncing( |
689 syncer::EXTENSION_SETTINGS, | 680 syncer::EXTENSION_SETTINGS, sync_data, |
690 sync_data, | 681 std::move(sync_processor_wrapper_), |
691 sync_processor_wrapper_.Pass(), | |
692 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 682 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
693 GetSyncableService(syncer::EXTENSION_SETTINGS)-> | 683 GetSyncableService(syncer::EXTENSION_SETTINGS)-> |
694 StopSyncing(syncer::EXTENSION_SETTINGS); | 684 StopSyncing(syncer::EXTENSION_SETTINGS); |
695 EXPECT_EQ(0u, sync_processor_->changes().size()); | 685 EXPECT_EQ(0u, sync_processor_->changes().size()); |
696 | 686 |
697 sync_data.clear(); | 687 sync_data.clear(); |
698 sync_data.push_back(settings_sync_util::CreateData( | 688 sync_data.push_back(settings_sync_util::CreateData( |
699 "s2", "bar", value2, syncer::APP_SETTINGS)); | 689 "s2", "bar", value2, syncer::APP_SETTINGS)); |
700 | 690 |
701 scoped_ptr<syncer::SyncChangeProcessorWrapperForTest> app_settings_delegate_( | 691 scoped_ptr<syncer::SyncChangeProcessorWrapperForTest> app_settings_delegate_( |
702 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); | 692 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); |
703 GetSyncableService(syncer::APP_SETTINGS) | 693 GetSyncableService(syncer::APP_SETTINGS) |
704 ->MergeDataAndStartSyncing( | 694 ->MergeDataAndStartSyncing( |
705 syncer::APP_SETTINGS, | 695 syncer::APP_SETTINGS, sync_data, std::move(app_settings_delegate_), |
706 sync_data, | |
707 app_settings_delegate_.Pass(), | |
708 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 696 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
709 GetSyncableService(syncer::APP_SETTINGS)-> | 697 GetSyncableService(syncer::APP_SETTINGS)-> |
710 StopSyncing(syncer::APP_SETTINGS); | 698 StopSyncing(syncer::APP_SETTINGS); |
711 EXPECT_EQ(0u, sync_processor_->changes().size()); | 699 EXPECT_EQ(0u, sync_processor_->changes().size()); |
712 } | 700 } |
713 | 701 |
714 TEST_F(ExtensionSettingsSyncTest, FailingStartSyncingDisablesSync) { | 702 TEST_F(ExtensionSettingsSyncTest, FailingStartSyncingDisablesSync) { |
715 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; | 703 syncer::ModelType model_type = syncer::EXTENSION_SETTINGS; |
716 Manifest::Type type = Manifest::TYPE_EXTENSION; | 704 Manifest::Type type = Manifest::TYPE_EXTENSION; |
717 | 705 |
(...skipping 12 matching lines...) Expand all Loading... |
730 // Make bad fail for incoming sync changes. | 718 // Make bad fail for incoming sync changes. |
731 testing_factory->GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); | 719 testing_factory->GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); |
732 { | 720 { |
733 syncer::SyncDataList sync_data; | 721 syncer::SyncDataList sync_data; |
734 sync_data.push_back(settings_sync_util::CreateData( | 722 sync_data.push_back(settings_sync_util::CreateData( |
735 "good", "foo", fooValue, model_type)); | 723 "good", "foo", fooValue, model_type)); |
736 sync_data.push_back(settings_sync_util::CreateData( | 724 sync_data.push_back(settings_sync_util::CreateData( |
737 "bad", "foo", fooValue, model_type)); | 725 "bad", "foo", fooValue, model_type)); |
738 GetSyncableService(model_type) | 726 GetSyncableService(model_type) |
739 ->MergeDataAndStartSyncing( | 727 ->MergeDataAndStartSyncing( |
740 model_type, | 728 model_type, sync_data, std::move(sync_processor_wrapper_), |
741 sync_data, | |
742 sync_processor_wrapper_.Pass(), | |
743 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 729 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
744 } | 730 } |
745 testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK); | 731 testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK); |
746 | 732 |
747 { | 733 { |
748 base::DictionaryValue dict; | 734 base::DictionaryValue dict; |
749 dict.Set("foo", fooValue.DeepCopy()); | 735 dict.Set("foo", fooValue.DeepCopy()); |
750 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get()); | 736 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get()); |
751 } | 737 } |
752 { | 738 { |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); | 833 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); |
848 } | 834 } |
849 | 835 |
850 // Restarting sync should make bad start syncing again. | 836 // Restarting sync should make bad start syncing again. |
851 sync_processor_->ClearChanges(); | 837 sync_processor_->ClearChanges(); |
852 GetSyncableService(model_type)->StopSyncing(model_type); | 838 GetSyncableService(model_type)->StopSyncing(model_type); |
853 sync_processor_wrapper_.reset( | 839 sync_processor_wrapper_.reset( |
854 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); | 840 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); |
855 GetSyncableService(model_type) | 841 GetSyncableService(model_type) |
856 ->MergeDataAndStartSyncing( | 842 ->MergeDataAndStartSyncing( |
857 model_type, | 843 model_type, syncer::SyncDataList(), |
858 syncer::SyncDataList(), | 844 std::move(sync_processor_wrapper_), |
859 sync_processor_wrapper_.Pass(), | |
860 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 845 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
861 | 846 |
862 // Local settings will have been pushed to sync, since it's empty (in this | 847 // Local settings will have been pushed to sync, since it's empty (in this |
863 // test; presumably it wouldn't be live, since we've been getting changes). | 848 // test; presumably it wouldn't be live, since we've been getting changes). |
864 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 849 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
865 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 850 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
866 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 851 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
867 sync_processor_->GetOnlyChange("good", "bar")->change_type()); | 852 sync_processor_->GetOnlyChange("good", "bar")->change_type()); |
868 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 853 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
869 sync_processor_->GetOnlyChange("bad", "bar")->change_type()); | 854 sync_processor_->GetOnlyChange("bad", "bar")->change_type()); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
920 | 905 |
921 // Unlike before, initially succeeding MergeDataAndStartSyncing. | 906 // Unlike before, initially succeeding MergeDataAndStartSyncing. |
922 { | 907 { |
923 syncer::SyncDataList sync_data; | 908 syncer::SyncDataList sync_data; |
924 sync_data.push_back(settings_sync_util::CreateData( | 909 sync_data.push_back(settings_sync_util::CreateData( |
925 "good", "foo", fooValue, model_type)); | 910 "good", "foo", fooValue, model_type)); |
926 sync_data.push_back(settings_sync_util::CreateData( | 911 sync_data.push_back(settings_sync_util::CreateData( |
927 "bad", "foo", fooValue, model_type)); | 912 "bad", "foo", fooValue, model_type)); |
928 GetSyncableService(model_type) | 913 GetSyncableService(model_type) |
929 ->MergeDataAndStartSyncing( | 914 ->MergeDataAndStartSyncing( |
930 model_type, | 915 model_type, sync_data, std::move(sync_processor_wrapper_), |
931 sync_data, | |
932 sync_processor_wrapper_.Pass(), | |
933 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 916 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
934 } | 917 } |
935 | 918 |
936 EXPECT_EQ(0u, sync_processor_->changes().size()); | 919 EXPECT_EQ(0u, sync_processor_->changes().size()); |
937 | 920 |
938 { | 921 { |
939 base::DictionaryValue dict; | 922 base::DictionaryValue dict; |
940 dict.Set("foo", fooValue.DeepCopy()); | 923 dict.Set("foo", fooValue.DeepCopy()); |
941 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get()); | 924 EXPECT_PRED_FORMAT2(SettingsEq, dict, good->Get()); |
942 } | 925 } |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1025 syncer::SyncDataList all_sync_data = | 1008 syncer::SyncDataList all_sync_data = |
1026 GetSyncableService(model_type)->GetAllSyncData(model_type); | 1009 GetSyncableService(model_type)->GetAllSyncData(model_type); |
1027 EXPECT_EQ(1u, all_sync_data.size()); | 1010 EXPECT_EQ(1u, all_sync_data.size()); |
1028 EXPECT_EQ("good/foo", syncer::SyncDataLocal(all_sync_data[0]).GetTag()); | 1011 EXPECT_EQ("good/foo", syncer::SyncDataLocal(all_sync_data[0]).GetTag()); |
1029 } | 1012 } |
1030 testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK); | 1013 testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK); |
1031 | 1014 |
1032 // Sync shouldn't be disabled for good (nor bad -- but this is unimportant). | 1015 // Sync shouldn't be disabled for good (nor bad -- but this is unimportant). |
1033 GetSyncableService(model_type) | 1016 GetSyncableService(model_type) |
1034 ->MergeDataAndStartSyncing( | 1017 ->MergeDataAndStartSyncing( |
1035 model_type, | 1018 model_type, syncer::SyncDataList(), |
1036 syncer::SyncDataList(), | 1019 std::move(sync_processor_wrapper_), |
1037 sync_processor_wrapper_.Pass(), | |
1038 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1020 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1039 | 1021 |
1040 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1022 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1041 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 1023 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
1042 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1024 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1043 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); | 1025 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); |
1044 EXPECT_EQ(2u, sync_processor_->changes().size()); | 1026 EXPECT_EQ(2u, sync_processor_->changes().size()); |
1045 | 1027 |
1046 sync_processor_->ClearChanges(); | 1028 sync_processor_->ClearChanges(); |
1047 good->Set(DEFAULTS, "bar", barValue); | 1029 good->Set(DEFAULTS, "bar", barValue); |
(...skipping 20 matching lines...) Expand all Loading... |
1068 ValueStore* bad = AddExtensionAndGetStorage("bad", type); | 1050 ValueStore* bad = AddExtensionAndGetStorage("bad", type); |
1069 | 1051 |
1070 good->Set(DEFAULTS, "foo", fooValue); | 1052 good->Set(DEFAULTS, "foo", fooValue); |
1071 bad->Set(DEFAULTS, "foo", fooValue); | 1053 bad->Set(DEFAULTS, "foo", fooValue); |
1072 | 1054 |
1073 // good will successfully push foo:fooValue to sync, but bad will fail to | 1055 // good will successfully push foo:fooValue to sync, but bad will fail to |
1074 // get them so won't. | 1056 // get them so won't. |
1075 testing_factory->GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); | 1057 testing_factory->GetExisting("bad")->set_status_code(ValueStore::CORRUPTION); |
1076 GetSyncableService(model_type) | 1058 GetSyncableService(model_type) |
1077 ->MergeDataAndStartSyncing( | 1059 ->MergeDataAndStartSyncing( |
1078 model_type, | 1060 model_type, syncer::SyncDataList(), |
1079 syncer::SyncDataList(), | 1061 std::move(sync_processor_wrapper_), |
1080 sync_processor_wrapper_.Pass(), | |
1081 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1062 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1082 testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK); | 1063 testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK); |
1083 | 1064 |
1084 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1065 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1085 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 1066 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
1086 EXPECT_EQ(1u, sync_processor_->changes().size()); | 1067 EXPECT_EQ(1u, sync_processor_->changes().size()); |
1087 | 1068 |
1088 // bad should now be disabled for sync. | 1069 // bad should now be disabled for sync. |
1089 sync_processor_->ClearChanges(); | 1070 sync_processor_->ClearChanges(); |
1090 good->Set(DEFAULTS, "bar", barValue); | 1071 good->Set(DEFAULTS, "bar", barValue); |
(...skipping 28 matching lines...) Expand all Loading... |
1119 } | 1100 } |
1120 | 1101 |
1121 // Re-enabling sync without failing should cause the local changes from bad | 1102 // Re-enabling sync without failing should cause the local changes from bad |
1122 // to be pushed to sync successfully, as should future changes to bad. | 1103 // to be pushed to sync successfully, as should future changes to bad. |
1123 sync_processor_->ClearChanges(); | 1104 sync_processor_->ClearChanges(); |
1124 GetSyncableService(model_type)->StopSyncing(model_type); | 1105 GetSyncableService(model_type)->StopSyncing(model_type); |
1125 sync_processor_wrapper_.reset( | 1106 sync_processor_wrapper_.reset( |
1126 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); | 1107 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); |
1127 GetSyncableService(model_type) | 1108 GetSyncableService(model_type) |
1128 ->MergeDataAndStartSyncing( | 1109 ->MergeDataAndStartSyncing( |
1129 model_type, | 1110 model_type, syncer::SyncDataList(), |
1130 syncer::SyncDataList(), | 1111 std::move(sync_processor_wrapper_), |
1131 sync_processor_wrapper_.Pass(), | |
1132 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1112 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1133 | 1113 |
1134 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1114 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1135 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 1115 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
1136 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1116 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1137 sync_processor_->GetOnlyChange("good", "bar")->change_type()); | 1117 sync_processor_->GetOnlyChange("good", "bar")->change_type()); |
1138 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1118 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1139 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); | 1119 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); |
1140 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1120 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1141 sync_processor_->GetOnlyChange("bad", "bar")->change_type()); | 1121 sync_processor_->GetOnlyChange("bad", "bar")->change_type()); |
(...skipping 22 matching lines...) Expand all Loading... |
1164 | 1144 |
1165 ValueStore* good = AddExtensionAndGetStorage("good", type); | 1145 ValueStore* good = AddExtensionAndGetStorage("good", type); |
1166 ValueStore* bad = AddExtensionAndGetStorage("bad", type); | 1146 ValueStore* bad = AddExtensionAndGetStorage("bad", type); |
1167 | 1147 |
1168 // Only set bad; setting good will cause it to fail below. | 1148 // Only set bad; setting good will cause it to fail below. |
1169 bad->Set(DEFAULTS, "foo", fooValue); | 1149 bad->Set(DEFAULTS, "foo", fooValue); |
1170 | 1150 |
1171 sync_processor_->set_fail_all_requests(true); | 1151 sync_processor_->set_fail_all_requests(true); |
1172 GetSyncableService(model_type) | 1152 GetSyncableService(model_type) |
1173 ->MergeDataAndStartSyncing( | 1153 ->MergeDataAndStartSyncing( |
1174 model_type, | 1154 model_type, syncer::SyncDataList(), |
1175 syncer::SyncDataList(), | 1155 std::move(sync_processor_wrapper_), |
1176 sync_processor_wrapper_.Pass(), | |
1177 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1156 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1178 sync_processor_->set_fail_all_requests(false); | 1157 sync_processor_->set_fail_all_requests(false); |
1179 | 1158 |
1180 // Changes from good will be send to sync, changes from bad won't. | 1159 // Changes from good will be send to sync, changes from bad won't. |
1181 sync_processor_->ClearChanges(); | 1160 sync_processor_->ClearChanges(); |
1182 good->Set(DEFAULTS, "foo", barValue); | 1161 good->Set(DEFAULTS, "foo", barValue); |
1183 bad->Set(DEFAULTS, "foo", barValue); | 1162 bad->Set(DEFAULTS, "foo", barValue); |
1184 | 1163 |
1185 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1164 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1186 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 1165 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
(...skipping 21 matching lines...) Expand all Loading... |
1208 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); | 1187 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); |
1209 } | 1188 } |
1210 | 1189 |
1211 // Restarting sync makes everything work again. | 1190 // Restarting sync makes everything work again. |
1212 sync_processor_->ClearChanges(); | 1191 sync_processor_->ClearChanges(); |
1213 GetSyncableService(model_type)->StopSyncing(model_type); | 1192 GetSyncableService(model_type)->StopSyncing(model_type); |
1214 sync_processor_wrapper_.reset( | 1193 sync_processor_wrapper_.reset( |
1215 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); | 1194 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); |
1216 GetSyncableService(model_type) | 1195 GetSyncableService(model_type) |
1217 ->MergeDataAndStartSyncing( | 1196 ->MergeDataAndStartSyncing( |
1218 model_type, | 1197 model_type, syncer::SyncDataList(), |
1219 syncer::SyncDataList(), | 1198 std::move(sync_processor_wrapper_), |
1220 sync_processor_wrapper_.Pass(), | |
1221 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1199 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1222 | 1200 |
1223 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1201 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1224 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 1202 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
1225 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1203 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1226 sync_processor_->GetOnlyChange("good", "bar")->change_type()); | 1204 sync_processor_->GetOnlyChange("good", "bar")->change_type()); |
1227 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1205 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1228 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); | 1206 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); |
1229 EXPECT_EQ(3u, sync_processor_->changes().size()); | 1207 EXPECT_EQ(3u, sync_processor_->changes().size()); |
1230 | 1208 |
(...skipping 16 matching lines...) Expand all Loading... |
1247 base::StringValue barValue("barValue"); | 1225 base::StringValue barValue("barValue"); |
1248 | 1226 |
1249 TestingValueStoreFactory* testing_factory = new TestingValueStoreFactory(); | 1227 TestingValueStoreFactory* testing_factory = new TestingValueStoreFactory(); |
1250 storage_factory_->Reset(testing_factory); | 1228 storage_factory_->Reset(testing_factory); |
1251 | 1229 |
1252 ValueStore* good = AddExtensionAndGetStorage("good", type); | 1230 ValueStore* good = AddExtensionAndGetStorage("good", type); |
1253 ValueStore* bad = AddExtensionAndGetStorage("bad", type); | 1231 ValueStore* bad = AddExtensionAndGetStorage("bad", type); |
1254 | 1232 |
1255 GetSyncableService(model_type) | 1233 GetSyncableService(model_type) |
1256 ->MergeDataAndStartSyncing( | 1234 ->MergeDataAndStartSyncing( |
1257 model_type, | 1235 model_type, syncer::SyncDataList(), |
1258 syncer::SyncDataList(), | 1236 std::move(sync_processor_wrapper_), |
1259 sync_processor_wrapper_.Pass(), | |
1260 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1237 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1261 | 1238 |
1262 // bad will fail to send changes. | 1239 // bad will fail to send changes. |
1263 good->Set(DEFAULTS, "foo", fooValue); | 1240 good->Set(DEFAULTS, "foo", fooValue); |
1264 sync_processor_->set_fail_all_requests(true); | 1241 sync_processor_->set_fail_all_requests(true); |
1265 bad->Set(DEFAULTS, "foo", fooValue); | 1242 bad->Set(DEFAULTS, "foo", fooValue); |
1266 sync_processor_->set_fail_all_requests(false); | 1243 sync_processor_->set_fail_all_requests(false); |
1267 | 1244 |
1268 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1245 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1269 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 1246 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
(...skipping 30 matching lines...) Expand all Loading... |
1300 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); | 1277 EXPECT_PRED_FORMAT2(SettingsEq, dict, bad->Get()); |
1301 } | 1278 } |
1302 | 1279 |
1303 // Restarting sync makes everything work again. | 1280 // Restarting sync makes everything work again. |
1304 sync_processor_->ClearChanges(); | 1281 sync_processor_->ClearChanges(); |
1305 GetSyncableService(model_type)->StopSyncing(model_type); | 1282 GetSyncableService(model_type)->StopSyncing(model_type); |
1306 sync_processor_wrapper_.reset( | 1283 sync_processor_wrapper_.reset( |
1307 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); | 1284 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); |
1308 GetSyncableService(model_type) | 1285 GetSyncableService(model_type) |
1309 ->MergeDataAndStartSyncing( | 1286 ->MergeDataAndStartSyncing( |
1310 model_type, | 1287 model_type, syncer::SyncDataList(), |
1311 syncer::SyncDataList(), | 1288 std::move(sync_processor_wrapper_), |
1312 sync_processor_wrapper_.Pass(), | |
1313 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1289 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1314 | 1290 |
1315 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1291 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1316 sync_processor_->GetOnlyChange("good", "foo")->change_type()); | 1292 sync_processor_->GetOnlyChange("good", "foo")->change_type()); |
1317 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1293 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1318 sync_processor_->GetOnlyChange("good", "bar")->change_type()); | 1294 sync_processor_->GetOnlyChange("good", "bar")->change_type()); |
1319 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, | 1295 EXPECT_EQ(syncer::SyncChange::ACTION_ADD, |
1320 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); | 1296 sync_processor_->GetOnlyChange("bad", "foo")->change_type()); |
1321 EXPECT_EQ(3u, sync_processor_->changes().size()); | 1297 EXPECT_EQ(3u, sync_processor_->changes().size()); |
1322 | 1298 |
(...skipping 15 matching lines...) Expand all Loading... |
1338 | 1314 |
1339 // This value should be larger than the limit in sync_storage_backend.cc. | 1315 // This value should be larger than the limit in sync_storage_backend.cc. |
1340 std::string string_10k; | 1316 std::string string_10k; |
1341 for (size_t i = 0; i < 10000; ++i) { | 1317 for (size_t i = 0; i < 10000; ++i) { |
1342 string_10k.append("a"); | 1318 string_10k.append("a"); |
1343 } | 1319 } |
1344 base::StringValue large_value(string_10k); | 1320 base::StringValue large_value(string_10k); |
1345 | 1321 |
1346 GetSyncableService(model_type) | 1322 GetSyncableService(model_type) |
1347 ->MergeDataAndStartSyncing( | 1323 ->MergeDataAndStartSyncing( |
1348 model_type, | 1324 model_type, syncer::SyncDataList(), |
1349 syncer::SyncDataList(), | 1325 std::move(sync_processor_wrapper_), |
1350 sync_processor_wrapper_.Pass(), | |
1351 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1326 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1352 | 1327 |
1353 // Large local change rejected and doesn't get sent out. | 1328 // Large local change rejected and doesn't get sent out. |
1354 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); | 1329 ValueStore* storage1 = AddExtensionAndGetStorage("s1", type); |
1355 EXPECT_FALSE( | 1330 EXPECT_FALSE( |
1356 storage1->Set(DEFAULTS, "large_value", large_value)->status().ok()); | 1331 storage1->Set(DEFAULTS, "large_value", large_value)->status().ok()); |
1357 EXPECT_EQ(0u, sync_processor_->changes().size()); | 1332 EXPECT_EQ(0u, sync_processor_->changes().size()); |
1358 | 1333 |
1359 // Large incoming change should still get accepted. | 1334 // Large incoming change should still get accepted. |
1360 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); | 1335 ValueStore* storage2 = AddExtensionAndGetStorage("s2", type); |
(...skipping 22 matching lines...) Expand all Loading... |
1383 ValueStore* storage = AddExtensionAndGetStorage("ext", type); | 1358 ValueStore* storage = AddExtensionAndGetStorage("ext", type); |
1384 | 1359 |
1385 { | 1360 { |
1386 syncer::SyncDataList sync_data_list; | 1361 syncer::SyncDataList sync_data_list; |
1387 scoped_ptr<base::Value> string_value(new base::StringValue("value")); | 1362 scoped_ptr<base::Value> string_value(new base::StringValue("value")); |
1388 sync_data_list.push_back(settings_sync_util::CreateData( | 1363 sync_data_list.push_back(settings_sync_util::CreateData( |
1389 "ext", "key.with.dot", *string_value, model_type)); | 1364 "ext", "key.with.dot", *string_value, model_type)); |
1390 | 1365 |
1391 GetSyncableService(model_type) | 1366 GetSyncableService(model_type) |
1392 ->MergeDataAndStartSyncing( | 1367 ->MergeDataAndStartSyncing( |
1393 model_type, | 1368 model_type, sync_data_list, std::move(sync_processor_wrapper_), |
1394 sync_data_list, | |
1395 sync_processor_wrapper_.Pass(), | |
1396 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); | 1369 make_scoped_ptr(new syncer::SyncErrorFactoryMock())); |
1397 } | 1370 } |
1398 | 1371 |
1399 // Test dots in keys that come from sync. | 1372 // Test dots in keys that come from sync. |
1400 { | 1373 { |
1401 ValueStore::ReadResult data = storage->Get(); | 1374 ValueStore::ReadResult data = storage->Get(); |
1402 ASSERT_TRUE(data->status().ok()); | 1375 ASSERT_TRUE(data->status().ok()); |
1403 | 1376 |
1404 base::DictionaryValue expected_data; | 1377 base::DictionaryValue expected_data; |
1405 expected_data.SetWithoutPathExpansion( | 1378 expected_data.SetWithoutPathExpansion( |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1475 settings_namespace::SYNC, | 1448 settings_namespace::SYNC, |
1476 base::Bind(&UnlimitedSyncStorageTestCallback)); | 1449 base::Bind(&UnlimitedSyncStorageTestCallback)); |
1477 frontend_->RunWithStorage(extension, | 1450 frontend_->RunWithStorage(extension, |
1478 settings_namespace::LOCAL, | 1451 settings_namespace::LOCAL, |
1479 base::Bind(&UnlimitedLocalStorageTestCallback)); | 1452 base::Bind(&UnlimitedLocalStorageTestCallback)); |
1480 | 1453 |
1481 base::MessageLoop::current()->RunUntilIdle(); | 1454 base::MessageLoop::current()->RunUntilIdle(); |
1482 } | 1455 } |
1483 | 1456 |
1484 } // namespace extensions | 1457 } // namespace extensions |
OLD | NEW |