| 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 <map> | 5 #include <map> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 if (sync_service_) | 149 if (sync_service_) |
| 150 return false; | 150 return false; |
| 151 | 151 |
| 152 SigninManager* signin = SigninManagerFactory::GetForProfile(profile_.get()); | 152 SigninManager* signin = SigninManagerFactory::GetForProfile(profile_.get()); |
| 153 signin->SetAuthenticatedUsername("test"); | 153 signin->SetAuthenticatedUsername("test"); |
| 154 sync_service_ = static_cast<TestProfileSyncService*>( | 154 sync_service_ = static_cast<TestProfileSyncService*>( |
| 155 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 155 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| 156 profile_.get(), &TestProfileSyncService::BuildAutoStartAsyncInit)); | 156 profile_.get(), &TestProfileSyncService::BuildAutoStartAsyncInit)); |
| 157 sync_service_->set_backend_init_callback(callback); | 157 sync_service_->set_backend_init_callback(callback); |
| 158 pref_sync_service_ = reinterpret_cast<PrefModelAssociator*>( | 158 pref_sync_service_ = reinterpret_cast<PrefModelAssociator*>( |
| 159 prefs_->GetSyncableService()); | 159 prefs_->GetSyncableService(syncer::PREFERENCES)); |
| 160 if (!pref_sync_service_) | 160 if (!pref_sync_service_) |
| 161 return false; | 161 return false; |
| 162 ProfileSyncComponentsFactoryMock* components = | 162 ProfileSyncComponentsFactoryMock* components = |
| 163 sync_service_->components_factory_mock(); | 163 sync_service_->components_factory_mock(); |
| 164 EXPECT_CALL(*components, GetSyncableServiceForType(syncer::PREFERENCES)). | 164 EXPECT_CALL(*components, GetSyncableServiceForType(syncer::PREFERENCES)). |
| 165 WillOnce(Return(pref_sync_service_->AsWeakPtr())); | 165 WillOnce(Return(pref_sync_service_->AsWeakPtr())); |
| 166 | 166 |
| 167 EXPECT_CALL(*components, CreateDataTypeManager(_, _, _, _, _)). | 167 EXPECT_CALL(*components, CreateDataTypeManager(_, _, _, _, _)). |
| 168 WillOnce(ReturnNewDataTypeManagerWithDebugListener( | 168 WillOnce(ReturnNewDataTypeManagerWithDebugListener( |
| 169 syncer::MakeWeakHandle(debug_ptr_factory_.GetWeakPtr()))); | 169 syncer::MakeWeakHandle(debug_ptr_factory_.GetWeakPtr()))); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 const sync_pb::PreferenceSpecifics& specifics( | 216 const sync_pb::PreferenceSpecifics& specifics( |
| 217 node.GetEntitySpecifics().preference()); | 217 node.GetEntitySpecifics().preference()); |
| 218 | 218 |
| 219 return base::JSONReader::Read(specifics.value()); | 219 return base::JSONReader::Read(specifics.value()); |
| 220 } | 220 } |
| 221 | 221 |
| 222 int64 WriteSyncedValue(const std::string& name, | 222 int64 WriteSyncedValue(const std::string& name, |
| 223 const Value& value, | 223 const Value& value, |
| 224 syncer::WriteNode* node) { | 224 syncer::WriteNode* node) { |
| 225 syncer::SyncData sync_data; | 225 syncer::SyncData sync_data; |
| 226 if (!PrefModelAssociator::CreatePrefSyncData(name, | 226 if (!pref_sync_service_->CreatePrefSyncData(name, |
| 227 value, | 227 value, |
| 228 &sync_data)) { | 228 &sync_data)) { |
| 229 return syncer::kInvalidId; | 229 return syncer::kInvalidId; |
| 230 } | 230 } |
| 231 node->SetEntitySpecifics(sync_data.GetSpecifics()); | 231 node->SetEntitySpecifics(sync_data.GetSpecifics()); |
| 232 return node->GetId(); | 232 return node->GetId(); |
| 233 } | 233 } |
| 234 | 234 |
| 235 bool IsSynced(const std::string& pref_name) { | 235 bool IsSynced(const std::string& pref_name) { |
| 236 return pref_sync_service_->registered_preferences().count(pref_name) > 0; | 236 return pref_sync_service_->registered_preferences().count(pref_name) > 0; |
| 237 } | 237 } |
| 238 | 238 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 | 294 |
| 295 TEST_F(ProfileSyncServicePreferenceTest, CreatePrefSyncData) { | 295 TEST_F(ProfileSyncServicePreferenceTest, CreatePrefSyncData) { |
| 296 prefs_->SetString(prefs::kHomePage, example_url0_); | 296 prefs_->SetString(prefs::kHomePage, example_url0_); |
| 297 CreateRootHelper create_root(this, syncer::PREFERENCES); | 297 CreateRootHelper create_root(this, syncer::PREFERENCES); |
| 298 ASSERT_TRUE(StartSyncService(create_root.callback(), false)); | 298 ASSERT_TRUE(StartSyncService(create_root.callback(), false)); |
| 299 ASSERT_TRUE(create_root.success()); | 299 ASSERT_TRUE(create_root.success()); |
| 300 | 300 |
| 301 const PrefService::Preference* pref = | 301 const PrefService::Preference* pref = |
| 302 prefs_->FindPreference(prefs::kHomePage); | 302 prefs_->FindPreference(prefs::kHomePage); |
| 303 syncer::SyncData sync_data; | 303 syncer::SyncData sync_data; |
| 304 EXPECT_TRUE(PrefModelAssociator::CreatePrefSyncData(pref->name(), | 304 EXPECT_TRUE(pref_sync_service_->CreatePrefSyncData(pref->name(), |
| 305 *pref->GetValue(), &sync_data)); | 305 *pref->GetValue(), &sync_data)); |
| 306 EXPECT_EQ(std::string(prefs::kHomePage), sync_data.GetTag()); | 306 EXPECT_EQ(std::string(prefs::kHomePage), sync_data.GetTag()); |
| 307 const sync_pb::PreferenceSpecifics& specifics(sync_data.GetSpecifics(). | 307 const sync_pb::PreferenceSpecifics& specifics(sync_data.GetSpecifics(). |
| 308 preference()); | 308 preference()); |
| 309 EXPECT_EQ(std::string(prefs::kHomePage), specifics.name()); | 309 EXPECT_EQ(std::string(prefs::kHomePage), specifics.name()); |
| 310 | 310 |
| 311 scoped_ptr<Value> value(base::JSONReader::Read(specifics.value())); | 311 scoped_ptr<Value> value(base::JSONReader::Read(specifics.value())); |
| 312 EXPECT_TRUE(pref->GetValue()->Equals(value.get())); | 312 EXPECT_TRUE(pref->GetValue()->Equals(value.get())); |
| 313 } | 313 } |
| 314 | 314 |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 | 588 |
| 589 TEST_F(ProfileSyncServicePreferenceTest, DynamicManagedPreferences) { | 589 TEST_F(ProfileSyncServicePreferenceTest, DynamicManagedPreferences) { |
| 590 CreateRootHelper create_root(this, syncer::PREFERENCES); | 590 CreateRootHelper create_root(this, syncer::PREFERENCES); |
| 591 ASSERT_TRUE(StartSyncService(create_root.callback(), false)); | 591 ASSERT_TRUE(StartSyncService(create_root.callback(), false)); |
| 592 ASSERT_TRUE(create_root.success()); | 592 ASSERT_TRUE(create_root.success()); |
| 593 | 593 |
| 594 scoped_ptr<Value> initial_value( | 594 scoped_ptr<Value> initial_value( |
| 595 Value::CreateStringValue("http://example.com/initial")); | 595 Value::CreateStringValue("http://example.com/initial")); |
| 596 profile_->GetPrefs()->Set(prefs::kHomePage, *initial_value); | 596 profile_->GetPrefs()->Set(prefs::kHomePage, *initial_value); |
| 597 scoped_ptr<const Value> actual(GetSyncedValue(prefs::kHomePage)); | 597 scoped_ptr<const Value> actual(GetSyncedValue(prefs::kHomePage)); |
| 598 ASSERT_TRUE(actual.get()); |
| 598 EXPECT_TRUE(initial_value->Equals(actual.get())); | 599 EXPECT_TRUE(initial_value->Equals(actual.get())); |
| 599 | 600 |
| 600 // Switch kHomePage to managed and set a different value. | 601 // Switch kHomePage to managed and set a different value. |
| 601 scoped_ptr<Value> managed_value( | 602 scoped_ptr<Value> managed_value( |
| 602 Value::CreateStringValue("http://example.com/managed")); | 603 Value::CreateStringValue("http://example.com/managed")); |
| 603 profile_->GetTestingPrefService()->SetManagedPref( | 604 profile_->GetTestingPrefService()->SetManagedPref( |
| 604 prefs::kHomePage, managed_value->DeepCopy()); | 605 prefs::kHomePage, managed_value->DeepCopy()); |
| 605 | 606 |
| 606 // The pref value should be the one dictated by policy. | 607 // The pref value should be the one dictated by policy. |
| 607 EXPECT_TRUE(managed_value->Equals(&GetPreferenceValue(prefs::kHomePage))); | 608 EXPECT_TRUE(managed_value->Equals(&GetPreferenceValue(prefs::kHomePage))); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 675 EXPECT_FALSE(pref->IsDefaultValue()); | 676 EXPECT_FALSE(pref->IsDefaultValue()); |
| 676 // There should be no synced value. | 677 // There should be no synced value. |
| 677 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 678 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); |
| 678 // Switch kHomePage back to unmanaged. | 679 // Switch kHomePage back to unmanaged. |
| 679 profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage); | 680 profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage); |
| 680 // The original value should be picked up. | 681 // The original value should be picked up. |
| 681 EXPECT_TRUE(pref->IsDefaultValue()); | 682 EXPECT_TRUE(pref->IsDefaultValue()); |
| 682 // There should still be no synced value. | 683 // There should still be no synced value. |
| 683 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 684 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); |
| 684 } | 685 } |
| OLD | NEW |