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

Side by Side Diff: chrome/browser/prefs/pref_model_associator_unittest.cc

Issue 104493005: Update some uses of Value in chrome/browser to use the base:: namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/prefs/scoped_user_pref_update.h" 6 #include "base/prefs/scoped_user_pref_update.h"
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "chrome/browser/prefs/pref_model_associator.h" 8 #include "chrome/browser/prefs/pref_model_associator.h"
9 #include "chrome/common/pref_names.h" 9 #include "chrome/common/pref_names.h"
10 #include "chrome/test/base/testing_profile.h" 10 #include "chrome/test/base/testing_profile.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 class AbstractPreferenceMergeTest : public testing::Test { 13 class AbstractPreferenceMergeTest : public testing::Test {
14 protected: 14 protected:
15 virtual void SetUp() { 15 virtual void SetUp() {
16 pref_service_ = profile_.GetPrefs(); 16 pref_service_ = profile_.GetPrefs();
17 } 17 }
18 18
19 void SetContentPattern(DictionaryValue* patterns_dict, 19 void SetContentPattern(base::DictionaryValue* patterns_dict,
20 const std::string& expression, 20 const std::string& expression,
21 const std::string& content_type, 21 const std::string& content_type,
22 int setting) { 22 int setting) {
23 DictionaryValue* expression_dict; 23 base::DictionaryValue* expression_dict;
24 bool found = 24 bool found =
25 patterns_dict->GetDictionaryWithoutPathExpansion(expression, 25 patterns_dict->GetDictionaryWithoutPathExpansion(expression,
26 &expression_dict); 26 &expression_dict);
27 if (!found) { 27 if (!found) {
28 expression_dict = new DictionaryValue; 28 expression_dict = new base::DictionaryValue;
29 patterns_dict->SetWithoutPathExpansion(expression, expression_dict); 29 patterns_dict->SetWithoutPathExpansion(expression, expression_dict);
30 } 30 }
31 expression_dict->SetWithoutPathExpansion( 31 expression_dict->SetWithoutPathExpansion(
32 content_type, 32 content_type,
33 Value::CreateIntegerValue(setting)); 33 base::Value::CreateIntegerValue(setting));
34 } 34 }
35 35
36 void SetPrefToEmpty(const std::string& pref_name) { 36 void SetPrefToEmpty(const std::string& pref_name) {
37 scoped_ptr<Value> empty_value; 37 scoped_ptr<base::Value> empty_value;
38 const PrefService::Preference* pref = 38 const PrefService::Preference* pref =
39 pref_service_->FindPreference(pref_name.c_str()); 39 pref_service_->FindPreference(pref_name.c_str());
40 ASSERT_TRUE(pref); 40 ASSERT_TRUE(pref);
41 base::Value::Type type = pref->GetType(); 41 base::Value::Type type = pref->GetType();
42 if (type == Value::TYPE_DICTIONARY) 42 if (type == base::Value::TYPE_DICTIONARY)
43 empty_value.reset(new DictionaryValue); 43 empty_value.reset(new base::DictionaryValue);
44 else if (type == Value::TYPE_LIST) 44 else if (type == base::Value::TYPE_LIST)
45 empty_value.reset(new ListValue); 45 empty_value.reset(new base::ListValue);
46 else 46 else
47 FAIL(); 47 FAIL();
48 pref_service_->Set(pref_name.c_str(), *empty_value); 48 pref_service_->Set(pref_name.c_str(), *empty_value);
49 } 49 }
50 50
51 TestingProfile profile_; 51 TestingProfile profile_;
52 PrefService* pref_service_; 52 PrefService* pref_service_;
53 }; 53 };
54 54
55 class ListPreferenceMergeTest : public AbstractPreferenceMergeTest { 55 class ListPreferenceMergeTest : public AbstractPreferenceMergeTest {
56 protected: 56 protected:
57 ListPreferenceMergeTest() : 57 ListPreferenceMergeTest() :
58 server_url0_("http://example.com/server0"), 58 server_url0_("http://example.com/server0"),
59 server_url1_("http://example.com/server1"), 59 server_url1_("http://example.com/server1"),
60 local_url0_("http://example.com/local0"), 60 local_url0_("http://example.com/local0"),
61 local_url1_("http://example.com/local1") {} 61 local_url1_("http://example.com/local1") {}
62 62
63 virtual void SetUp() { 63 virtual void SetUp() {
64 AbstractPreferenceMergeTest::SetUp(); 64 AbstractPreferenceMergeTest::SetUp();
65 server_url_list_.Append(Value::CreateStringValue(server_url0_)); 65 server_url_list_.Append(base::Value::CreateStringValue(server_url0_));
66 server_url_list_.Append(Value::CreateStringValue(server_url1_)); 66 server_url_list_.Append(base::Value::CreateStringValue(server_url1_));
67 } 67 }
68 68
69 std::string server_url0_; 69 std::string server_url0_;
70 std::string server_url1_; 70 std::string server_url1_;
71 std::string local_url0_; 71 std::string local_url0_;
72 std::string local_url1_; 72 std::string local_url1_;
73 ListValue server_url_list_; 73 base::ListValue server_url_list_;
74 }; 74 };
75 75
76 TEST_F(ListPreferenceMergeTest, NotListOrDictionary) { 76 TEST_F(ListPreferenceMergeTest, NotListOrDictionary) {
77 pref_service_->SetString(prefs::kHomePage, local_url0_); 77 pref_service_->SetString(prefs::kHomePage, local_url0_);
78 const PrefService::Preference* pref = 78 const PrefService::Preference* pref =
79 pref_service_->FindPreference(prefs::kHomePage); 79 pref_service_->FindPreference(prefs::kHomePage);
80 scoped_ptr<Value> server_value(Value::CreateStringValue(server_url0_)); 80 scoped_ptr<base::Value> server_value(
81 scoped_ptr<Value> merged_value( 81 base::Value::CreateStringValue(server_url0_));
82 scoped_ptr<base::Value> merged_value(
82 PrefModelAssociator::MergePreference(pref->name(), 83 PrefModelAssociator::MergePreference(pref->name(),
83 *pref->GetValue(), 84 *pref->GetValue(),
84 *server_value)); 85 *server_value));
85 EXPECT_TRUE(merged_value->Equals(server_value.get())); 86 EXPECT_TRUE(merged_value->Equals(server_value.get()));
86 } 87 }
87 88
88 TEST_F(ListPreferenceMergeTest, LocalEmpty) { 89 TEST_F(ListPreferenceMergeTest, LocalEmpty) {
89 SetPrefToEmpty(prefs::kURLsToRestoreOnStartup); 90 SetPrefToEmpty(prefs::kURLsToRestoreOnStartup);
90 const PrefService::Preference* pref = 91 const PrefService::Preference* pref =
91 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup); 92 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
92 scoped_ptr<Value> merged_value( 93 scoped_ptr<base::Value> merged_value(
93 PrefModelAssociator::MergePreference(pref->name(), 94 PrefModelAssociator::MergePreference(pref->name(),
94 *pref->GetValue(), 95 *pref->GetValue(),
95 server_url_list_)); 96 server_url_list_));
96 EXPECT_TRUE(merged_value->Equals(&server_url_list_)); 97 EXPECT_TRUE(merged_value->Equals(&server_url_list_));
97 } 98 }
98 99
99 TEST_F(ListPreferenceMergeTest, ServerNull) { 100 TEST_F(ListPreferenceMergeTest, ServerNull) {
100 scoped_ptr<Value> null_value(Value::CreateNullValue()); 101 scoped_ptr<base::Value> null_value(base::Value::CreateNullValue());
101 { 102 {
102 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup); 103 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
103 ListValue* local_list_value = update.Get(); 104 base::ListValue* local_list_value = update.Get();
104 local_list_value->Append(Value::CreateStringValue(local_url0_)); 105 local_list_value->Append(base::Value::CreateStringValue(local_url0_));
105 } 106 }
106 107
107 const PrefService::Preference* pref = 108 const PrefService::Preference* pref =
108 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup); 109 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
109 scoped_ptr<Value> merged_value( 110 scoped_ptr<base::Value> merged_value(
110 PrefModelAssociator::MergePreference(pref->name(), 111 PrefModelAssociator::MergePreference(pref->name(),
111 *pref->GetValue(), 112 *pref->GetValue(),
112 *null_value)); 113 *null_value));
113 const ListValue* local_list_value = 114 const base::ListValue* local_list_value =
114 pref_service_->GetList(prefs::kURLsToRestoreOnStartup); 115 pref_service_->GetList(prefs::kURLsToRestoreOnStartup);
115 EXPECT_TRUE(merged_value->Equals(local_list_value)); 116 EXPECT_TRUE(merged_value->Equals(local_list_value));
116 } 117 }
117 118
118 TEST_F(ListPreferenceMergeTest, ServerEmpty) { 119 TEST_F(ListPreferenceMergeTest, ServerEmpty) {
119 scoped_ptr<Value> empty_value(new ListValue); 120 scoped_ptr<base::Value> empty_value(new base::ListValue);
120 { 121 {
121 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup); 122 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
122 ListValue* local_list_value = update.Get(); 123 base::ListValue* local_list_value = update.Get();
123 local_list_value->Append(Value::CreateStringValue(local_url0_)); 124 local_list_value->Append(base::Value::CreateStringValue(local_url0_));
124 } 125 }
125 126
126 const PrefService::Preference* pref = 127 const PrefService::Preference* pref =
127 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup); 128 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
128 scoped_ptr<Value> merged_value( 129 scoped_ptr<base::Value> merged_value(
129 PrefModelAssociator::MergePreference(pref->name(), 130 PrefModelAssociator::MergePreference(pref->name(),
130 *pref->GetValue(), 131 *pref->GetValue(),
131 *empty_value)); 132 *empty_value));
132 const ListValue* local_list_value = 133 const base::ListValue* local_list_value =
133 pref_service_->GetList(prefs::kURLsToRestoreOnStartup); 134 pref_service_->GetList(prefs::kURLsToRestoreOnStartup);
134 EXPECT_TRUE(merged_value->Equals(local_list_value)); 135 EXPECT_TRUE(merged_value->Equals(local_list_value));
135 } 136 }
136 137
137 TEST_F(ListPreferenceMergeTest, Merge) { 138 TEST_F(ListPreferenceMergeTest, Merge) {
138 { 139 {
139 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup); 140 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
140 ListValue* local_list_value = update.Get(); 141 base::ListValue* local_list_value = update.Get();
141 local_list_value->Append(Value::CreateStringValue(local_url0_)); 142 local_list_value->Append(base::Value::CreateStringValue(local_url0_));
142 local_list_value->Append(Value::CreateStringValue(local_url1_)); 143 local_list_value->Append(base::Value::CreateStringValue(local_url1_));
143 } 144 }
144 145
145 const PrefService::Preference* pref = 146 const PrefService::Preference* pref =
146 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup); 147 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
147 scoped_ptr<Value> merged_value( 148 scoped_ptr<base::Value> merged_value(
148 PrefModelAssociator::MergePreference(pref->name(), 149 PrefModelAssociator::MergePreference(pref->name(),
149 *pref->GetValue(), 150 *pref->GetValue(),
150 server_url_list_)); 151 server_url_list_));
151 152
152 ListValue expected; 153 base::ListValue expected;
153 expected.Append(Value::CreateStringValue(server_url0_)); 154 expected.Append(base::Value::CreateStringValue(server_url0_));
154 expected.Append(Value::CreateStringValue(server_url1_)); 155 expected.Append(base::Value::CreateStringValue(server_url1_));
155 expected.Append(Value::CreateStringValue(local_url0_)); 156 expected.Append(base::Value::CreateStringValue(local_url0_));
156 expected.Append(Value::CreateStringValue(local_url1_)); 157 expected.Append(base::Value::CreateStringValue(local_url1_));
157 EXPECT_TRUE(merged_value->Equals(&expected)); 158 EXPECT_TRUE(merged_value->Equals(&expected));
158 } 159 }
159 160
160 TEST_F(ListPreferenceMergeTest, Duplicates) { 161 TEST_F(ListPreferenceMergeTest, Duplicates) {
161 { 162 {
162 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup); 163 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
163 ListValue* local_list_value = update.Get(); 164 base::ListValue* local_list_value = update.Get();
164 local_list_value->Append(Value::CreateStringValue(local_url0_)); 165 local_list_value->Append(base::Value::CreateStringValue(local_url0_));
165 local_list_value->Append(Value::CreateStringValue(server_url0_)); 166 local_list_value->Append(base::Value::CreateStringValue(server_url0_));
166 local_list_value->Append(Value::CreateStringValue(server_url1_)); 167 local_list_value->Append(base::Value::CreateStringValue(server_url1_));
167 } 168 }
168 169
169 const PrefService::Preference* pref = 170 const PrefService::Preference* pref =
170 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup); 171 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
171 scoped_ptr<Value> merged_value( 172 scoped_ptr<base::Value> merged_value(
172 PrefModelAssociator::MergePreference(pref->name(), 173 PrefModelAssociator::MergePreference(pref->name(),
173 *pref->GetValue(), 174 *pref->GetValue(),
174 server_url_list_)); 175 server_url_list_));
175 176
176 ListValue expected; 177 base::ListValue expected;
177 expected.Append(Value::CreateStringValue(server_url0_)); 178 expected.Append(base::Value::CreateStringValue(server_url0_));
178 expected.Append(Value::CreateStringValue(server_url1_)); 179 expected.Append(base::Value::CreateStringValue(server_url1_));
179 expected.Append(Value::CreateStringValue(local_url0_)); 180 expected.Append(base::Value::CreateStringValue(local_url0_));
180 EXPECT_TRUE(merged_value->Equals(&expected)); 181 EXPECT_TRUE(merged_value->Equals(&expected));
181 } 182 }
182 183
183 TEST_F(ListPreferenceMergeTest, Equals) { 184 TEST_F(ListPreferenceMergeTest, Equals) {
184 { 185 {
185 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup); 186 ListPrefUpdate update(pref_service_, prefs::kURLsToRestoreOnStartup);
186 ListValue* local_list_value = update.Get(); 187 base::ListValue* local_list_value = update.Get();
187 local_list_value->Append(Value::CreateStringValue(server_url0_)); 188 local_list_value->Append(base::Value::CreateStringValue(server_url0_));
188 local_list_value->Append(Value::CreateStringValue(server_url1_)); 189 local_list_value->Append(base::Value::CreateStringValue(server_url1_));
189 } 190 }
190 191
191 scoped_ptr<Value> original(server_url_list_.DeepCopy()); 192 scoped_ptr<base::Value> original(server_url_list_.DeepCopy());
192 const PrefService::Preference* pref = 193 const PrefService::Preference* pref =
193 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup); 194 pref_service_->FindPreference(prefs::kURLsToRestoreOnStartup);
194 scoped_ptr<Value> merged_value( 195 scoped_ptr<base::Value> merged_value(
195 PrefModelAssociator::MergePreference(pref->name(), 196 PrefModelAssociator::MergePreference(pref->name(),
196 *pref->GetValue(), 197 *pref->GetValue(),
197 server_url_list_)); 198 server_url_list_));
198 EXPECT_TRUE(merged_value->Equals(original.get())); 199 EXPECT_TRUE(merged_value->Equals(original.get()));
199 } 200 }
200 201
201 class DictionaryPreferenceMergeTest : public AbstractPreferenceMergeTest { 202 class DictionaryPreferenceMergeTest : public AbstractPreferenceMergeTest {
202 protected: 203 protected:
203 DictionaryPreferenceMergeTest() : 204 DictionaryPreferenceMergeTest() :
204 expression0_("expression0"), 205 expression0_("expression0"),
205 expression1_("expression1"), 206 expression1_("expression1"),
206 expression2_("expression2"), 207 expression2_("expression2"),
207 content_type0_("content_type0"), 208 content_type0_("content_type0"),
208 content_type1_("content_type1") {} 209 content_type1_("content_type1") {}
209 210
210 virtual void SetUp() { 211 virtual void SetUp() {
211 AbstractPreferenceMergeTest::SetUp(); 212 AbstractPreferenceMergeTest::SetUp();
212 SetContentPattern(&server_patterns_, expression0_, content_type0_, 1); 213 SetContentPattern(&server_patterns_, expression0_, content_type0_, 1);
213 SetContentPattern(&server_patterns_, expression0_, content_type1_, 2); 214 SetContentPattern(&server_patterns_, expression0_, content_type1_, 2);
214 SetContentPattern(&server_patterns_, expression1_, content_type0_, 1); 215 SetContentPattern(&server_patterns_, expression1_, content_type0_, 1);
215 } 216 }
216 217
217 std::string expression0_; 218 std::string expression0_;
218 std::string expression1_; 219 std::string expression1_;
219 std::string expression2_; 220 std::string expression2_;
220 std::string content_type0_; 221 std::string content_type0_;
221 std::string content_type1_; 222 std::string content_type1_;
222 DictionaryValue server_patterns_; 223 base::DictionaryValue server_patterns_;
223 }; 224 };
224 225
225 TEST_F(DictionaryPreferenceMergeTest, LocalEmpty) { 226 TEST_F(DictionaryPreferenceMergeTest, LocalEmpty) {
226 SetPrefToEmpty(prefs::kContentSettingsPatternPairs); 227 SetPrefToEmpty(prefs::kContentSettingsPatternPairs);
227 const PrefService::Preference* pref = 228 const PrefService::Preference* pref =
228 pref_service_->FindPreference(prefs::kContentSettingsPatternPairs); 229 pref_service_->FindPreference(prefs::kContentSettingsPatternPairs);
229 scoped_ptr<Value> merged_value( 230 scoped_ptr<base::Value> merged_value(
230 PrefModelAssociator::MergePreference(pref->name(), 231 PrefModelAssociator::MergePreference(pref->name(),
231 *pref->GetValue(), 232 *pref->GetValue(),
232 server_patterns_)); 233 server_patterns_));
233 EXPECT_TRUE(merged_value->Equals(&server_patterns_)); 234 EXPECT_TRUE(merged_value->Equals(&server_patterns_));
234 } 235 }
235 236
236 TEST_F(DictionaryPreferenceMergeTest, ServerNull) { 237 TEST_F(DictionaryPreferenceMergeTest, ServerNull) {
237 scoped_ptr<Value> null_value(Value::CreateNullValue()); 238 scoped_ptr<base::Value> null_value(base::Value::CreateNullValue());
238 { 239 {
239 DictionaryPrefUpdate update(pref_service_, 240 DictionaryPrefUpdate update(pref_service_,
240 prefs::kContentSettingsPatternPairs); 241 prefs::kContentSettingsPatternPairs);
241 DictionaryValue* local_dict_value = update.Get(); 242 base::DictionaryValue* local_dict_value = update.Get();
242 SetContentPattern(local_dict_value, expression2_, content_type0_, 1); 243 SetContentPattern(local_dict_value, expression2_, content_type0_, 1);
243 } 244 }
244 245
245 const PrefService::Preference* pref = 246 const PrefService::Preference* pref =
246 pref_service_->FindPreference(prefs::kContentSettingsPatternPairs); 247 pref_service_->FindPreference(prefs::kContentSettingsPatternPairs);
247 scoped_ptr<Value> merged_value( 248 scoped_ptr<base::Value> merged_value(
248 PrefModelAssociator::MergePreference(pref->name(), 249 PrefModelAssociator::MergePreference(pref->name(),
249 *pref->GetValue(), 250 *pref->GetValue(),
250 *null_value)); 251 *null_value));
251 const DictionaryValue* local_dict_value = 252 const base::DictionaryValue* local_dict_value =
252 pref_service_->GetDictionary(prefs::kContentSettingsPatternPairs); 253 pref_service_->GetDictionary(prefs::kContentSettingsPatternPairs);
253 EXPECT_TRUE(merged_value->Equals(local_dict_value)); 254 EXPECT_TRUE(merged_value->Equals(local_dict_value));
254 } 255 }
255 256
256 TEST_F(DictionaryPreferenceMergeTest, ServerEmpty) { 257 TEST_F(DictionaryPreferenceMergeTest, ServerEmpty) {
257 scoped_ptr<Value> empty_value(new DictionaryValue); 258 scoped_ptr<base::Value> empty_value(new base::DictionaryValue);
258 { 259 {
259 DictionaryPrefUpdate update(pref_service_, 260 DictionaryPrefUpdate update(pref_service_,
260 prefs::kContentSettingsPatternPairs); 261 prefs::kContentSettingsPatternPairs);
261 DictionaryValue* local_dict_value = update.Get(); 262 base::DictionaryValue* local_dict_value = update.Get();
262 SetContentPattern(local_dict_value, expression2_, content_type0_, 1); 263 SetContentPattern(local_dict_value, expression2_, content_type0_, 1);
263 } 264 }
264 265
265 const PrefService::Preference* pref = 266 const PrefService::Preference* pref =
266 pref_service_->FindPreference(prefs::kContentSettingsPatternPairs); 267 pref_service_->FindPreference(prefs::kContentSettingsPatternPairs);
267 scoped_ptr<Value> merged_value( 268 scoped_ptr<base::Value> merged_value(
268 PrefModelAssociator::MergePreference(pref->name(), 269 PrefModelAssociator::MergePreference(pref->name(),
269 *pref->GetValue(), 270 *pref->GetValue(),
270 *empty_value)); 271 *empty_value));
271 const DictionaryValue* local_dict_value = 272 const base::DictionaryValue* local_dict_value =
272 pref_service_->GetDictionary(prefs::kContentSettingsPatternPairs); 273 pref_service_->GetDictionary(prefs::kContentSettingsPatternPairs);
273 EXPECT_TRUE(merged_value->Equals(local_dict_value)); 274 EXPECT_TRUE(merged_value->Equals(local_dict_value));
274 } 275 }
275 276
276 TEST_F(DictionaryPreferenceMergeTest, MergeNoConflicts) { 277 TEST_F(DictionaryPreferenceMergeTest, MergeNoConflicts) {
277 { 278 {
278 DictionaryPrefUpdate update(pref_service_, 279 DictionaryPrefUpdate update(pref_service_,
279 prefs::kContentSettingsPatternPairs); 280 prefs::kContentSettingsPatternPairs);
280 DictionaryValue* local_dict_value = update.Get(); 281 base::DictionaryValue* local_dict_value = update.Get();
281 SetContentPattern(local_dict_value, expression2_, content_type0_, 1); 282 SetContentPattern(local_dict_value, expression2_, content_type0_, 1);
282 } 283 }
283 284
284 scoped_ptr<Value> merged_value(PrefModelAssociator::MergePreference( 285 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
285 prefs::kContentSettingsPatternPairs, 286 prefs::kContentSettingsPatternPairs,
286 *pref_service_->FindPreference(prefs::kContentSettingsPatternPairs)-> 287 *pref_service_->FindPreference(prefs::kContentSettingsPatternPairs)->
287 GetValue(), 288 GetValue(),
288 server_patterns_)); 289 server_patterns_));
289 290
290 DictionaryValue expected; 291 base::DictionaryValue expected;
291 SetContentPattern(&expected, expression0_, content_type0_, 1); 292 SetContentPattern(&expected, expression0_, content_type0_, 1);
292 SetContentPattern(&expected, expression0_, content_type1_, 2); 293 SetContentPattern(&expected, expression0_, content_type1_, 2);
293 SetContentPattern(&expected, expression1_, content_type0_, 1); 294 SetContentPattern(&expected, expression1_, content_type0_, 1);
294 SetContentPattern(&expected, expression2_, content_type0_, 1); 295 SetContentPattern(&expected, expression2_, content_type0_, 1);
295 EXPECT_TRUE(merged_value->Equals(&expected)); 296 EXPECT_TRUE(merged_value->Equals(&expected));
296 } 297 }
297 298
298 TEST_F(DictionaryPreferenceMergeTest, MergeConflicts) { 299 TEST_F(DictionaryPreferenceMergeTest, MergeConflicts) {
299 { 300 {
300 DictionaryPrefUpdate update(pref_service_, 301 DictionaryPrefUpdate update(pref_service_,
301 prefs::kContentSettingsPatternPairs); 302 prefs::kContentSettingsPatternPairs);
302 DictionaryValue* local_dict_value = update.Get(); 303 base::DictionaryValue* local_dict_value = update.Get();
303 SetContentPattern(local_dict_value, expression0_, content_type0_, 2); 304 SetContentPattern(local_dict_value, expression0_, content_type0_, 2);
304 SetContentPattern(local_dict_value, expression1_, content_type0_, 1); 305 SetContentPattern(local_dict_value, expression1_, content_type0_, 1);
305 SetContentPattern(local_dict_value, expression1_, content_type1_, 1); 306 SetContentPattern(local_dict_value, expression1_, content_type1_, 1);
306 SetContentPattern(local_dict_value, expression2_, content_type0_, 2); 307 SetContentPattern(local_dict_value, expression2_, content_type0_, 2);
307 } 308 }
308 309
309 scoped_ptr<Value> merged_value(PrefModelAssociator::MergePreference( 310 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
310 prefs::kContentSettingsPatternPairs, 311 prefs::kContentSettingsPatternPairs,
311 *pref_service_->FindPreference(prefs::kContentSettingsPatternPairs)-> 312 *pref_service_->FindPreference(prefs::kContentSettingsPatternPairs)->
312 GetValue(), 313 GetValue(),
313 server_patterns_)); 314 server_patterns_));
314 315
315 DictionaryValue expected; 316 base::DictionaryValue expected;
316 SetContentPattern(&expected, expression0_, content_type0_, 1); 317 SetContentPattern(&expected, expression0_, content_type0_, 1);
317 SetContentPattern(&expected, expression0_, content_type1_, 2); 318 SetContentPattern(&expected, expression0_, content_type1_, 2);
318 SetContentPattern(&expected, expression1_, content_type0_, 1); 319 SetContentPattern(&expected, expression1_, content_type0_, 1);
319 SetContentPattern(&expected, expression1_, content_type1_, 1); 320 SetContentPattern(&expected, expression1_, content_type1_, 1);
320 SetContentPattern(&expected, expression2_, content_type0_, 2); 321 SetContentPattern(&expected, expression2_, content_type0_, 2);
321 EXPECT_TRUE(merged_value->Equals(&expected)); 322 EXPECT_TRUE(merged_value->Equals(&expected));
322 } 323 }
323 324
324 TEST_F(DictionaryPreferenceMergeTest, Equal) { 325 TEST_F(DictionaryPreferenceMergeTest, Equal) {
325 { 326 {
326 DictionaryPrefUpdate update(pref_service_, 327 DictionaryPrefUpdate update(pref_service_,
327 prefs::kContentSettingsPatternPairs); 328 prefs::kContentSettingsPatternPairs);
328 DictionaryValue* local_dict_value = update.Get(); 329 base::DictionaryValue* local_dict_value = update.Get();
329 SetContentPattern(local_dict_value, expression0_, content_type0_, 1); 330 SetContentPattern(local_dict_value, expression0_, content_type0_, 1);
330 SetContentPattern(local_dict_value, expression0_, content_type1_, 2); 331 SetContentPattern(local_dict_value, expression0_, content_type1_, 2);
331 SetContentPattern(local_dict_value, expression1_, content_type0_, 1); 332 SetContentPattern(local_dict_value, expression1_, content_type0_, 1);
332 } 333 }
333 334
334 scoped_ptr<Value> merged_value(PrefModelAssociator::MergePreference( 335 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
335 prefs::kContentSettingsPatternPairs, 336 prefs::kContentSettingsPatternPairs,
336 *pref_service_-> 337 *pref_service_->
337 FindPreference(prefs::kContentSettingsPatternPairs)->GetValue(), 338 FindPreference(prefs::kContentSettingsPatternPairs)->GetValue(),
338 server_patterns_)); 339 server_patterns_));
339 EXPECT_TRUE(merged_value->Equals(&server_patterns_)); 340 EXPECT_TRUE(merged_value->Equals(&server_patterns_));
340 } 341 }
341 342
342 TEST_F(DictionaryPreferenceMergeTest, ConflictButServerWins) { 343 TEST_F(DictionaryPreferenceMergeTest, ConflictButServerWins) {
343 { 344 {
344 DictionaryPrefUpdate update(pref_service_, 345 DictionaryPrefUpdate update(pref_service_,
345 prefs::kContentSettingsPatternPairs); 346 prefs::kContentSettingsPatternPairs);
346 DictionaryValue* local_dict_value = update.Get(); 347 base::DictionaryValue* local_dict_value = update.Get();
347 SetContentPattern(local_dict_value, expression0_, content_type0_, 2); 348 SetContentPattern(local_dict_value, expression0_, content_type0_, 2);
348 SetContentPattern(local_dict_value, expression0_, content_type1_, 2); 349 SetContentPattern(local_dict_value, expression0_, content_type1_, 2);
349 SetContentPattern(local_dict_value, expression1_, content_type0_, 1); 350 SetContentPattern(local_dict_value, expression1_, content_type0_, 1);
350 } 351 }
351 352
352 scoped_ptr<Value> merged_value(PrefModelAssociator::MergePreference( 353 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
353 prefs::kContentSettingsPatternPairs, 354 prefs::kContentSettingsPatternPairs,
354 *pref_service_-> 355 *pref_service_->
355 FindPreference(prefs::kContentSettingsPatternPairs)->GetValue(), 356 FindPreference(prefs::kContentSettingsPatternPairs)->GetValue(),
356 server_patterns_)); 357 server_patterns_));
357 EXPECT_TRUE(merged_value->Equals(&server_patterns_)); 358 EXPECT_TRUE(merged_value->Equals(&server_patterns_));
358 } 359 }
359 360
360 class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest { 361 class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
361 protected: 362 protected:
362 IndividualPreferenceMergeTest() : 363 IndividualPreferenceMergeTest() :
363 url0_("http://example.com/server0"), 364 url0_("http://example.com/server0"),
364 url1_("http://example.com/server1"), 365 url1_("http://example.com/server1"),
365 expression0_("expression0"), 366 expression0_("expression0"),
366 expression1_("expression1"), 367 expression1_("expression1"),
367 content_type0_("content_type0") {} 368 content_type0_("content_type0") {}
368 369
369 virtual void SetUp() { 370 virtual void SetUp() {
370 AbstractPreferenceMergeTest::SetUp(); 371 AbstractPreferenceMergeTest::SetUp();
371 server_url_list_.Append(Value::CreateStringValue(url0_)); 372 server_url_list_.Append(base::Value::CreateStringValue(url0_));
372 SetContentPattern(&server_patterns_, expression0_, content_type0_, 1); 373 SetContentPattern(&server_patterns_, expression0_, content_type0_, 1);
373 } 374 }
374 375
375 bool MergeListPreference(const char* pref) { 376 bool MergeListPreference(const char* pref) {
376 { 377 {
377 ListPrefUpdate update(pref_service_, pref); 378 ListPrefUpdate update(pref_service_, pref);
378 ListValue* local_list_value = update.Get(); 379 base::ListValue* local_list_value = update.Get();
379 local_list_value->Append(Value::CreateStringValue(url1_)); 380 local_list_value->Append(base::Value::CreateStringValue(url1_));
380 } 381 }
381 382
382 scoped_ptr<Value> merged_value(PrefModelAssociator::MergePreference( 383 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
383 pref, 384 pref,
384 *pref_service_->GetUserPrefValue(pref), 385 *pref_service_->GetUserPrefValue(pref),
385 server_url_list_)); 386 server_url_list_));
386 387
387 ListValue expected; 388 base::ListValue expected;
388 expected.Append(Value::CreateStringValue(url0_)); 389 expected.Append(base::Value::CreateStringValue(url0_));
389 expected.Append(Value::CreateStringValue(url1_)); 390 expected.Append(base::Value::CreateStringValue(url1_));
390 return merged_value->Equals(&expected); 391 return merged_value->Equals(&expected);
391 } 392 }
392 393
393 bool MergeDictionaryPreference(const char* pref) { 394 bool MergeDictionaryPreference(const char* pref) {
394 { 395 {
395 DictionaryPrefUpdate update(pref_service_, pref); 396 DictionaryPrefUpdate update(pref_service_, pref);
396 DictionaryValue* local_dict_value = update.Get(); 397 base::DictionaryValue* local_dict_value = update.Get();
397 SetContentPattern(local_dict_value, expression1_, content_type0_, 1); 398 SetContentPattern(local_dict_value, expression1_, content_type0_, 1);
398 } 399 }
399 400
400 scoped_ptr<Value> merged_value(PrefModelAssociator::MergePreference( 401 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
401 pref, 402 pref,
402 *pref_service_->GetUserPrefValue(pref), 403 *pref_service_->GetUserPrefValue(pref),
403 server_patterns_)); 404 server_patterns_));
404 405
405 DictionaryValue expected; 406 base::DictionaryValue expected;
406 SetContentPattern(&expected, expression0_, content_type0_, 1); 407 SetContentPattern(&expected, expression0_, content_type0_, 1);
407 SetContentPattern(&expected, expression1_, content_type0_, 1); 408 SetContentPattern(&expected, expression1_, content_type0_, 1);
408 return merged_value->Equals(&expected); 409 return merged_value->Equals(&expected);
409 } 410 }
410 411
411 std::string url0_; 412 std::string url0_;
412 std::string url1_; 413 std::string url1_;
413 std::string expression0_; 414 std::string expression0_;
414 std::string expression1_; 415 std::string expression1_;
415 std::string content_type0_; 416 std::string content_type0_;
416 ListValue server_url_list_; 417 base::ListValue server_url_list_;
417 DictionaryValue server_patterns_; 418 base::DictionaryValue server_patterns_;
418 }; 419 };
419 420
420 TEST_F(IndividualPreferenceMergeTest, URLsToRestoreOnStartup) { 421 TEST_F(IndividualPreferenceMergeTest, URLsToRestoreOnStartup) {
421 EXPECT_TRUE(MergeListPreference(prefs::kURLsToRestoreOnStartup)); 422 EXPECT_TRUE(MergeListPreference(prefs::kURLsToRestoreOnStartup));
422 } 423 }
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_model_associator.cc ('k') | chrome/browser/prefs/pref_service_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698