| 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 23 matching lines...) Expand all Loading... |
| 34 #include "chrome/common/pref_names.h" | 34 #include "chrome/common/pref_names.h" |
| 35 #include "chrome/test/base/testing_pref_service.h" | 35 #include "chrome/test/base/testing_pref_service.h" |
| 36 #include "chrome/test/base/testing_profile.h" | 36 #include "chrome/test/base/testing_profile.h" |
| 37 #include "sync/protocol/preference_specifics.pb.h" | 37 #include "sync/protocol/preference_specifics.pb.h" |
| 38 #include "sync/syncable/model_type.h" | 38 #include "sync/syncable/model_type.h" |
| 39 #include "testing/gmock/include/gmock/gmock.h" | 39 #include "testing/gmock/include/gmock/gmock.h" |
| 40 #include "testing/gtest/include/gtest/gtest.h" | 40 #include "testing/gtest/include/gtest/gtest.h" |
| 41 | 41 |
| 42 using base::JSONReader; | 42 using base::JSONReader; |
| 43 using browser_sync::GenericChangeProcessor; | 43 using browser_sync::GenericChangeProcessor; |
| 44 using browser_sync::SharedChangeProcessor; |
| 44 using browser_sync::UIDataTypeController; | 45 using browser_sync::UIDataTypeController; |
| 45 using browser_sync::SyncBackendHost; | |
| 46 using sync_api::ChangeRecord; | 46 using sync_api::ChangeRecord; |
| 47 using testing::_; | 47 using testing::_; |
| 48 using testing::Invoke; | 48 using testing::Invoke; |
| 49 using testing::Return; | 49 using testing::Return; |
| 50 | 50 |
| 51 typedef std::map<const std::string, const Value*> PreferenceValues; | 51 typedef std::map<const std::string, const Value*> PreferenceValues; |
| 52 | 52 |
| 53 ACTION_P(CreateAndSaveChangeProcessor, change_processor) { | 53 ACTION_P(CreateAndSaveChangeProcessor, change_processor) { |
| 54 sync_api::UserShare* user_share = arg0->GetUserShare(); | 54 sync_api::UserShare* user_share = arg0->GetUserShare(); |
| 55 *change_processor = new GenericChangeProcessor(arg1, arg2, user_share); | 55 *change_processor = new GenericChangeProcessor(arg1, arg2, user_share); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 return false; | 127 return false; |
| 128 EXPECT_CALL(*factory, GetSyncableServiceForType(syncable::PREFERENCES)). | 128 EXPECT_CALL(*factory, GetSyncableServiceForType(syncable::PREFERENCES)). |
| 129 WillOnce(Return(pref_sync_service_->AsWeakPtr())); | 129 WillOnce(Return(pref_sync_service_->AsWeakPtr())); |
| 130 | 130 |
| 131 EXPECT_CALL(*factory, CreateDataTypeManager(_, _)). | 131 EXPECT_CALL(*factory, CreateDataTypeManager(_, _)). |
| 132 WillOnce(ReturnNewDataTypeManager()); | 132 WillOnce(ReturnNewDataTypeManager()); |
| 133 dtc_ = new UIDataTypeController(syncable::PREFERENCES, | 133 dtc_ = new UIDataTypeController(syncable::PREFERENCES, |
| 134 factory, | 134 factory, |
| 135 profile_.get(), | 135 profile_.get(), |
| 136 service_.get()); | 136 service_.get()); |
| 137 EXPECT_CALL(*factory, CreateGenericChangeProcessor(_, _, _)). | 137 EXPECT_CALL(*factory, CreateSharedChangeProcessor()). |
| 138 WillOnce(CreateAndSaveChangeProcessor(&change_processor_)); | 138 WillOnce(Return(new SharedChangeProcessor())); |
| 139 EXPECT_CALL(*factory, CreateGenericChangeProcessor(_, _, _)). |
| 140 WillOnce(CreateAndSaveChangeProcessor(&change_processor_)); |
| 139 service_->RegisterDataTypeController(dtc_); | 141 service_->RegisterDataTypeController(dtc_); |
| 140 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 142 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( |
| 141 GaiaConstants::kSyncService, "token"); | 143 GaiaConstants::kSyncService, "token"); |
| 142 | 144 |
| 143 service_->Initialize(); | 145 service_->Initialize(); |
| 144 MessageLoop::current()->Run(); | 146 MessageLoop::current()->Run(); |
| 145 return true; | 147 return true; |
| 146 } | 148 } |
| 147 | 149 |
| 148 const Value& GetPreferenceValue(const std::string& name) { | 150 const Value& GetPreferenceValue(const std::string& name) { |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 568 EXPECT_FALSE(pref->IsDefaultValue()); | 570 EXPECT_FALSE(pref->IsDefaultValue()); |
| 569 // There should be no synced value. | 571 // There should be no synced value. |
| 570 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 572 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); |
| 571 // Switch kHomePage back to unmanaged. | 573 // Switch kHomePage back to unmanaged. |
| 572 profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage); | 574 profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage); |
| 573 // The original value should be picked up. | 575 // The original value should be picked up. |
| 574 EXPECT_TRUE(pref->IsDefaultValue()); | 576 EXPECT_TRUE(pref->IsDefaultValue()); |
| 575 // There should still be no synced value. | 577 // There should still be no synced value. |
| 576 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 578 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); |
| 577 } | 579 } |
| OLD | NEW |