Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4712)

Unified Diff: chrome/browser/prefs/pref_value_store_unittest.cc

Issue 6905044: Refactor preference syncing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Really fix. And rebase Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/prefs/pref_value_store.cc ('k') | chrome/browser/prefs/scoped_user_pref_update_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prefs/pref_value_store_unittest.cc
diff --git a/chrome/browser/prefs/pref_value_store_unittest.cc b/chrome/browser/prefs/pref_value_store_unittest.cc
index 6819e4653f42f3cb50924c31f98cbc7663ba35d6..17d939cf59311d843343ee2c6e40124ef7b2c5d5 100644
--- a/chrome/browser/prefs/pref_value_store_unittest.cc
+++ b/chrome/browser/prefs/pref_value_store_unittest.cc
@@ -9,6 +9,7 @@
#include "base/values.h"
#include "chrome/browser/policy/configuration_policy_pref_store.h"
#include "chrome/browser/policy/dummy_configuration_policy_provider.h"
+#include "chrome/browser/prefs/pref_model_associator.h"
#include "chrome/browser/prefs/pref_notifier.h"
#include "chrome/browser/prefs/pref_value_store.h"
#include "chrome/browser/prefs/testing_pref_store.h"
@@ -31,6 +32,12 @@ class MockPrefNotifier : public PrefNotifier {
MOCK_METHOD0(OnInitializationCompleted, void());
};
+// Allows to capture sync model associator interaction.
+class MockPrefModelAssociator : public PrefModelAssociator {
+ public:
+ MOCK_METHOD1(ProcessPrefChange, void(const std::string&));
+};
+
} // namespace
// Names of the preferences used in this test.
@@ -121,6 +128,7 @@ class PrefValueStoreTest : public testing::Test {
CreateRecommendedPlatformPrefs();
CreateRecommendedCloudPrefs();
CreateDefaultPrefs();
+ sync_associator_.reset(new MockPrefModelAssociator());
// Create a fresh PrefValueStore.
pref_value_store_.reset(new PrefValueStore(
@@ -132,6 +140,7 @@ class PrefValueStoreTest : public testing::Test {
recommended_platform_pref_store_,
recommended_cloud_pref_store_,
default_pref_store_,
+ sync_associator_.get(),
&pref_notifier_));
}
@@ -276,6 +285,7 @@ class PrefValueStoreTest : public testing::Test {
}
MockPrefNotifier pref_notifier_;
+ scoped_ptr<MockPrefModelAssociator> sync_associator_;
scoped_ptr<PrefValueStore> pref_value_store_;
scoped_refptr<TestingPrefStore> managed_platform_pref_store_;
@@ -365,11 +375,15 @@ TEST_F(PrefValueStoreTest, GetValue) {
TEST_F(PrefValueStoreTest, PrefChanges) {
// Check pref controlled by highest-priority store.
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kManagedPlatformPref));
+ EXPECT_CALL(*sync_associator_,
+ ProcessPrefChange(prefs::kManagedPlatformPref));
managed_platform_pref_store_->NotifyPrefValueChanged(
prefs::kManagedPlatformPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0);
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(_)).Times(0);
managed_cloud_pref_store_->NotifyPrefValueChanged(
prefs::kManagedPlatformPref);
extension_pref_store_->NotifyPrefValueChanged(
@@ -385,29 +399,41 @@ TEST_F(PrefValueStoreTest, PrefChanges) {
default_pref_store_->NotifyPrefValueChanged(
prefs::kManagedPlatformPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
// Check pref controlled by user store.
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kUserPref));
managed_platform_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kUserPref));
managed_cloud_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kUserPref));
extension_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kUserPref));
command_line_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kUserPref));
user_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0);
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(_)).Times(0);
recommended_platform_pref_store_->NotifyPrefValueChanged(
prefs::kUserPref);
recommended_cloud_pref_store_->NotifyPrefValueChanged(
@@ -415,39 +441,56 @@ TEST_F(PrefValueStoreTest, PrefChanges) {
default_pref_store_->NotifyPrefValueChanged(
prefs::kUserPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
// Check pref controlled by default-pref store.
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
managed_platform_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
managed_cloud_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
extension_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
command_line_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
user_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
recommended_platform_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
recommended_cloud_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(prefs::kDefaultPref));
default_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
}
TEST_F(PrefValueStoreTest, OnInitializationCompleted) {
« no previous file with comments | « chrome/browser/prefs/pref_value_store.cc ('k') | chrome/browser/prefs/scoped_user_pref_update_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698