OLD | NEW |
1 // Copyright (c) 2010 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 <set> | 5 #include <set> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/browser/browser_thread.h" | 10 #include "chrome/browser/browser_thread.h" |
11 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 11 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 // Create a fresh PrefValueStore. | 102 // Create a fresh PrefValueStore. |
103 pref_value_store_ = new PrefValueStore( | 103 pref_value_store_ = new PrefValueStore( |
104 managed_platform_pref_store_, | 104 managed_platform_pref_store_, |
105 device_management_pref_store_, | 105 device_management_pref_store_, |
106 extension_pref_store_, | 106 extension_pref_store_, |
107 command_line_pref_store_, | 107 command_line_pref_store_, |
108 user_pref_store_, | 108 user_pref_store_, |
109 recommended_pref_store_, | 109 recommended_pref_store_, |
110 default_pref_store_, | 110 default_pref_store_, |
111 &pref_notifier_); | 111 &pref_notifier_); |
112 | |
113 // Register prefs with the PrefValueStore. | |
114 pref_value_store_->RegisterPreferenceType(prefs::kApplicationLocale, | |
115 Value::TYPE_STRING); | |
116 pref_value_store_->RegisterPreferenceType(prefs::kCurrentThemeID, | |
117 Value::TYPE_STRING); | |
118 pref_value_store_->RegisterPreferenceType( | |
119 prefs::kDefaultSearchProviderName, | |
120 Value::TYPE_STRING); | |
121 pref_value_store_->RegisterPreferenceType(prefs::kDeleteCache, | |
122 Value::TYPE_BOOLEAN); | |
123 pref_value_store_->RegisterPreferenceType(prefs::kHomePage, | |
124 Value::TYPE_STRING); | |
125 pref_value_store_->RegisterPreferenceType(prefs::kStabilityLaunchCount, | |
126 Value::TYPE_INTEGER); | |
127 pref_value_store_->RegisterPreferenceType(prefs::kRecommendedPref, | |
128 Value::TYPE_BOOLEAN); | |
129 pref_value_store_->RegisterPreferenceType(prefs::kSampleDict, | |
130 Value::TYPE_DICTIONARY); | |
131 pref_value_store_->RegisterPreferenceType(prefs::kSampleList, | |
132 Value::TYPE_LIST); | |
133 pref_value_store_->RegisterPreferenceType(prefs::kDefaultPref, | |
134 Value::TYPE_INTEGER); | |
135 pref_value_store_->RegisterPreferenceType(prefs::kProxyMode, | |
136 Value::TYPE_INTEGER); | |
137 } | 112 } |
138 | 113 |
139 // Creates a new dictionary and stores some sample user preferences | 114 // Creates a new dictionary and stores some sample user preferences |
140 // in it. | 115 // in it. |
141 void CreateUserPrefs() { | 116 void CreateUserPrefs() { |
142 user_pref_store_ = new TestingPrefStore; | 117 user_pref_store_ = new TestingPrefStore; |
143 user_pref_store_->SetBoolean(prefs::kDeleteCache, | 118 user_pref_store_->SetBoolean(prefs::kDeleteCache, |
144 user_pref::kDeleteCacheValue); | 119 user_pref::kDeleteCacheValue); |
145 user_pref_store_->SetInteger(prefs::kStabilityLaunchCount, | 120 user_pref_store_->SetInteger(prefs::kStabilityLaunchCount, |
146 user_pref::kStabilityLaunchCountValue); | 121 user_pref::kStabilityLaunchCountValue); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 sample_list->Set(0, Value::CreateIntegerValue(0)); | 192 sample_list->Set(0, Value::CreateIntegerValue(0)); |
218 sample_list->Set(1, Value::CreateIntegerValue(1)); | 193 sample_list->Set(1, Value::CreateIntegerValue(1)); |
219 sample_list->Set(2, Value::CreateIntegerValue(2)); | 194 sample_list->Set(2, Value::CreateIntegerValue(2)); |
220 sample_list->Set(3, Value::CreateIntegerValue(3)); | 195 sample_list->Set(3, Value::CreateIntegerValue(3)); |
221 return sample_list; | 196 return sample_list; |
222 } | 197 } |
223 | 198 |
224 MockPrefNotifier pref_notifier_; | 199 MockPrefNotifier pref_notifier_; |
225 scoped_refptr<PrefValueStore> pref_value_store_; | 200 scoped_refptr<PrefValueStore> pref_value_store_; |
226 | 201 |
227 // |PrefStore|s are owned by the |PrefValueStore|. | 202 scoped_refptr<TestingPrefStore> managed_platform_pref_store_; |
228 TestingPrefStore* managed_platform_pref_store_; | 203 scoped_refptr<TestingPrefStore> device_management_pref_store_; |
229 TestingPrefStore* device_management_pref_store_; | 204 scoped_refptr<TestingPrefStore> extension_pref_store_; |
230 TestingPrefStore* extension_pref_store_; | 205 scoped_refptr<TestingPrefStore> command_line_pref_store_; |
231 TestingPrefStore* command_line_pref_store_; | 206 scoped_refptr<TestingPrefStore> user_pref_store_; |
232 TestingPrefStore* user_pref_store_; | 207 scoped_refptr<TestingPrefStore> recommended_pref_store_; |
233 TestingPrefStore* recommended_pref_store_; | 208 scoped_refptr<TestingPrefStore> default_pref_store_; |
234 TestingPrefStore* default_pref_store_; | |
235 }; | 209 }; |
236 | 210 |
237 TEST_F(PrefValueStoreTest, GetValue) { | 211 TEST_F(PrefValueStoreTest, GetValue) { |
238 Value* value; | 212 Value* value; |
239 | 213 |
240 // Test getting a managed platform value overwriting a user-defined and | 214 // Test getting a managed platform value overwriting a user-defined and |
241 // extension-defined value. | 215 // extension-defined value. |
242 value = NULL; | 216 value = NULL; |
243 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); | 217 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, Value::TYPE_STRING, |
| 218 &value)); |
244 std::string actual_str_value; | 219 std::string actual_str_value; |
245 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 220 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
246 EXPECT_EQ(managed_platform_pref::kHomepageValue, actual_str_value); | 221 EXPECT_EQ(managed_platform_pref::kHomepageValue, actual_str_value); |
247 | 222 |
248 // Test getting a managed platform value overwriting a user-defined value. | 223 // Test getting a managed platform value overwriting a user-defined value. |
249 value = NULL; | 224 value = NULL; |
250 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultSearchProviderName, | 225 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultSearchProviderName, |
251 &value)); | 226 Value::TYPE_STRING, &value)); |
252 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 227 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
253 EXPECT_EQ(device_management_pref::kSearchProviderNameValue, | 228 EXPECT_EQ(device_management_pref::kSearchProviderNameValue, |
254 actual_str_value); | 229 actual_str_value); |
255 | 230 |
256 // Test getting an extension value overwriting a user-defined and | 231 // Test getting an extension value overwriting a user-defined and |
257 // command-line-defined value. | 232 // command-line-defined value. |
258 value = NULL; | 233 value = NULL; |
259 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCurrentThemeID, &value)); | 234 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCurrentThemeID, |
| 235 Value::TYPE_STRING, &value)); |
260 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 236 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
261 EXPECT_EQ(extension_pref::kCurrentThemeIDValue, actual_str_value); | 237 EXPECT_EQ(extension_pref::kCurrentThemeIDValue, actual_str_value); |
262 | 238 |
263 // Test getting a command-line value overwriting a user-defined value. | 239 // Test getting a command-line value overwriting a user-defined value. |
264 value = NULL; | 240 value = NULL; |
265 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kApplicationLocale, &value)); | 241 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kApplicationLocale, |
| 242 Value::TYPE_STRING, &value)); |
266 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 243 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
267 EXPECT_EQ(command_line_pref::kApplicationLocaleValue, actual_str_value); | 244 EXPECT_EQ(command_line_pref::kApplicationLocaleValue, actual_str_value); |
268 | 245 |
269 // Test getting a user-set value. | 246 // Test getting a user-set value. |
270 value = NULL; | 247 value = NULL; |
271 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDeleteCache, &value)); | 248 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDeleteCache, |
| 249 Value::TYPE_BOOLEAN, &value)); |
272 bool actual_bool_value = false; | 250 bool actual_bool_value = false; |
273 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); | 251 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); |
274 EXPECT_EQ(user_pref::kDeleteCacheValue, actual_bool_value); | 252 EXPECT_EQ(user_pref::kDeleteCacheValue, actual_bool_value); |
275 | 253 |
276 // Test getting a user set value overwriting a recommended value. | 254 // Test getting a user set value overwriting a recommended value. |
277 value = NULL; | 255 value = NULL; |
278 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, | 256 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, |
279 &value)); | 257 Value::TYPE_INTEGER, &value)); |
280 int actual_int_value = -1; | 258 int actual_int_value = -1; |
281 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 259 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
282 EXPECT_EQ(user_pref::kStabilityLaunchCountValue, actual_int_value); | 260 EXPECT_EQ(user_pref::kStabilityLaunchCountValue, actual_int_value); |
283 | 261 |
284 // Test getting a recommended value. | 262 // Test getting a recommended value. |
285 value = NULL; | 263 value = NULL; |
286 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedPref, &value)); | 264 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedPref, |
| 265 Value::TYPE_BOOLEAN, &value)); |
287 actual_bool_value = false; | 266 actual_bool_value = false; |
288 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); | 267 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); |
289 EXPECT_EQ(recommended_pref::kRecommendedPrefValue, actual_bool_value); | 268 EXPECT_EQ(recommended_pref::kRecommendedPrefValue, actual_bool_value); |
290 | 269 |
291 // Test getting a default value. | 270 // Test getting a default value. |
292 value = NULL; | 271 value = NULL; |
293 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultPref, &value)); | 272 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultPref, |
| 273 Value::TYPE_INTEGER, &value)); |
294 actual_int_value = -1; | 274 actual_int_value = -1; |
295 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 275 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
296 EXPECT_EQ(default_pref::kDefaultValue, actual_int_value); | 276 EXPECT_EQ(default_pref::kDefaultValue, actual_int_value); |
297 | 277 |
298 // Test getting a preference value that the |PrefValueStore| | 278 // Test getting a preference value that the |PrefValueStore| |
299 // does not contain. | 279 // does not contain. |
300 FundamentalValue tmp_dummy_value(true); | 280 FundamentalValue tmp_dummy_value(true); |
301 Value* v_null = &tmp_dummy_value; | 281 Value* v_null = &tmp_dummy_value; |
302 ASSERT_FALSE(pref_value_store_->GetValue(prefs::kMissingPref, &v_null)); | 282 ASSERT_FALSE(pref_value_store_->GetValue(prefs::kMissingPref, |
| 283 Value::TYPE_STRING, &v_null)); |
303 ASSERT_TRUE(v_null == NULL); | 284 ASSERT_TRUE(v_null == NULL); |
304 } | 285 } |
305 | 286 |
306 // Make sure that if a preference changes type, so the wrong type is stored in | |
307 // the user pref file, it uses the correct fallback value instead. | |
308 TEST_F(PrefValueStoreTest, GetValueChangedType) { | |
309 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(AnyNumber()); | |
310 | |
311 // Check falling back to a recommended value. | |
312 user_pref_store_->SetString(prefs::kStabilityLaunchCount, | |
313 "not an integer"); | |
314 Value* value = NULL; | |
315 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, | |
316 &value)); | |
317 ASSERT_TRUE(value != NULL); | |
318 ASSERT_EQ(Value::TYPE_INTEGER, value->GetType()); | |
319 int actual_int_value = -1; | |
320 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | |
321 EXPECT_EQ(recommended_pref::kStabilityLaunchCountValue, actual_int_value); | |
322 | |
323 // Check falling back multiple times, to a default string. | |
324 default_pref_store_->SetString(prefs::kHomePage, | |
325 default_pref::kHomepageValue); | |
326 managed_platform_pref_store_->SetInteger(prefs::kHomePage, 1); | |
327 device_management_pref_store_->SetInteger(prefs::kHomePage, 1); | |
328 extension_pref_store_->SetInteger(prefs::kHomePage, 1); | |
329 command_line_pref_store_->SetInteger(prefs::kHomePage, 1); | |
330 user_pref_store_->SetInteger(prefs::kHomePage, 1); | |
331 recommended_pref_store_->SetInteger(prefs::kHomePage, 1); | |
332 | |
333 value = NULL; | |
334 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); | |
335 ASSERT_TRUE(value != NULL); | |
336 ASSERT_EQ(Value::TYPE_STRING, value->GetType()); | |
337 std::string actual_str_value; | |
338 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | |
339 EXPECT_EQ(default_pref::kHomepageValue, actual_str_value); | |
340 } | |
341 | |
342 TEST_F(PrefValueStoreTest, HasPrefPath) { | |
343 // Managed Platform preference | |
344 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
345 // Device management preference | |
346 EXPECT_TRUE(pref_value_store_->HasPrefPath( | |
347 prefs::kDefaultSearchProviderName)); | |
348 // Extension preference | |
349 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
350 // User preference | |
351 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kDeleteCache)); | |
352 // Recommended preference | |
353 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
354 // Default preference | |
355 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
356 // Unknown preference | |
357 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
358 } | |
359 | |
360 TEST_F(PrefValueStoreTest, PrefChanges) { | 287 TEST_F(PrefValueStoreTest, PrefChanges) { |
361 // Setup. | 288 // Setup. |
362 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(AnyNumber()); | 289 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(AnyNumber()); |
363 const char managed_platform_pref_path[] = "managed_platform_pref"; | 290 const char managed_platform_pref_path[] = "managed_platform_pref"; |
364 pref_value_store_->RegisterPreferenceType(managed_platform_pref_path, | |
365 Value::TYPE_STRING); | |
366 managed_platform_pref_store_->SetString(managed_platform_pref_path, | 291 managed_platform_pref_store_->SetString(managed_platform_pref_path, |
367 "managed value"); | 292 "managed value"); |
368 const char user_pref_path[] = "user_pref"; | 293 const char user_pref_path[] = "user_pref"; |
369 pref_value_store_->RegisterPreferenceType(user_pref_path, Value::TYPE_STRING); | |
370 user_pref_store_->SetString(user_pref_path, "user value"); | 294 user_pref_store_->SetString(user_pref_path, "user value"); |
371 const char default_pref_path[] = "default_pref"; | 295 const char default_pref_path[] = "default_pref"; |
372 pref_value_store_->RegisterPreferenceType(default_pref_path, | |
373 Value::TYPE_STRING); | |
374 default_pref_store_->SetString(default_pref_path, "default value"); | 296 default_pref_store_->SetString(default_pref_path, "default value"); |
375 Mock::VerifyAndClearExpectations(&pref_notifier_); | 297 Mock::VerifyAndClearExpectations(&pref_notifier_); |
376 | 298 |
377 // Check pref controlled by highest-priority store. | 299 // Check pref controlled by highest-priority store. |
378 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(managed_platform_pref_path)); | 300 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(managed_platform_pref_path)); |
379 managed_platform_pref_store_->NotifyPrefValueChanged( | 301 managed_platform_pref_store_->NotifyPrefValueChanged( |
380 managed_platform_pref_path); | 302 managed_platform_pref_path); |
381 Mock::VerifyAndClearExpectations(&pref_notifier_); | 303 Mock::VerifyAndClearExpectations(&pref_notifier_); |
382 | 304 |
383 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); | 305 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 Mock::VerifyAndClearExpectations(&pref_notifier_); | 340 Mock::VerifyAndClearExpectations(&pref_notifier_); |
419 | 341 |
420 // The notification should only be triggered after the last store is done. | 342 // The notification should only be triggered after the last store is done. |
421 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(1); | 343 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(1); |
422 user_pref_store_->SetInitializationCompleted(); | 344 user_pref_store_->SetInitializationCompleted(); |
423 Mock::VerifyAndClearExpectations(&pref_notifier_); | 345 Mock::VerifyAndClearExpectations(&pref_notifier_); |
424 } | 346 } |
425 | 347 |
426 TEST_F(PrefValueStoreTest, PrefValueInManagedPlatformStore) { | 348 TEST_F(PrefValueStoreTest, PrefValueInManagedPlatformStore) { |
427 // Test a managed platform preference. | 349 // Test a managed platform preference. |
428 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
429 EXPECT_TRUE(pref_value_store_->PrefValueInManagedPlatformStore( | 350 EXPECT_TRUE(pref_value_store_->PrefValueInManagedPlatformStore( |
430 prefs::kHomePage)); | 351 prefs::kHomePage)); |
431 | 352 |
432 // Test a device management preference. | 353 // Test a device management preference. |
433 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
434 prefs::kDefaultSearchProviderName)); | |
435 EXPECT_TRUE(pref_value_store_->PrefValueInDeviceManagementStore( | 354 EXPECT_TRUE(pref_value_store_->PrefValueInDeviceManagementStore( |
436 prefs::kDefaultSearchProviderName)); | 355 prefs::kDefaultSearchProviderName)); |
437 | 356 |
438 // Test an extension preference. | 357 // Test an extension preference. |
439 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
440 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 358 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
441 prefs::kCurrentThemeID)); | 359 prefs::kCurrentThemeID)); |
442 | 360 |
443 // Test a command-line preference. | 361 // Test a command-line preference. |
444 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
445 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 362 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
446 prefs::kApplicationLocale)); | 363 prefs::kApplicationLocale)); |
447 | 364 |
448 // Test a user preference. | 365 // Test a user preference. |
449 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
450 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 366 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
451 prefs::kStabilityLaunchCount)); | 367 prefs::kStabilityLaunchCount)); |
452 | 368 |
453 // Test a preference from the recommended pref store. | 369 // Test a preference from the recommended pref store. |
454 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
455 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 370 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
456 prefs::kRecommendedPref)); | 371 prefs::kRecommendedPref)); |
457 | 372 |
458 // Test a preference from the default pref store. | 373 // Test a preference from the default pref store. |
459 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
460 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 374 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
461 prefs::kDefaultPref)); | 375 prefs::kDefaultPref)); |
462 | 376 |
463 // Test a preference for which the PrefValueStore does not contain a value. | 377 // Test a preference for which the PrefValueStore does not contain a value. |
464 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
465 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 378 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
466 prefs::kMissingPref)); | 379 prefs::kMissingPref)); |
467 } | 380 } |
468 | 381 |
469 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { | 382 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { |
470 // Test a managed platform preference. | 383 // Test a managed platform preference. |
471 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
472 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomePage)); | 384 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomePage)); |
473 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 385 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
474 prefs::kHomePage)); | 386 prefs::kHomePage)); |
475 | 387 |
476 // Test a device management preference. | 388 // Test a device management preference. |
477 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
478 prefs::kDefaultSearchProviderName)); | |
479 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 389 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
480 prefs::kDefaultSearchProviderName)); | 390 prefs::kDefaultSearchProviderName)); |
481 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 391 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
482 prefs::kDefaultSearchProviderName)); | 392 prefs::kDefaultSearchProviderName)); |
483 | 393 |
484 // Test an extension preference. | 394 // Test an extension preference. |
485 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
486 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 395 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
487 prefs::kCurrentThemeID)); | 396 prefs::kCurrentThemeID)); |
488 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( | 397 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( |
489 prefs::kCurrentThemeID)); | 398 prefs::kCurrentThemeID)); |
490 | 399 |
491 // Test a command-line preference. | 400 // Test a command-line preference. |
492 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
493 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 401 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
494 prefs::kApplicationLocale)); | 402 prefs::kApplicationLocale)); |
495 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 403 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
496 prefs::kApplicationLocale)); | 404 prefs::kApplicationLocale)); |
497 | 405 |
498 // Test a user preference. | 406 // Test a user preference. |
499 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
500 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 407 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
501 prefs::kStabilityLaunchCount)); | 408 prefs::kStabilityLaunchCount)); |
502 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 409 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
503 prefs::kStabilityLaunchCount)); | 410 prefs::kStabilityLaunchCount)); |
504 | 411 |
505 // Test a preference from the recommended pref store. | 412 // Test a preference from the recommended pref store. |
506 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
507 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 413 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
508 prefs::kRecommendedPref)); | 414 prefs::kRecommendedPref)); |
509 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 415 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
510 prefs::kRecommendedPref)); | 416 prefs::kRecommendedPref)); |
511 | 417 |
512 // Test a preference from the default pref store. | 418 // Test a preference from the default pref store. |
513 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
514 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 419 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
515 prefs::kDefaultPref)); | 420 prefs::kDefaultPref)); |
516 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 421 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
517 prefs::kDefaultPref)); | 422 prefs::kDefaultPref)); |
518 | 423 |
519 // Test a preference for which the PrefValueStore does not contain a value. | 424 // Test a preference for which the PrefValueStore does not contain a value. |
520 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
521 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 425 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
522 prefs::kMissingPref)); | 426 prefs::kMissingPref)); |
523 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 427 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
524 prefs::kMissingPref)); | 428 prefs::kMissingPref)); |
525 } | 429 } |
526 | 430 |
527 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { | 431 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { |
528 // Test a managed platform preference. | 432 // Test a managed platform preference. |
529 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
530 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomePage)); | 433 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomePage)); |
531 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomePage)); | 434 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomePage)); |
532 | 435 |
533 // Test a device management preference. | 436 // Test a device management preference. |
534 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
535 prefs::kDefaultSearchProviderName)); | |
536 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 437 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
537 prefs::kDefaultSearchProviderName)); | 438 prefs::kDefaultSearchProviderName)); |
538 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 439 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
539 prefs::kDefaultSearchProviderName)); | 440 prefs::kDefaultSearchProviderName)); |
540 | 441 |
541 // Test an extension preference. | 442 // Test an extension preference. |
542 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
543 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 443 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
544 prefs::kCurrentThemeID)); | 444 prefs::kCurrentThemeID)); |
545 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 445 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
546 prefs::kCurrentThemeID)); | 446 prefs::kCurrentThemeID)); |
547 | 447 |
548 // Test a command-line preference. | 448 // Test a command-line preference. |
549 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
550 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 449 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
551 prefs::kApplicationLocale)); | 450 prefs::kApplicationLocale)); |
552 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 451 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
553 prefs::kApplicationLocale)); | 452 prefs::kApplicationLocale)); |
554 | 453 |
555 // Test a user preference. | 454 // Test a user preference. |
556 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
557 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 455 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
558 prefs::kStabilityLaunchCount)); | 456 prefs::kStabilityLaunchCount)); |
559 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( | 457 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( |
560 prefs::kStabilityLaunchCount)); | 458 prefs::kStabilityLaunchCount)); |
561 | 459 |
562 // Test a preference from the recommended pref store. | 460 // Test a preference from the recommended pref store. |
563 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
564 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( | 461 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
565 prefs::kRecommendedPref)); | 462 prefs::kRecommendedPref)); |
566 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 463 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
567 prefs::kRecommendedPref)); | 464 prefs::kRecommendedPref)); |
568 | 465 |
569 // Test a preference from the default pref store. | 466 // Test a preference from the default pref store. |
570 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
571 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kDefaultPref)); | 467 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kDefaultPref)); |
572 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kDefaultPref)); | 468 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kDefaultPref)); |
573 | 469 |
574 // Test a preference for which the PrefValueStore does not contain a value. | 470 // Test a preference for which the PrefValueStore does not contain a value. |
575 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
576 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref)); | 471 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref)); |
577 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref)); | 472 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref)); |
578 } | 473 } |
579 | 474 |
580 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { | 475 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { |
581 // Test a managed platform preference. | 476 // Test a managed platform preference. |
582 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
583 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(prefs::kHomePage)); | 477 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(prefs::kHomePage)); |
584 | 478 |
585 // Test a device management preference. | 479 // Test a device management preference. |
586 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
587 prefs::kDefaultSearchProviderName)); | |
588 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 480 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
589 prefs::kDefaultSearchProviderName)); | 481 prefs::kDefaultSearchProviderName)); |
590 | 482 |
591 // Test an extension preference. | 483 // Test an extension preference. |
592 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
593 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 484 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
594 prefs::kCurrentThemeID)); | 485 prefs::kCurrentThemeID)); |
595 | 486 |
596 // Test a command-line preference. | 487 // Test a command-line preference. |
597 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
598 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 488 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
599 prefs::kApplicationLocale)); | 489 prefs::kApplicationLocale)); |
600 | 490 |
601 // Test a user preference. | 491 // Test a user preference. |
602 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
603 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 492 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
604 prefs::kStabilityLaunchCount)); | 493 prefs::kStabilityLaunchCount)); |
605 | 494 |
606 // Test a preference from the recommended pref store. | 495 // Test a preference from the recommended pref store. |
607 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
608 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 496 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
609 prefs::kRecommendedPref)); | 497 prefs::kRecommendedPref)); |
610 | 498 |
611 // Test a preference from the default pref store. | 499 // Test a preference from the default pref store. |
612 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
613 EXPECT_TRUE( | 500 EXPECT_TRUE( |
614 pref_value_store_->PrefValueFromDefaultStore(prefs::kDefaultPref)); | 501 pref_value_store_->PrefValueFromDefaultStore(prefs::kDefaultPref)); |
615 | 502 |
616 // Test a preference for which the PrefValueStore does not contain a value. | 503 // Test a preference for which the PrefValueStore does not contain a value. |
617 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
618 EXPECT_FALSE( | 504 EXPECT_FALSE( |
619 pref_value_store_->PrefValueFromDefaultStore(prefs::kMissingPref)); | 505 pref_value_store_->PrefValueFromDefaultStore(prefs::kMissingPref)); |
620 } | 506 } |
OLD | NEW |