Chromium Code Reviews| Index: chrome/browser/sync/profile_sync_service_preference_unittest.cc |
| diff --git a/chrome/browser/sync/profile_sync_service_preference_unittest.cc b/chrome/browser/sync/profile_sync_service_preference_unittest.cc |
| index 3c5dbe674983c80d00d9da1bf47ff2bbc3b5f364..8a82a483d839dfc048628a80aea6186e626aeb7d 100644 |
| --- a/chrome/browser/sync/profile_sync_service_preference_unittest.cc |
| +++ b/chrome/browser/sync/profile_sync_service_preference_unittest.cc |
| @@ -402,6 +402,144 @@ TEST_F(ProfileSyncServicePreferenceTest, ModelAssociationCloudHasData) { |
| STLDeleteValues(&cloud_data); |
| } |
| +TEST_F(ProfileSyncServicePreferenceTest, |
| + ModelAssociationCloudHasOldMigratedData) { |
| + ASSERT_TRUE(PrefModelAssociator::IsMigratedPreference( |
| + prefs::kURLsToRestoreOnStartup)); |
| + ASSERT_TRUE(PrefModelAssociator::IsOldMigratedPreference( |
| + prefs::kURLsToRestoreOnStartupOld)); |
| + prefs_->SetString(prefs::kHomePage, example_url0_); |
| + { |
| + ListPrefUpdate update(prefs_, prefs::kURLsToRestoreOnStartupOld); |
|
Nicolas Zea
2013/10/11 19:58:54
Is this used for anything?
robertshield
2013/10/11 21:47:23
This should have been (and now is) prefs::kURLsToR
|
| + ListValue* url_list = update.Get(); |
| + url_list->Append(Value::CreateStringValue(example_url0_)); |
| + url_list->Append(Value::CreateStringValue(example_url1_)); |
| + } |
| + |
| + PreferenceValues cloud_data; |
| + cloud_data[prefs::kHomePage] = Value::CreateStringValue(example_url1_); |
| + ListValue* urls_to_restore = new ListValue; |
| + urls_to_restore->Append(Value::CreateStringValue(example_url1_)); |
| + urls_to_restore->Append(Value::CreateStringValue(example_url2_)); |
| + cloud_data[prefs::kURLsToRestoreOnStartup] = urls_to_restore; |
|
Nicolas Zea
2013/10/11 19:58:54
If this test is for old migrated data in the cloud
robertshield
2013/10/11 21:47:23
Yes, sorry, this test was borked. Revised.
|
| + |
| + AddPreferenceEntriesHelper helper(this, cloud_data); |
| + ASSERT_TRUE(StartSyncService(helper.callback(), false)); |
| + ASSERT_TRUE(helper.success()); |
| + |
| + scoped_ptr<const Value> value(GetSyncedValue(prefs::kHomePage)); |
| + ASSERT_TRUE(value.get()); |
| + std::string string_value; |
| + EXPECT_TRUE(value->GetAsString(&string_value)); |
| + EXPECT_EQ(example_url1_, string_value); |
| + EXPECT_EQ(example_url1_, prefs_->GetString(prefs::kHomePage)); |
| + |
| + // Expect that |
|
Nicolas Zea
2013/10/11 19:58:54
finish comment?
robertshield
2013/10/11 21:47:23
Done.
|
| + scoped_ptr<ListValue> expected_urls(new ListValue); |
| + expected_urls->Append(Value::CreateStringValue(example_url1_)); |
| + expected_urls->Append(Value::CreateStringValue(example_url2_)); |
| + |
| + value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartup)); |
| + ASSERT_TRUE(value.get()); |
| + EXPECT_TRUE(value->Equals(expected_urls.get())); |
| + EXPECT_TRUE(GetPreferenceValue(prefs::kURLsToRestoreOnStartup). |
| + Equals(expected_urls.get())); |
| +} |
| + |
| +TEST_F(ProfileSyncServicePreferenceTest, |
| + ModelAssociationCloudHasNewMigratedData) { |
| + ASSERT_TRUE(PrefModelAssociator::IsMigratedPreference( |
| + prefs::kURLsToRestoreOnStartup)); |
| + ASSERT_TRUE(PrefModelAssociator::IsOldMigratedPreference( |
| + prefs::kURLsToRestoreOnStartupOld)); |
| + prefs_->SetString(prefs::kHomePage, example_url0_); |
| + { |
| + ListPrefUpdate update(prefs_, prefs::kURLsToRestoreOnStartupOld); |
| + ListValue* url_list = update.Get(); |
| + url_list->Append(Value::CreateStringValue(example_url0_)); |
| + url_list->Append(Value::CreateStringValue(example_url1_)); |
| + } |
| + |
| + PreferenceValues cloud_data; |
| + cloud_data[prefs::kHomePage] = Value::CreateStringValue(example_url1_); |
| + ListValue* urls_to_restore = new ListValue; |
| + urls_to_restore->Append(Value::CreateStringValue(example_url1_)); |
| + urls_to_restore->Append(Value::CreateStringValue(example_url2_)); |
| + cloud_data[prefs::kURLsToRestoreOnStartup] = urls_to_restore; |
| + |
| + AddPreferenceEntriesHelper helper(this, cloud_data); |
| + ASSERT_TRUE(StartSyncService(helper.callback(), false)); |
| + ASSERT_TRUE(helper.success()); |
| + |
| + scoped_ptr<const Value> value(GetSyncedValue(prefs::kHomePage)); |
| + ASSERT_TRUE(value.get()); |
| + std::string string_value; |
| + EXPECT_TRUE(value->GetAsString(&string_value)); |
| + EXPECT_EQ(example_url1_, string_value); |
| + EXPECT_EQ(example_url1_, prefs_->GetString(prefs::kHomePage)); |
| + |
| + // Expect that the cloud data under the new migrated preference name sticks. |
| + scoped_ptr<ListValue> expected_urls(new ListValue); |
| + expected_urls->Append(Value::CreateStringValue(example_url1_)); |
| + expected_urls->Append(Value::CreateStringValue(example_url2_)); |
| + |
| + value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartup)); |
| + ASSERT_TRUE(value.get()); |
| + EXPECT_TRUE(value->Equals(expected_urls.get())); |
| + EXPECT_TRUE(GetPreferenceValue(prefs::kURLsToRestoreOnStartup). |
| + Equals(expected_urls.get())); |
| +} |
| + |
| +TEST_F(ProfileSyncServicePreferenceTest, |
| + ModelAssociationCloudAddsOldAndNewMigratedData) { |
| + ASSERT_TRUE(PrefModelAssociator::IsMigratedPreference( |
| + prefs::kURLsToRestoreOnStartup)); |
| + ASSERT_TRUE(PrefModelAssociator::IsOldMigratedPreference( |
| + prefs::kURLsToRestoreOnStartupOld)); |
| + prefs_->SetString(prefs::kHomePage, example_url0_); |
| + { |
| + ListPrefUpdate update_old(prefs_, prefs::kURLsToRestoreOnStartupOld); |
| + ListValue* url_list_old = update_old.Get(); |
| + url_list_old->Append(Value::CreateStringValue(example_url0_)); |
| + url_list_old->Append(Value::CreateStringValue(example_url1_)); |
| + ListPrefUpdate update(prefs_, prefs::kURLsToRestoreOnStartup); |
| + ListValue* url_list = update.Get(); |
| + url_list->Append(Value::CreateStringValue(example_url1_)); |
| + url_list->Append(Value::CreateStringValue(example_url2_)); |
| + } |
| + |
| + PreferenceValues cloud_data; |
| + cloud_data[prefs::kHomePage] = Value::CreateStringValue(example_url1_); |
| + |
| + AddPreferenceEntriesHelper helper(this, cloud_data); |
| + ASSERT_TRUE(StartSyncService(helper.callback(), false)); |
| + ASSERT_TRUE(helper.success()); |
| + |
| + scoped_ptr<const Value> value(GetSyncedValue(prefs::kHomePage)); |
| + ASSERT_TRUE(value.get()); |
| + std::string string_value; |
| + EXPECT_TRUE(value->GetAsString(&string_value)); |
| + EXPECT_EQ(example_url1_, string_value); |
| + EXPECT_EQ(example_url1_, prefs_->GetString(prefs::kHomePage)); |
| + |
| + // Expect that the cloud data under the new migrated preference name sticks. |
| + scoped_ptr<ListValue> expected_urls(new ListValue); |
| + expected_urls->Append(Value::CreateStringValue(example_url1_)); |
| + expected_urls->Append(Value::CreateStringValue(example_url2_)); |
| + |
| + value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartup)); |
| + ASSERT_TRUE(value.get()); |
| + EXPECT_TRUE(value->Equals(expected_urls.get())); |
| + EXPECT_TRUE(GetPreferenceValue(prefs::kURLsToRestoreOnStartup). |
| + Equals(expected_urls.get())); |
| + |
| + // Should not have synced in the old startup url values. |
| + value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartupOld)); |
| + ASSERT_FALSE(value.get()); |
| + EXPECT_FALSE(GetPreferenceValue(prefs::kURLsToRestoreOnStartupOld). |
| + Equals(expected_urls.get())); |
| +} |
| + |
| TEST_F(ProfileSyncServicePreferenceTest, FailModelAssociation) { |
| ASSERT_TRUE(StartSyncService(base::Closure(), true)); |
| EXPECT_TRUE(sync_service_->HasUnrecoverableError()); |