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

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

Issue 1252073002: Move pref names and default value into WebsiteSettingsInfo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@website-settings-registry-simple
Patch Set: Created 5 years, 4 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 unified diff | Download patch
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 "content/public/test/test_browser_thread_bundle.h" 11 #include "content/public/test/test_browser_thread_bundle.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 // Any content settings pref name should do for these tests.
15 const char* kContentSettingsPrefName =
16 "profile.content_settings.exceptions.cookies";
17
14 class AbstractPreferenceMergeTest : public testing::Test { 18 class AbstractPreferenceMergeTest : public testing::Test {
15 protected: 19 protected:
16 void SetUp() override { pref_service_ = profile_.GetPrefs(); } 20 void SetUp() override { pref_service_ = profile_.GetPrefs(); }
17 21
18 void SetContentPattern(base::DictionaryValue* patterns_dict, 22 void SetContentPattern(base::DictionaryValue* patterns_dict,
19 const std::string& expression, 23 const std::string& expression,
20 int setting) { 24 int setting) {
21 base::DictionaryValue* expression_dict; 25 base::DictionaryValue* expression_dict;
22 bool found = 26 bool found =
23 patterns_dict->GetDictionaryWithoutPathExpansion(expression, 27 patterns_dict->GetDictionaryWithoutPathExpansion(expression,
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 218
215 std::string expression0_; 219 std::string expression0_;
216 std::string expression1_; 220 std::string expression1_;
217 std::string expression2_; 221 std::string expression2_;
218 std::string expression3_; 222 std::string expression3_;
219 std::string expression4_; 223 std::string expression4_;
220 base::DictionaryValue server_patterns_; 224 base::DictionaryValue server_patterns_;
221 }; 225 };
222 226
223 TEST_F(DictionaryPreferenceMergeTest, LocalEmpty) { 227 TEST_F(DictionaryPreferenceMergeTest, LocalEmpty) {
224 SetPrefToEmpty(prefs::kContentSettingsImagesPatternPairs); 228 SetPrefToEmpty(kContentSettingsPrefName);
225 const PrefService::Preference* pref = 229 const PrefService::Preference* pref =
226 pref_service_->FindPreference(prefs::kContentSettingsImagesPatternPairs); 230 pref_service_->FindPreference(kContentSettingsPrefName);
227 scoped_ptr<base::Value> merged_value( 231 scoped_ptr<base::Value> merged_value(
228 PrefModelAssociator::MergePreference(pref->name(), 232 PrefModelAssociator::MergePreference(pref->name(),
229 *pref->GetValue(), 233 *pref->GetValue(),
230 server_patterns_)); 234 server_patterns_));
231 EXPECT_TRUE(merged_value->Equals(&server_patterns_)); 235 EXPECT_TRUE(merged_value->Equals(&server_patterns_));
232 } 236 }
233 237
234 TEST_F(DictionaryPreferenceMergeTest, ServerNull) { 238 TEST_F(DictionaryPreferenceMergeTest, ServerNull) {
235 scoped_ptr<base::Value> null_value = base::Value::CreateNullValue(); 239 scoped_ptr<base::Value> null_value = base::Value::CreateNullValue();
236 { 240 {
237 DictionaryPrefUpdate update(pref_service_, 241 DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
238 prefs::kContentSettingsCookiesPatternPairs);
239 base::DictionaryValue* local_dict_value = update.Get(); 242 base::DictionaryValue* local_dict_value = update.Get();
240 SetContentPattern(local_dict_value, expression3_, 1); 243 SetContentPattern(local_dict_value, expression3_, 1);
241 } 244 }
242 245
243 const PrefService::Preference* pref = 246 const PrefService::Preference* pref =
244 pref_service_->FindPreference(prefs::kContentSettingsCookiesPatternPairs); 247 pref_service_->FindPreference(kContentSettingsPrefName);
245 scoped_ptr<base::Value> merged_value( 248 scoped_ptr<base::Value> merged_value(
246 PrefModelAssociator::MergePreference(pref->name(), 249 PrefModelAssociator::MergePreference(pref->name(),
247 *pref->GetValue(), 250 *pref->GetValue(),
248 *null_value)); 251 *null_value));
249 const base::DictionaryValue* local_dict_value = 252 const base::DictionaryValue* local_dict_value =
250 pref_service_->GetDictionary(prefs::kContentSettingsCookiesPatternPairs); 253 pref_service_->GetDictionary(kContentSettingsPrefName);
251 EXPECT_TRUE(merged_value->Equals(local_dict_value)); 254 EXPECT_TRUE(merged_value->Equals(local_dict_value));
252 } 255 }
253 256
254 TEST_F(DictionaryPreferenceMergeTest, ServerEmpty) { 257 TEST_F(DictionaryPreferenceMergeTest, ServerEmpty) {
255 scoped_ptr<base::Value> empty_value(new base::DictionaryValue); 258 scoped_ptr<base::Value> empty_value(new base::DictionaryValue);
256 { 259 {
257 DictionaryPrefUpdate update(pref_service_, 260 DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
258 prefs::kContentSettingsPluginsPatternPairs);
259 base::DictionaryValue* local_dict_value = update.Get(); 261 base::DictionaryValue* local_dict_value = update.Get();
260 SetContentPattern(local_dict_value, expression3_, 1); 262 SetContentPattern(local_dict_value, expression3_, 1);
261 } 263 }
262 264
263 const PrefService::Preference* pref = 265 const PrefService::Preference* pref =
264 pref_service_->FindPreference( 266 pref_service_->FindPreference(kContentSettingsPrefName);
265 prefs::kContentSettingsPluginsPatternPairs);
266 scoped_ptr<base::Value> merged_value( 267 scoped_ptr<base::Value> merged_value(
267 PrefModelAssociator::MergePreference(pref->name(), 268 PrefModelAssociator::MergePreference(pref->name(),
268 *pref->GetValue(), 269 *pref->GetValue(),
269 *empty_value)); 270 *empty_value));
270 const base::DictionaryValue* local_dict_value = 271 const base::DictionaryValue* local_dict_value =
271 pref_service_->GetDictionary( 272 pref_service_->GetDictionary(kContentSettingsPrefName);
272 prefs::kContentSettingsPluginsPatternPairs);
273 EXPECT_TRUE(merged_value->Equals(local_dict_value)); 273 EXPECT_TRUE(merged_value->Equals(local_dict_value));
274 } 274 }
275 275
276 TEST_F(DictionaryPreferenceMergeTest, MergeNoConflicts) { 276 TEST_F(DictionaryPreferenceMergeTest, MergeNoConflicts) {
277 { 277 {
278 DictionaryPrefUpdate update(pref_service_, 278 DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
279 prefs::kContentSettingsJavaScriptPatternPairs);
280 base::DictionaryValue* local_dict_value = update.Get(); 279 base::DictionaryValue* local_dict_value = update.Get();
281 SetContentPattern(local_dict_value, expression3_, 1); 280 SetContentPattern(local_dict_value, expression3_, 1);
282 } 281 }
283 282
284 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference( 283 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
285 prefs::kContentSettingsJavaScriptPatternPairs, 284 kContentSettingsPrefName,
286 *pref_service_->FindPreference( 285 *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
287 prefs::kContentSettingsJavaScriptPatternPairs)->GetValue(),
288 server_patterns_)); 286 server_patterns_));
289 287
290 base::DictionaryValue expected; 288 base::DictionaryValue expected;
291 SetContentPattern(&expected, expression0_, 1); 289 SetContentPattern(&expected, expression0_, 1);
292 SetContentPattern(&expected, expression1_, 2); 290 SetContentPattern(&expected, expression1_, 2);
293 SetContentPattern(&expected, expression2_, 1); 291 SetContentPattern(&expected, expression2_, 1);
294 SetContentPattern(&expected, expression3_, 1); 292 SetContentPattern(&expected, expression3_, 1);
295 EXPECT_TRUE(merged_value->Equals(&expected)); 293 EXPECT_TRUE(merged_value->Equals(&expected));
296 } 294 }
297 295
298 TEST_F(DictionaryPreferenceMergeTest, MergeConflicts) { 296 TEST_F(DictionaryPreferenceMergeTest, MergeConflicts) {
299 { 297 {
300 DictionaryPrefUpdate update(pref_service_, 298 DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
301 prefs::kContentSettingsPopupsPatternPairs);
302 base::DictionaryValue* local_dict_value = update.Get(); 299 base::DictionaryValue* local_dict_value = update.Get();
303 SetContentPattern(local_dict_value, expression0_, 2); 300 SetContentPattern(local_dict_value, expression0_, 2);
304 SetContentPattern(local_dict_value, expression2_, 1); 301 SetContentPattern(local_dict_value, expression2_, 1);
305 SetContentPattern(local_dict_value, expression3_, 1); 302 SetContentPattern(local_dict_value, expression3_, 1);
306 SetContentPattern(local_dict_value, expression4_, 2); 303 SetContentPattern(local_dict_value, expression4_, 2);
307 } 304 }
308 305
309 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference( 306 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
310 prefs::kContentSettingsPopupsPatternPairs, 307 kContentSettingsPrefName,
311 *pref_service_->FindPreference( 308 *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
312 prefs::kContentSettingsPopupsPatternPairs)->GetValue(),
313 server_patterns_)); 309 server_patterns_));
314 310
315 base::DictionaryValue expected; 311 base::DictionaryValue expected;
316 SetContentPattern(&expected, expression0_, 1); 312 SetContentPattern(&expected, expression0_, 1);
317 SetContentPattern(&expected, expression1_, 2); 313 SetContentPattern(&expected, expression1_, 2);
318 SetContentPattern(&expected, expression2_, 1); 314 SetContentPattern(&expected, expression2_, 1);
319 SetContentPattern(&expected, expression3_, 1); 315 SetContentPattern(&expected, expression3_, 1);
320 SetContentPattern(&expected, expression4_, 2); 316 SetContentPattern(&expected, expression4_, 2);
321 EXPECT_TRUE(merged_value->Equals(&expected)); 317 EXPECT_TRUE(merged_value->Equals(&expected));
322 } 318 }
323 319
324 TEST_F(DictionaryPreferenceMergeTest, Equal) { 320 TEST_F(DictionaryPreferenceMergeTest, Equal) {
325 { 321 {
326 DictionaryPrefUpdate update(pref_service_, 322 DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
327 prefs::kContentSettingsMouseLockPatternPairs);
328 base::DictionaryValue* local_dict_value = update.Get(); 323 base::DictionaryValue* local_dict_value = update.Get();
329 SetContentPattern(local_dict_value, expression0_, 1); 324 SetContentPattern(local_dict_value, expression0_, 1);
330 SetContentPattern(local_dict_value, expression1_, 2); 325 SetContentPattern(local_dict_value, expression1_, 2);
331 SetContentPattern(local_dict_value, expression2_, 1); 326 SetContentPattern(local_dict_value, expression2_, 1);
332 } 327 }
333 328
334 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference( 329 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
335 prefs::kContentSettingsMouseLockPatternPairs, 330 kContentSettingsPrefName,
336 *pref_service_->FindPreference( 331 *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
337 prefs::kContentSettingsMouseLockPatternPairs)->GetValue(),
338 server_patterns_)); 332 server_patterns_));
339 EXPECT_TRUE(merged_value->Equals(&server_patterns_)); 333 EXPECT_TRUE(merged_value->Equals(&server_patterns_));
340 } 334 }
341 335
342 TEST_F(DictionaryPreferenceMergeTest, ConflictButServerWins) { 336 TEST_F(DictionaryPreferenceMergeTest, ConflictButServerWins) {
343 { 337 {
344 DictionaryPrefUpdate update(pref_service_, 338 DictionaryPrefUpdate update(pref_service_, kContentSettingsPrefName);
345 prefs::kContentSettingsFullScreenPatternPairs);
346 base::DictionaryValue* local_dict_value = update.Get(); 339 base::DictionaryValue* local_dict_value = update.Get();
347 SetContentPattern(local_dict_value, expression0_, 2); 340 SetContentPattern(local_dict_value, expression0_, 2);
348 SetContentPattern(local_dict_value, expression1_, 2); 341 SetContentPattern(local_dict_value, expression1_, 2);
349 SetContentPattern(local_dict_value, expression2_, 1); 342 SetContentPattern(local_dict_value, expression2_, 1);
350 } 343 }
351 344
352 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference( 345 scoped_ptr<base::Value> merged_value(PrefModelAssociator::MergePreference(
353 prefs::kContentSettingsFullScreenPatternPairs, 346 kContentSettingsPrefName,
354 *pref_service_->FindPreference( 347 *pref_service_->FindPreference(kContentSettingsPrefName)->GetValue(),
355 prefs::kContentSettingsFullScreenPatternPairs)->GetValue(),
356 server_patterns_)); 348 server_patterns_));
357 EXPECT_TRUE(merged_value->Equals(&server_patterns_)); 349 EXPECT_TRUE(merged_value->Equals(&server_patterns_));
358 } 350 }
359 351
360 class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest { 352 class IndividualPreferenceMergeTest : public AbstractPreferenceMergeTest {
361 protected: 353 protected:
362 IndividualPreferenceMergeTest() : 354 IndividualPreferenceMergeTest() :
363 url0_("http://example.com/server0"), 355 url0_("http://example.com/server0"),
364 url1_("http://example.com/server1"), 356 url1_("http://example.com/server1"),
365 expression0_("expression0"), 357 expression0_("expression0"),
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 std::string expression0_; 404 std::string expression0_;
413 std::string expression1_; 405 std::string expression1_;
414 std::string content_type0_; 406 std::string content_type0_;
415 base::ListValue server_url_list_; 407 base::ListValue server_url_list_;
416 base::DictionaryValue server_patterns_; 408 base::DictionaryValue server_patterns_;
417 }; 409 };
418 410
419 TEST_F(IndividualPreferenceMergeTest, URLsToRestoreOnStartup) { 411 TEST_F(IndividualPreferenceMergeTest, URLsToRestoreOnStartup) {
420 EXPECT_TRUE(MergeListPreference(prefs::kURLsToRestoreOnStartup)); 412 EXPECT_TRUE(MergeListPreference(prefs::kURLsToRestoreOnStartup));
421 } 413 }
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_model_associator.cc ('k') | chrome/browser/ui/webui/options/content_settings_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698