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

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

Issue 1326353002: Remove dependency of PrefSyncableService on Profile. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pref_model_associator
Patch Set: Move files back to //chrome/browser/prefs & //chrome/test/base Created 5 years, 3 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
Index: chrome/browser/prefs/pref_model_associator_unittest.cc
diff --git a/chrome/browser/prefs/pref_model_associator_unittest.cc b/chrome/browser/prefs/pref_model_associator_unittest.cc
index 520eea8c92cbd3c814173d3637d4de834c80d58d..8b29a453dfc7373cddfbfc39d3b2b8f3555974ba 100644
--- a/chrome/browser/prefs/pref_model_associator_unittest.cc
+++ b/chrome/browser/prefs/pref_model_associator_unittest.cc
@@ -2,30 +2,58 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/prefs/scoped_user_pref_update.h"
#include "base/values.h"
#include "chrome/browser/prefs/pref_model_associator.h"
-#include "chrome/common/pref_names.h"
-#include "chrome/test/base/testing_profile.h"
-#include "content/public/test/test_browser_thread_bundle.h"
+#include "chrome/browser/prefs/pref_model_associator_client.h"
+#include "chrome/browser/prefs/pref_service_mock_factory.h"
+#include "chrome/browser/prefs/pref_service_syncable.h"
+#include "chrome/browser/prefs/pref_service_syncable_factory.h"
+#include "components/pref_registry/pref_registry_syncable.h"
#include "testing/gtest/include/gtest/gtest.h"
-// Any content settings pref name should do for these tests.
-const char* kContentSettingsPrefName =
- "profile.content_settings.exceptions.cookies";
+namespace {
+
+const char kStringPrefName[] = "string_pref";
+const char kListPrefName[] = "list_pref";
+const char kDictionaryPrefName[] = "dictionary_pref";
+
+} // namespace
class AbstractPreferenceMergeTest : public testing::Test {
protected:
- void SetUp() override { pref_service_ = profile_.GetPrefs(); }
+ AbstractPreferenceMergeTest() {
+ pref_model_associator_client_.RegisterPreference(
+ kListPrefName, PREF_MODEL_PREFERENCE_TYPE_LIST);
+ pref_model_associator_client_.RegisterPreference(
+ kDictionaryPrefName, PREF_MODEL_PREFERENCE_TYPE_DICT);
+
+ PrefServiceMockFactory factory;
+ factory.SetPrefModelAssociatorClient(&pref_model_associator_client_);
+ scoped_refptr<user_prefs::PrefRegistrySyncable> pref_registry(
+ new user_prefs::PrefRegistrySyncable);
+ pref_service_ = factory.CreateSyncable(pref_registry.get());
gab 2015/09/10 14:15:09 We're trying to move towards a world where all reg
+
+ pref_registry->RegisterStringPref(
+ kStringPrefName, std::string(),
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+ pref_registry->RegisterListPref(
+ kListPrefName,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+ pref_registry->RegisterDictionaryPref(
+ kDictionaryPrefName,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+ }
void SetContentPattern(base::DictionaryValue* patterns_dict,
const std::string& expression,
int setting) {
base::DictionaryValue* expression_dict;
- bool found =
- patterns_dict->GetDictionaryWithoutPathExpansion(expression,
- &expression_dict);
+ bool found = patterns_dict->GetDictionaryWithoutPathExpansion(
+ expression, &expression_dict);
if (!found) {
expression_dict = new base::DictionaryValue;
patterns_dict->SetWithoutPathExpansion(expression, expression_dict);
@@ -49,18 +77,17 @@ class AbstractPreferenceMergeTest : public testing::Test {
pref_service_->Set(pref_name.c_str(), *empty_value);
}
- content::TestBrowserThreadBundle thread_bundle_;
- TestingProfile profile_;
- PrefService* pref_service_;
+ PrefModelAssociatorClient pref_model_associator_client_;
+ scoped_ptr<PrefServiceSyncable> pref_service_;
};
class ListPreferenceMergeTest : public AbstractPreferenceMergeTest {
protected:
- ListPreferenceMergeTest() :
- server_url0_("http://example.com/server0"),
- server_url1_("http://example.com/server1"),
- local_url0_("http://example.com/local0"),
- local_url1_("http://example.com/local1") {}
+ ListPreferenceMergeTest()
+ : server_url0_("http://example.com/server0"),
+ server_url1_("http://example.com/server1"),
+ local_url0_("http://example.com/local0"),
+ local_url1_("http://example.com/local1") {}
void SetUp() override {
AbstractPreferenceMergeTest::SetUp();
@@ -76,80 +103,85 @@ class ListPreferenceMergeTest : public AbstractPreferenceMergeTest {
};
TEST_F(ListPreferenceMergeTest, NotListOrDictionary) {
- pref_service_->SetString(prefs::kHomePage, local_url0_);
+ pref_service_->SetString(kStringPrefName, local_url0_);
const PrefService::Preference* pref =
- pref_service_->FindPreference(prefs::kHomePage);
+ pref_service_->FindPreference(kStringPrefName);
scoped_ptr<base::Value> server_value(new base::StringValue(server_url0_));
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- *server_value));
+ *server_value,
+ &pref_model_associator_client_));
EXPECT_TRUE(merged_value->Equals(server_value.get()));
}
TEST_F(ListPreferenceMergeTest, LocalEmpty) {
- SetPrefToEmpty(prefs::kURLsToRestoreOnStartup);
+ SetPrefToEmpty(kListPrefName);
const PrefService::Preference* pref =
- pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
+ pref_service_->FindPreference(kListPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- server_url_list_));
+ server_url_list_,
+ &pref_model_associator_client_));
EXPECT_TRUE(merged_value->Equals(&server_url_list_));
}
TEST_F(ListPreferenceMergeTest, ServerNull) {
scoped_ptr<base::Value> null_value = base::Value::CreateNullValue();
{
- ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
+ ListPrefUpdate update(pref_service_.get(), kListPrefName);
base::ListValue* local_list_value = update.Get();
local_list_value->Append(new base::StringValue(local_url0_));
}
const PrefService::Preference* pref =
- pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
+ pref_service_->FindPreference(kListPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- *null_value));
+ *null_value,
+ &pref_model_associator_client_));
const base::ListValue* local_list_value =
- pref_service_->GetList(prefs::kURLsToRestoreOnStartup);
+ pref_service_->GetList(kListPrefName);
EXPECT_TRUE(merged_value->Equals(local_list_value));
}
TEST_F(ListPreferenceMergeTest, ServerEmpty) {
scoped_ptr<base::Value> empty_value(new base::ListValue);
{
- ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
+ ListPrefUpdate update(pref_service_.get(), kListPrefName);
base::ListValue* local_list_value = update.Get();
local_list_value->Append(new base::StringValue(local_url0_));
}
const PrefService::Preference* pref =
- pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
+ pref_service_->FindPreference(kListPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- *empty_value));
+ *empty_value,
+ &pref_model_associator_client_));
const base::ListValue* local_list_value =
- pref_service_->GetList(prefs::kURLsToRestoreOnStartup);
+ pref_service_->GetList(kListPrefName);
EXPECT_TRUE(merged_value->Equals(local_list_value));
}
TEST_F(ListPreferenceMergeTest, Merge) {
{
- ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
+ ListPrefUpdate update(pref_service_.get(), kListPrefName);
base::ListValue* local_list_value = update.Get();
local_list_value->Append(new base::StringValue(local_url0_));
local_list_value->Append(new base::StringValue(local_url1_));
}
const PrefService::Preference* pref =
- pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
+ pref_service_->FindPreference(kListPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- server_url_list_));
+ server_url_list_,
+ &pref_model_associator_client_));
base::ListValue expected;
expected.Append(new base::StringValue(server_url0_));
@@ -161,7 +193,7 @@ TEST_F(ListPreferenceMergeTest, Merge) {
TEST_F(ListPreferenceMergeTest, Duplicates) {
{
- ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
+ ListPrefUpdate update(pref_service_.get(), kListPrefName);
base::ListValue* local_list_value = update.Get();
local_list_value->Append(new base::StringValue(local_url0_));
local_list_value->Append(new base::StringValue(server_url0_));
@@ -169,11 +201,12 @@ TEST_F(ListPreferenceMergeTest, Duplicates) {
}
const PrefService::Preference* pref =
- pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
+ pref_service_->FindPreference(kListPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- server_url_list_));
+ server_url_list_,
+ &pref_model_associator_client_));
base::ListValue expected;
expected.Append(new base::StringValue(server_url0_));
@@ -184,7 +217,7 @@ TEST_F(ListPreferenceMergeTest, Duplicates) {
TEST_F(ListPreferenceMergeTest, Equals) {
{
- ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
+ ListPrefUpdate update(pref_service_.get(), kListPrefName);
base::ListValue* local_list_value = update.Get();
local_list_value->Append(new base::StringValue(server_url0_));
local_list_value->Append(new base::StringValue(server_url1_));
@@ -192,22 +225,21 @@ TEST_F(ListPreferenceMergeTest, Equals) {
scoped_ptr<base::Value> original(server_url_list_.DeepCopy());
const PrefService::Preference* pref =
- pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
- scoped_ptr<base::Value> merged_value(
- PrefModelAssociator::MergePreference(pref->name(),
- *pref->GetValue(),
- server_url_list_));
+ pref_service_->FindPreference(kListPrefName);
+ scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
+ pref->name(), *pref->GetValue(), server_url_list_,
+ &pref_model_associator_client_));
EXPECT_TRUE(merged_value->Equals(original.get()));
}
class DictionaryPreferenceMergeTest : public AbstractPreferenceMergeTest {
protected:
- DictionaryPreferenceMergeTest() :
- expression0_("expression0"),
- expression1_("expression1"),
- expression2_("expression2"),
- expression3_("expression3"),
- expression4_("expression4") {}
+ DictionaryPreferenceMergeTest()
+ : expression0_("expression0"),
+ expression1_("expression1"),
+ expression2_("expression2"),
+ expression3_("expression3"),
+ expression4_("expression4") {}
void SetUp() override {
AbstractPreferenceMergeTest::SetUp();
@@ -225,65 +257,69 @@ class DictionaryPreferenceMergeTest : public AbstractPreferenceMergeTest {
};
TEST_F(DictionaryPreferenceMergeTest, LocalEmpty) {
- SetPrefToEmpty(kContentSettingsPrefName);
+ SetPrefToEmpty(kDictionaryPrefName);
const PrefService::Preference* pref =
- pref_service_->FindPreference(kContentSettingsPrefName);
+ pref_service_->FindPreference(kDictionaryPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- server_patterns_));
+ server_patterns_,
+ &pref_model_associator_client_));
EXPECT_TRUE(merged_value->Equals(&server_patterns_));
}
TEST_F(DictionaryPreferenceMergeTest, ServerNull) {
scoped_ptr<base::Value> null_value = base::Value::CreateNullValue();
{
- DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
+ DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName);
base::DictionaryValue* local_dict_value = update.Get();
SetContentPattern(local_dict_value, expression3_, 1);
}
const PrefService::Preference* pref =
- pref_service_->FindPreference(kContentSettingsPrefName);
+ pref_service_->FindPreference(kDictionaryPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- *null_value));
+ *null_value,
+ &pref_model_associator_client_));
const base::DictionaryValue* local_dict_value =
- pref_service_->GetDictionary(kContentSettingsPrefName);
+ pref_service_->GetDictionary(kDictionaryPrefName);
EXPECT_TRUE(merged_value->Equals(local_dict_value));
}
TEST_F(DictionaryPreferenceMergeTest, ServerEmpty) {
scoped_ptr<base::Value> empty_value(new base::DictionaryValue);
{
- DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
+ DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName);
base::DictionaryValue* local_dict_value = update.Get();
SetContentPattern(local_dict_value, expression3_, 1);
}
const PrefService::Preference* pref =
- pref_service_->FindPreference(kContentSettingsPrefName);
+ pref_service_->FindPreference(kDictionaryPrefName);
scoped_ptr<base::Value> merged_value(
PrefModelAssociator::MergePreference(pref->name(),
*pref->GetValue(),
- *empty_value));
+ *empty_value,
+ &pref_model_associator_client_));
const base::DictionaryValue* local_dict_value =
- pref_service_->GetDictionary(kContentSettingsPrefName);
+ pref_service_->GetDictionary(kDictionaryPrefName);
EXPECT_TRUE(merged_value->Equals(local_dict_value));
}
TEST_F(DictionaryPreferenceMergeTest, MergeNoConflicts) {
{
- DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
+ DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName);
base::DictionaryValue* local_dict_value = update.Get();
SetContentPattern(local_dict_value, expression3_, 1);
}
scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
- kContentSettingsPrefName,
- *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
- server_patterns_));
+ kDictionaryPrefName,
+ *pref_service_->FindPreference(kDictionaryPrefName)->GetValue(),
+ server_patterns_,
+ &pref_model_associator_client_));
base::DictionaryValue expected;
SetContentPattern(&expected, expression0_, 1);
@@ -295,7 +331,7 @@ TEST_F(DictionaryPreferenceMergeTest, MergeNoConflicts) {
TEST_F(DictionaryPreferenceMergeTest, MergeConflicts) {
{
- DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
+ DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName);
base::DictionaryValue* local_dict_value = update.Get();
SetContentPattern(local_dict_value, expression0_, 2);
SetContentPattern(local_dict_value, expression2_, 1);
@@ -304,9 +340,10 @@ TEST_F(DictionaryPreferenceMergeTest, MergeConflicts) {
}
scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
- kContentSettingsPrefName,
- *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
- server_patterns_));
+ kDictionaryPrefName,
+ *pref_service_->FindPreference(kDictionaryPrefName)->GetValue(),
+ server_patterns_,
+ &pref_model_associator_client_));
base::DictionaryValue expected;
SetContentPattern(&expected, expression0_, 1);
@@ -325,16 +362,17 @@ TEST_F(DictionaryPreferenceMergeTest, MergeValueToDictionary) {
server_dict_value.SetInteger("key.subkey", 0);
scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
- kContentSettingsPrefName,
+ kDictionaryPrefName,
local_dict_value,
- server_dict_value));
+ server_dict_value,
+ &pref_model_associator_client_));
EXPECT_TRUE(merged_value->Equals(&server_dict_value));
}
TEST_F(DictionaryPreferenceMergeTest, Equal) {
{
- DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
+ DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName);
base::DictionaryValue* local_dict_value = update.Get();
SetContentPattern(local_dict_value, expression0_, 1);
SetContentPattern(local_dict_value, expression1_, 2);
@@ -342,15 +380,16 @@ TEST_F(DictionaryPreferenceMergeTest, Equal) {
}
scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
- kContentSettingsPrefName,
- *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
- server_patterns_));
+ kDictionaryPrefName,
+ *pref_service_->FindPreference(kDictionaryPrefName)->GetValue(),
+ server_patterns_,
+ &pref_model_associator_client_));
EXPECT_TRUE(merged_value->Equals(&server_patterns_));
}
TEST_F(DictionaryPreferenceMergeTest, ConflictButServerWins) {
{
- DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
+ DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName);
base::DictionaryValue* local_dict_value = update.Get();
SetContentPattern(local_dict_value, expression0_, 2);
SetContentPattern(local_dict_value, expression1_, 2);
@@ -358,19 +397,20 @@ TEST_F(DictionaryPreferenceMergeTest, ConflictButServerWins) {
}
scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
- kContentSettingsPrefName,
- *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
- server_patterns_));
+ kDictionaryPrefName,
+ *pref_service_->FindPreference(kDictionaryPrefName)->GetValue(),
+ server_patterns_,
+ &pref_model_associator_client_));
EXPECT_TRUE(merged_value->Equals(&server_patterns_));
}
class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
protected:
- IndividualPreferenceMergeTest() :
- url0_("http://example.com/server0"),
- url1_("http://example.com/server1"),
- expression0_("expression0"),
- expression1_("expression1") {}
+ IndividualPreferenceMergeTest()
+ : url0_("http://example.com/server0"),
+ url1_("http://example.com/server1"),
+ expression0_("expression0"),
+ expression1_("expression1") {}
void SetUp() override {
AbstractPreferenceMergeTest::SetUp();
@@ -380,7 +420,7 @@ class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
bool MergeListPreference(const char* pref) {
{
- ListPrefUpdate update(pref_service_, pref);
+ ListPrefUpdate update(pref_service_.get(), pref);
base::ListValue* local_list_value = update.Get();
local_list_value->Append(new base::StringValue(url1_));
}
@@ -388,7 +428,8 @@ class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
pref,
*pref_service_->GetUserPrefValue(pref),
- server_url_list_));
+ server_url_list_,
+ &pref_model_associator_client_));
base::ListValue expected;
expected.Append(new base::StringValue(url0_));
@@ -398,7 +439,7 @@ class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
bool MergeDictionaryPreference(const char* pref) {
{
- DictionaryPrefUpdate update(pref_service_, pref);
+ DictionaryPrefUpdate update(pref_service_.get(), pref);
base::DictionaryValue* local_dict_value = update.Get();
SetContentPattern(local_dict_value, expression1_, 1);
}
@@ -406,7 +447,8 @@ class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
pref,
*pref_service_->GetUserPrefValue(pref),
- server_patterns_));
+ server_patterns_,
+ &pref_model_associator_client_));
base::DictionaryValue expected;
SetContentPattern(&expected, expression0_, 1);
@@ -424,5 +466,5 @@ class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
};
TEST_F(IndividualPreferenceMergeTest, URLsToRestoreOnStartup) {
gab 2015/09/10 14:15:09 Change name of this test to reflect its new generi
- EXPECT_TRUE(MergeListPreference(prefs::kURLsToRestoreOnStartup));
+ EXPECT_TRUE(MergeListPreference(kListPrefName));
}

Powered by Google App Engine
This is Rietveld 408576698