Chromium Code Reviews| Index: chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc |
| diff --git a/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc b/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc |
| index c3c8836a304c3bf0c567c9f55e95f1e216050dc8..e76742f3cc590b64e24136b530d57ecbc09fdd8c 100644 |
| --- a/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc |
| +++ b/chrome/browser/supervised_user/supervised_user_settings_service_unittest.cc |
| @@ -70,13 +70,15 @@ class SupervisedUserSettingsServiceTest : public ::testing::Test { |
| new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); |
| } |
| - void StartSyncing(const syncer::SyncDataList& initial_sync_data) { |
| + syncer::SyncMergeResult StartSyncing( |
| + const syncer::SyncDataList& initial_sync_data) { |
| scoped_ptr<syncer::SyncErrorFactory> error_handler( |
| new MockSyncErrorFactory(syncer::SUPERVISED_USER_SETTINGS)); |
| syncer::SyncMergeResult result = settings_service_.MergeDataAndStartSyncing( |
| syncer::SUPERVISED_USER_SETTINGS, initial_sync_data, |
| CreateSyncProcessor(), std::move(error_handler)); |
| EXPECT_FALSE(result.error().IsSet()); |
| + return result; |
| } |
| void UploadSplitItem(const std::string& key, const std::string& value) { |
| @@ -202,6 +204,60 @@ TEST_F(SupervisedUserSettingsServiceTest, ProcessSplitSetting) { |
| EXPECT_TRUE(dict_value->Equals(&dict)); |
| } |
| +TEST_F(SupervisedUserSettingsServiceTest, Merge) { |
| + syncer::SyncMergeResult result = StartSyncing(syncer::SyncDataList()); |
| + EXPECT_EQ(0, result.num_items_added()); |
| + EXPECT_EQ(0, result.num_items_deleted()); |
| + EXPECT_EQ(0, result.num_items_modified()); |
| + EXPECT_EQ(0, result.num_items_before_association()); |
| + EXPECT_EQ(0, result.num_items_after_association()); |
| + |
| + ASSERT_TRUE(settings_); |
| + const base::Value* value = NULL; |
|
Bernhard Bauer
2016/01/08 16:04:46
nullptr please.
Deepak
2016/01/11 10:38:36
Done.
|
| + EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value)); |
| + |
| + base::DictionaryValue dict; |
| + dict.SetString("foo", "bar"); |
| + dict.SetBoolean("awesomesauce", true); |
| + dict.SetInteger("eaudecologne", 4711); |
| + |
| + settings_.reset(); |
| + syncer::SyncDataList sync_data; |
| + sync_data.push_back(SupervisedUserSettingsService::CreateSyncDataForSetting( |
| + kSettingsName, base::StringValue(kSettingsValue))); |
| + for (base::DictionaryValue::Iterator it(dict); !it.IsAtEnd(); it.Advance()) { |
| + sync_data.push_back(SupervisedUserSettingsService::CreateSyncDataForSetting( |
| + SupervisedUserSettingsService::MakeSplitSettingKey(kSettingsName, |
| + it.key()), |
| + it.value())); |
| + } |
| + |
| + result = StartSyncing(sync_data); |
| + EXPECT_EQ(4, result.num_items_added()); |
|
Bernhard Bauer
2016/01/08 16:04:46
This is somewhat strange. Why do we add four items
Deepak
2016/01/11 10:38:36
I am adding a entry in sync_data at line 226.
and
Bernhard Bauer
2016/01/18 17:56:56
Oh, right. Could you add a comment that explains t
|
| + EXPECT_EQ(0, result.num_items_deleted()); |
| + EXPECT_EQ(0, result.num_items_modified()); |
| + EXPECT_EQ(0, result.num_items_before_association()); |
| + EXPECT_EQ(4, result.num_items_after_association()); |
| + |
| + sync_data.clear(); |
| + dict.Clear(); |
| + dict.SetString("foo", "burp"); |
| + dict.SetString("item", "first"); |
| + for (base::DictionaryValue::Iterator it(dict); !it.IsAtEnd(); it.Advance()) { |
| + sync_data.push_back(SupervisedUserSettingsService::CreateSyncDataForSetting( |
| + SupervisedUserSettingsService::MakeSplitSettingKey(kSettingsName, |
|
Bernhard Bauer
2016/01/08 16:04:46
This only uses split settings. It would be good to
Deepak
2016/01/11 10:38:36
Done.
|
| + it.key()), |
| + it.value())); |
| + } |
| + |
| + result = StartSyncing(sync_data); |
| + EXPECT_EQ(1, result.num_items_added()); |
| + EXPECT_EQ(3, result.num_items_deleted()); |
| + EXPECT_EQ(1, result.num_items_modified()); |
| + EXPECT_EQ(4, result.num_items_before_association()); |
| + EXPECT_EQ(2, result.num_items_after_association()); |
| +} |
| + |
| TEST_F(SupervisedUserSettingsServiceTest, SetLocalSetting) { |
| const base::Value* value = NULL; |
| EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value)); |