OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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" |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 NULL); | 112 NULL); |
113 | |
114 // Register prefs with the PrefValueStore. | |
115 pref_value_store_->RegisterPreferenceType(prefs::kApplicationLocale, | |
116 Value::TYPE_STRING); | |
117 pref_value_store_->RegisterPreferenceType(prefs::kCurrentThemeID, | |
118 Value::TYPE_STRING); | |
119 pref_value_store_->RegisterPreferenceType( | |
120 prefs::kDefaultSearchProviderName, | |
121 Value::TYPE_STRING); | |
122 pref_value_store_->RegisterPreferenceType(prefs::kDeleteCache, | |
123 Value::TYPE_BOOLEAN); | |
124 pref_value_store_->RegisterPreferenceType(prefs::kHomePage, | |
125 Value::TYPE_STRING); | |
126 pref_value_store_->RegisterPreferenceType(prefs::kStabilityLaunchCount, | |
127 Value::TYPE_INTEGER); | |
128 pref_value_store_->RegisterPreferenceType(prefs::kRecommendedPref, | |
129 Value::TYPE_BOOLEAN); | |
130 pref_value_store_->RegisterPreferenceType(prefs::kSampleDict, | |
131 Value::TYPE_DICTIONARY); | |
132 pref_value_store_->RegisterPreferenceType(prefs::kSampleList, | |
133 Value::TYPE_LIST); | |
134 pref_value_store_->RegisterPreferenceType(prefs::kDefaultPref, | |
135 Value::TYPE_INTEGER); | |
136 pref_value_store_->RegisterPreferenceType(prefs::kProxyAutoDetect, | |
137 Value::TYPE_BOOLEAN); | |
138 } | 113 } |
139 | 114 |
140 // Creates a new dictionary and stores some sample user preferences | 115 // Creates a new dictionary and stores some sample user preferences |
141 // in it. | 116 // in it. |
142 void CreateUserPrefs() { | 117 void CreateUserPrefs() { |
143 user_pref_store_ = new TestingPrefStore; | 118 user_pref_store_ = new TestingPrefStore; |
144 user_pref_store_->SetBoolean(prefs::kDeleteCache, | 119 user_pref_store_->SetBoolean(prefs::kDeleteCache, |
145 user_pref::kDeleteCacheValue); | 120 user_pref::kDeleteCacheValue); |
146 user_pref_store_->SetInteger(prefs::kStabilityLaunchCount, | 121 user_pref_store_->SetInteger(prefs::kStabilityLaunchCount, |
147 user_pref::kStabilityLaunchCountValue); | 122 user_pref::kStabilityLaunchCountValue); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 sample_list->Set(0, Value::CreateIntegerValue(0)); | 193 sample_list->Set(0, Value::CreateIntegerValue(0)); |
219 sample_list->Set(1, Value::CreateIntegerValue(1)); | 194 sample_list->Set(1, Value::CreateIntegerValue(1)); |
220 sample_list->Set(2, Value::CreateIntegerValue(2)); | 195 sample_list->Set(2, Value::CreateIntegerValue(2)); |
221 sample_list->Set(3, Value::CreateIntegerValue(3)); | 196 sample_list->Set(3, Value::CreateIntegerValue(3)); |
222 return sample_list; | 197 return sample_list; |
223 } | 198 } |
224 | 199 |
225 MockPrefNotifier pref_notifier_; | 200 MockPrefNotifier pref_notifier_; |
226 scoped_refptr<PrefValueStore> pref_value_store_; | 201 scoped_refptr<PrefValueStore> pref_value_store_; |
227 | 202 |
228 // |PrefStore|s are owned by the |PrefValueStore|. | 203 scoped_refptr<TestingPrefStore> managed_platform_pref_store_; |
229 TestingPrefStore* managed_platform_pref_store_; | 204 scoped_refptr<TestingPrefStore> device_management_pref_store_; |
230 TestingPrefStore* device_management_pref_store_; | 205 scoped_refptr<TestingPrefStore> extension_pref_store_; |
231 TestingPrefStore* extension_pref_store_; | 206 scoped_refptr<TestingPrefStore> command_line_pref_store_; |
232 TestingPrefStore* command_line_pref_store_; | 207 scoped_refptr<TestingPrefStore> user_pref_store_; |
233 TestingPrefStore* user_pref_store_; | 208 scoped_refptr<TestingPrefStore> recommended_pref_store_; |
234 TestingPrefStore* recommended_pref_store_; | 209 scoped_refptr<TestingPrefStore> default_pref_store_; |
235 TestingPrefStore* default_pref_store_; | |
236 }; | 210 }; |
237 | 211 |
238 TEST_F(PrefValueStoreTest, GetValue) { | 212 TEST_F(PrefValueStoreTest, GetValue) { |
239 Value* value; | 213 Value* value; |
240 | 214 |
241 // Test getting a managed platform value overwriting a user-defined and | 215 // Test getting a managed platform value overwriting a user-defined and |
242 // extension-defined value. | 216 // extension-defined value. |
243 value = NULL; | 217 value = NULL; |
244 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); | 218 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, Value::TYPE_STRING, |
| 219 &value)); |
245 std::string actual_str_value; | 220 std::string actual_str_value; |
246 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 221 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
247 EXPECT_EQ(managed_platform_pref::kHomepageValue, actual_str_value); | 222 EXPECT_EQ(managed_platform_pref::kHomepageValue, actual_str_value); |
248 | 223 |
249 // Test getting a managed platform value overwriting a user-defined value. | 224 // Test getting a managed platform value overwriting a user-defined value. |
250 value = NULL; | 225 value = NULL; |
251 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultSearchProviderName, | 226 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultSearchProviderName, |
252 &value)); | 227 Value::TYPE_STRING, &value)); |
253 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 228 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
254 EXPECT_EQ(device_management_pref::kSearchProviderNameValue, | 229 EXPECT_EQ(device_management_pref::kSearchProviderNameValue, |
255 actual_str_value); | 230 actual_str_value); |
256 | 231 |
257 // Test getting an extension value overwriting a user-defined and | 232 // Test getting an extension value overwriting a user-defined and |
258 // command-line-defined value. | 233 // command-line-defined value. |
259 value = NULL; | 234 value = NULL; |
260 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCurrentThemeID, &value)); | 235 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCurrentThemeID, |
| 236 Value::TYPE_STRING, &value)); |
261 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 237 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
262 EXPECT_EQ(extension_pref::kCurrentThemeIDValue, actual_str_value); | 238 EXPECT_EQ(extension_pref::kCurrentThemeIDValue, actual_str_value); |
263 | 239 |
264 // Test getting a command-line value overwriting a user-defined value. | 240 // Test getting a command-line value overwriting a user-defined value. |
265 value = NULL; | 241 value = NULL; |
266 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kApplicationLocale, &value)); | 242 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kApplicationLocale, |
| 243 Value::TYPE_STRING, &value)); |
267 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 244 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
268 EXPECT_EQ(command_line_pref::kApplicationLocaleValue, actual_str_value); | 245 EXPECT_EQ(command_line_pref::kApplicationLocaleValue, actual_str_value); |
269 | 246 |
270 // Test getting a user-set value. | 247 // Test getting a user-set value. |
271 value = NULL; | 248 value = NULL; |
272 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDeleteCache, &value)); | 249 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDeleteCache, |
| 250 Value::TYPE_BOOLEAN, &value)); |
273 bool actual_bool_value = false; | 251 bool actual_bool_value = false; |
274 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); | 252 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); |
275 EXPECT_EQ(user_pref::kDeleteCacheValue, actual_bool_value); | 253 EXPECT_EQ(user_pref::kDeleteCacheValue, actual_bool_value); |
276 | 254 |
277 // Test getting a user set value overwriting a recommended value. | 255 // Test getting a user set value overwriting a recommended value. |
278 value = NULL; | 256 value = NULL; |
279 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, | 257 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, |
280 &value)); | 258 Value::TYPE_INTEGER, &value)); |
281 int actual_int_value = -1; | 259 int actual_int_value = -1; |
282 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 260 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
283 EXPECT_EQ(user_pref::kStabilityLaunchCountValue, actual_int_value); | 261 EXPECT_EQ(user_pref::kStabilityLaunchCountValue, actual_int_value); |
284 | 262 |
285 // Test getting a recommended value. | 263 // Test getting a recommended value. |
286 value = NULL; | 264 value = NULL; |
287 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedPref, &value)); | 265 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedPref, |
| 266 Value::TYPE_BOOLEAN, &value)); |
288 actual_bool_value = false; | 267 actual_bool_value = false; |
289 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); | 268 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); |
290 EXPECT_EQ(recommended_pref::kRecommendedPrefValue, actual_bool_value); | 269 EXPECT_EQ(recommended_pref::kRecommendedPrefValue, actual_bool_value); |
291 | 270 |
292 // Test getting a default value. | 271 // Test getting a default value. |
293 value = NULL; | 272 value = NULL; |
294 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultPref, &value)); | 273 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultPref, |
| 274 Value::TYPE_INTEGER, &value)); |
295 actual_int_value = -1; | 275 actual_int_value = -1; |
296 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 276 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
297 EXPECT_EQ(default_pref::kDefaultValue, actual_int_value); | 277 EXPECT_EQ(default_pref::kDefaultValue, actual_int_value); |
298 | 278 |
299 // Test getting a preference value that the |PrefValueStore| | 279 // Test getting a preference value that the |PrefValueStore| |
300 // does not contain. | 280 // does not contain. |
301 FundamentalValue tmp_dummy_value(true); | 281 FundamentalValue tmp_dummy_value(true); |
302 Value* v_null = &tmp_dummy_value; | 282 Value* v_null = &tmp_dummy_value; |
303 ASSERT_FALSE(pref_value_store_->GetValue(prefs::kMissingPref, &v_null)); | 283 ASSERT_FALSE(pref_value_store_->GetValue(prefs::kMissingPref, |
| 284 Value::TYPE_STRING, &v_null)); |
304 ASSERT_TRUE(v_null == NULL); | 285 ASSERT_TRUE(v_null == NULL); |
305 } | 286 } |
306 | 287 |
307 // Make sure that if a preference changes type, so the wrong type is stored in | |
308 // the user pref file, it uses the correct fallback value instead. | |
309 TEST_F(PrefValueStoreTest, GetValueChangedType) { | |
310 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(AnyNumber()); | |
311 | |
312 // Check falling back to a recommended value. | |
313 user_pref_store_->SetString(prefs::kStabilityLaunchCount, | |
314 "not an integer"); | |
315 Value* value = NULL; | |
316 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, | |
317 &value)); | |
318 ASSERT_TRUE(value != NULL); | |
319 ASSERT_EQ(Value::TYPE_INTEGER, value->GetType()); | |
320 int actual_int_value = -1; | |
321 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | |
322 EXPECT_EQ(recommended_pref::kStabilityLaunchCountValue, actual_int_value); | |
323 | |
324 // Check falling back multiple times, to a default string. | |
325 default_pref_store_->SetString(prefs::kHomePage, | |
326 default_pref::kHomepageValue); | |
327 managed_platform_pref_store_->SetInteger(prefs::kHomePage, 1); | |
328 device_management_pref_store_->SetInteger(prefs::kHomePage, 1); | |
329 extension_pref_store_->SetInteger(prefs::kHomePage, 1); | |
330 command_line_pref_store_->SetInteger(prefs::kHomePage, 1); | |
331 user_pref_store_->SetInteger(prefs::kHomePage, 1); | |
332 recommended_pref_store_->SetInteger(prefs::kHomePage, 1); | |
333 | |
334 value = NULL; | |
335 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); | |
336 ASSERT_TRUE(value != NULL); | |
337 ASSERT_EQ(Value::TYPE_STRING, value->GetType()); | |
338 std::string actual_str_value; | |
339 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | |
340 EXPECT_EQ(default_pref::kHomepageValue, actual_str_value); | |
341 } | |
342 | |
343 TEST_F(PrefValueStoreTest, HasPrefPath) { | |
344 // Managed Platform preference | |
345 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
346 // Device management preference | |
347 EXPECT_TRUE(pref_value_store_->HasPrefPath( | |
348 prefs::kDefaultSearchProviderName)); | |
349 // Extension preference | |
350 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
351 // User preference | |
352 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kDeleteCache)); | |
353 // Recommended preference | |
354 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
355 // Default preference | |
356 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
357 // Unknown preference | |
358 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
359 } | |
360 | |
361 TEST_F(PrefValueStoreTest, PrefChanges) { | 288 TEST_F(PrefValueStoreTest, PrefChanges) { |
362 // Setup. | 289 // Setup. |
363 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(AnyNumber()); | 290 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(AnyNumber()); |
364 const char managed_platform_pref_path[] = "managed_platform_pref"; | 291 const char managed_platform_pref_path[] = "managed_platform_pref"; |
365 pref_value_store_->RegisterPreferenceType(managed_platform_pref_path, | |
366 Value::TYPE_STRING); | |
367 managed_platform_pref_store_->SetString(managed_platform_pref_path, | 292 managed_platform_pref_store_->SetString(managed_platform_pref_path, |
368 "managed value"); | 293 "managed value"); |
369 const char user_pref_path[] = "user_pref"; | 294 const char user_pref_path[] = "user_pref"; |
370 pref_value_store_->RegisterPreferenceType(user_pref_path, Value::TYPE_STRING); | |
371 user_pref_store_->SetString(user_pref_path, "user value"); | 295 user_pref_store_->SetString(user_pref_path, "user value"); |
372 const char default_pref_path[] = "default_pref"; | 296 const char default_pref_path[] = "default_pref"; |
373 pref_value_store_->RegisterPreferenceType(default_pref_path, | |
374 Value::TYPE_STRING); | |
375 default_pref_store_->SetString(default_pref_path, "default value"); | 297 default_pref_store_->SetString(default_pref_path, "default value"); |
376 Mock::VerifyAndClearExpectations(&pref_notifier_); | 298 Mock::VerifyAndClearExpectations(&pref_notifier_); |
377 | 299 |
378 // Check pref controlled by highest-priority store. | 300 // Check pref controlled by highest-priority store. |
379 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(managed_platform_pref_path)); | 301 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(managed_platform_pref_path)); |
380 managed_platform_pref_store_->NotifyPrefValueChanged( | 302 managed_platform_pref_store_->NotifyPrefValueChanged( |
381 managed_platform_pref_path); | 303 managed_platform_pref_path); |
382 Mock::VerifyAndClearExpectations(&pref_notifier_); | 304 Mock::VerifyAndClearExpectations(&pref_notifier_); |
383 | 305 |
384 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); | 306 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 Mock::VerifyAndClearExpectations(&pref_notifier_); | 341 Mock::VerifyAndClearExpectations(&pref_notifier_); |
420 | 342 |
421 // The notification should only be triggered after the last store is done. | 343 // The notification should only be triggered after the last store is done. |
422 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(1); | 344 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(1); |
423 user_pref_store_->SetInitializationCompleted(); | 345 user_pref_store_->SetInitializationCompleted(); |
424 Mock::VerifyAndClearExpectations(&pref_notifier_); | 346 Mock::VerifyAndClearExpectations(&pref_notifier_); |
425 } | 347 } |
426 | 348 |
427 TEST_F(PrefValueStoreTest, PrefValueInManagedPlatformStore) { | 349 TEST_F(PrefValueStoreTest, PrefValueInManagedPlatformStore) { |
428 // Test a managed platform preference. | 350 // Test a managed platform preference. |
429 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
430 EXPECT_TRUE(pref_value_store_->PrefValueInManagedPlatformStore( | 351 EXPECT_TRUE(pref_value_store_->PrefValueInManagedPlatformStore( |
431 prefs::kHomePage)); | 352 prefs::kHomePage)); |
432 | 353 |
433 // Test a device management preference. | 354 // Test a device management preference. |
434 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
435 prefs::kDefaultSearchProviderName)); | |
436 EXPECT_TRUE(pref_value_store_->PrefValueInDeviceManagementStore( | 355 EXPECT_TRUE(pref_value_store_->PrefValueInDeviceManagementStore( |
437 prefs::kDefaultSearchProviderName)); | 356 prefs::kDefaultSearchProviderName)); |
438 | 357 |
439 // Test an extension preference. | 358 // Test an extension preference. |
440 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
441 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 359 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
442 prefs::kCurrentThemeID)); | 360 prefs::kCurrentThemeID)); |
443 | 361 |
444 // Test a command-line preference. | 362 // Test a command-line preference. |
445 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
446 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 363 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
447 prefs::kApplicationLocale)); | 364 prefs::kApplicationLocale)); |
448 | 365 |
449 // Test a user preference. | 366 // Test a user preference. |
450 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
451 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 367 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
452 prefs::kStabilityLaunchCount)); | 368 prefs::kStabilityLaunchCount)); |
453 | 369 |
454 // Test a preference from the recommended pref store. | 370 // Test a preference from the recommended pref store. |
455 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
456 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 371 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
457 prefs::kRecommendedPref)); | 372 prefs::kRecommendedPref)); |
458 | 373 |
459 // Test a preference from the default pref store. | 374 // Test a preference from the default pref store. |
460 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
461 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 375 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
462 prefs::kDefaultPref)); | 376 prefs::kDefaultPref)); |
463 | 377 |
464 // Test a preference for which the PrefValueStore does not contain a value. | 378 // Test a preference for which the PrefValueStore does not contain a value. |
465 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
466 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 379 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
467 prefs::kMissingPref)); | 380 prefs::kMissingPref)); |
468 } | 381 } |
469 | 382 |
470 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { | 383 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { |
471 // Test a managed platform preference. | 384 // Test a managed platform preference. |
472 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
473 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomePage)); | 385 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomePage)); |
474 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 386 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
475 prefs::kHomePage)); | 387 prefs::kHomePage)); |
476 | 388 |
477 // Test a device management preference. | 389 // Test a device management preference. |
478 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
479 prefs::kDefaultSearchProviderName)); | |
480 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 390 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
481 prefs::kDefaultSearchProviderName)); | 391 prefs::kDefaultSearchProviderName)); |
482 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 392 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
483 prefs::kDefaultSearchProviderName)); | 393 prefs::kDefaultSearchProviderName)); |
484 | 394 |
485 // Test an extension preference. | 395 // Test an extension preference. |
486 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
487 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 396 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
488 prefs::kCurrentThemeID)); | 397 prefs::kCurrentThemeID)); |
489 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( | 398 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( |
490 prefs::kCurrentThemeID)); | 399 prefs::kCurrentThemeID)); |
491 | 400 |
492 // Test a command-line preference. | 401 // Test a command-line preference. |
493 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
494 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 402 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
495 prefs::kApplicationLocale)); | 403 prefs::kApplicationLocale)); |
496 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 404 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
497 prefs::kApplicationLocale)); | 405 prefs::kApplicationLocale)); |
498 | 406 |
499 // Test a user preference. | 407 // Test a user preference. |
500 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
501 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 408 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
502 prefs::kStabilityLaunchCount)); | 409 prefs::kStabilityLaunchCount)); |
503 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 410 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
504 prefs::kStabilityLaunchCount)); | 411 prefs::kStabilityLaunchCount)); |
505 | 412 |
506 // Test a preference from the recommended pref store. | 413 // Test a preference from the recommended pref store. |
507 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
508 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 414 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
509 prefs::kRecommendedPref)); | 415 prefs::kRecommendedPref)); |
510 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 416 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
511 prefs::kRecommendedPref)); | 417 prefs::kRecommendedPref)); |
512 | 418 |
513 // Test a preference from the default pref store. | 419 // Test a preference from the default pref store. |
514 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
515 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 420 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
516 prefs::kDefaultPref)); | 421 prefs::kDefaultPref)); |
517 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 422 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
518 prefs::kDefaultPref)); | 423 prefs::kDefaultPref)); |
519 | 424 |
520 // Test a preference for which the PrefValueStore does not contain a value. | 425 // Test a preference for which the PrefValueStore does not contain a value. |
521 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
522 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 426 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
523 prefs::kMissingPref)); | 427 prefs::kMissingPref)); |
524 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 428 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
525 prefs::kMissingPref)); | 429 prefs::kMissingPref)); |
526 } | 430 } |
527 | 431 |
528 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { | 432 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { |
529 // Test a managed platform preference. | 433 // Test a managed platform preference. |
530 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
531 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomePage)); | 434 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomePage)); |
532 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomePage)); | 435 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomePage)); |
533 | 436 |
534 // Test a device management preference. | 437 // Test a device management preference. |
535 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
536 prefs::kDefaultSearchProviderName)); | |
537 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 438 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
538 prefs::kDefaultSearchProviderName)); | 439 prefs::kDefaultSearchProviderName)); |
539 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 440 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
540 prefs::kDefaultSearchProviderName)); | 441 prefs::kDefaultSearchProviderName)); |
541 | 442 |
542 // Test an extension preference. | 443 // Test an extension preference. |
543 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
544 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 444 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
545 prefs::kCurrentThemeID)); | 445 prefs::kCurrentThemeID)); |
546 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 446 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
547 prefs::kCurrentThemeID)); | 447 prefs::kCurrentThemeID)); |
548 | 448 |
549 // Test a command-line preference. | 449 // Test a command-line preference. |
550 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
551 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 450 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
552 prefs::kApplicationLocale)); | 451 prefs::kApplicationLocale)); |
553 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 452 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
554 prefs::kApplicationLocale)); | 453 prefs::kApplicationLocale)); |
555 | 454 |
556 // Test a user preference. | 455 // Test a user preference. |
557 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
558 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 456 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
559 prefs::kStabilityLaunchCount)); | 457 prefs::kStabilityLaunchCount)); |
560 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( | 458 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( |
561 prefs::kStabilityLaunchCount)); | 459 prefs::kStabilityLaunchCount)); |
562 | 460 |
563 // Test a preference from the recommended pref store. | 461 // Test a preference from the recommended pref store. |
564 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
565 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( | 462 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
566 prefs::kRecommendedPref)); | 463 prefs::kRecommendedPref)); |
567 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 464 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
568 prefs::kRecommendedPref)); | 465 prefs::kRecommendedPref)); |
569 | 466 |
570 // Test a preference from the default pref store. | 467 // Test a preference from the default pref store. |
571 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
572 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kDefaultPref)); | 468 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kDefaultPref)); |
573 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kDefaultPref)); | 469 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kDefaultPref)); |
574 | 470 |
575 // Test a preference for which the PrefValueStore does not contain a value. | 471 // Test a preference for which the PrefValueStore does not contain a value. |
576 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
577 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref)); | 472 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref)); |
578 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref)); | 473 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref)); |
579 } | 474 } |
580 | 475 |
581 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { | 476 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { |
582 // Test a managed platform preference. | 477 // Test a managed platform preference. |
583 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | |
584 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(prefs::kHomePage)); | 478 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(prefs::kHomePage)); |
585 | 479 |
586 // Test a device management preference. | 480 // Test a device management preference. |
587 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
588 prefs::kDefaultSearchProviderName)); | |
589 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 481 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
590 prefs::kDefaultSearchProviderName)); | 482 prefs::kDefaultSearchProviderName)); |
591 | 483 |
592 // Test an extension preference. | 484 // Test an extension preference. |
593 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
594 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 485 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
595 prefs::kCurrentThemeID)); | 486 prefs::kCurrentThemeID)); |
596 | 487 |
597 // Test a command-line preference. | 488 // Test a command-line preference. |
598 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | |
599 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 489 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
600 prefs::kApplicationLocale)); | 490 prefs::kApplicationLocale)); |
601 | 491 |
602 // Test a user preference. | 492 // Test a user preference. |
603 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | |
604 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 493 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
605 prefs::kStabilityLaunchCount)); | 494 prefs::kStabilityLaunchCount)); |
606 | 495 |
607 // Test a preference from the recommended pref store. | 496 // Test a preference from the recommended pref store. |
608 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | |
609 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 497 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
610 prefs::kRecommendedPref)); | 498 prefs::kRecommendedPref)); |
611 | 499 |
612 // Test a preference from the default pref store. | 500 // Test a preference from the default pref store. |
613 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | |
614 EXPECT_TRUE( | 501 EXPECT_TRUE( |
615 pref_value_store_->PrefValueFromDefaultStore(prefs::kDefaultPref)); | 502 pref_value_store_->PrefValueFromDefaultStore(prefs::kDefaultPref)); |
616 | 503 |
617 // Test a preference for which the PrefValueStore does not contain a value. | 504 // Test a preference for which the PrefValueStore does not contain a value. |
618 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | |
619 EXPECT_FALSE( | 505 EXPECT_FALSE( |
620 pref_value_store_->PrefValueFromDefaultStore(prefs::kMissingPref)); | 506 pref_value_store_->PrefValueFromDefaultStore(prefs::kMissingPref)); |
621 } | 507 } |
622 | 508 |
623 // TODO(mnissler, danno): Clean this up when refactoring | 509 // TODO(mnissler, danno): Clean this up when refactoring |
624 // ConfigurationPolicyPrefStore. | 510 // ConfigurationPolicyPrefStore. |
625 class PrefValueStorePolicyRefreshTest : public testing::Test { | 511 class PrefValueStorePolicyRefreshTest : public testing::Test { |
626 protected: | 512 protected: |
627 // Records preference changes. | 513 // Records preference changes. |
628 class PrefChangeRecorder { | 514 class PrefChangeRecorder { |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
735 TEST_F(PrefValueStorePolicyRefreshTest, TestRefreshPolicyPrefsCompletion) { | 621 TEST_F(PrefValueStorePolicyRefreshTest, TestRefreshPolicyPrefsCompletion) { |
736 using policy::ConfigurationPolicyPrefStore; | 622 using policy::ConfigurationPolicyPrefStore; |
737 PrefChangeRecorder recorder; | 623 PrefChangeRecorder recorder; |
738 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)) | 624 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)) |
739 .WillRepeatedly(Invoke(&recorder, &PrefChangeRecorder::Record)); | 625 .WillRepeatedly(Invoke(&recorder, &PrefChangeRecorder::Record)); |
740 | 626 |
741 // Test changed preferences in the managed platform store and removed | 627 // Test changed preferences in the managed platform store and removed |
742 // preferences in the recommended store. In addition to "homepage", the other | 628 // preferences in the recommended store. In addition to "homepage", the other |
743 // prefs that are set by default in the test class are removed by the | 629 // prefs that are set by default in the test class are removed by the |
744 // DummyStore. | 630 // DummyStore. |
745 scoped_ptr<ConfigurationPolicyPrefStore> new_managed_platform_store( | 631 scoped_refptr<ConfigurationPolicyPrefStore> new_managed_platform_store( |
746 NewConfigurationPolicyPrefStore()); | 632 NewConfigurationPolicyPrefStore()); |
747 new_managed_platform_store->prefs()->SetString("homepage", | 633 new_managed_platform_store->prefs()->SetString("homepage", |
748 "some other changed homepage"); | 634 "some other changed homepage"); |
749 | 635 |
750 recorder.Clear(); | 636 recorder.Clear(); |
751 pref_value_store_->RefreshPolicyPrefsCompletion( | 637 pref_value_store_->RefreshPolicyPrefsCompletion( |
752 new_managed_platform_store.release(), | 638 new_managed_platform_store, |
753 NewConfigurationPolicyPrefStore(), | 639 NewConfigurationPolicyPrefStore(), |
754 NewConfigurationPolicyPrefStore()); | 640 NewConfigurationPolicyPrefStore()); |
755 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); | 641 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); |
756 | 642 |
757 // Test properties that have been removed from the managed platform store. | 643 // Test properties that have been removed from the managed platform store. |
758 // Homepage is still set in managed prefs. | 644 // Homepage is still set in managed prefs. |
759 expected_differing_paths_.clear(); | 645 expected_differing_paths_.clear(); |
760 expected_differing_paths_.insert(prefs::kHomePage); | 646 expected_differing_paths_.insert(prefs::kHomePage); |
761 | 647 |
762 recorder.Clear(); | 648 recorder.Clear(); |
763 pref_value_store_->RefreshPolicyPrefsCompletion( | 649 pref_value_store_->RefreshPolicyPrefsCompletion( |
764 NewConfigurationPolicyPrefStore(), | 650 NewConfigurationPolicyPrefStore(), |
765 NewConfigurationPolicyPrefStore(), | 651 NewConfigurationPolicyPrefStore(), |
766 NewConfigurationPolicyPrefStore()); | 652 NewConfigurationPolicyPrefStore()); |
767 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); | 653 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); |
768 | 654 |
769 // Test properties that are added to the device management store. | 655 // Test properties that are added to the device management store. |
770 expected_differing_paths_.clear(); | 656 expected_differing_paths_.clear(); |
771 expected_differing_paths_.insert(prefs::kHomePage); | 657 expected_differing_paths_.insert(prefs::kHomePage); |
772 scoped_ptr<ConfigurationPolicyPrefStore> new_device_management_store( | 658 scoped_refptr<ConfigurationPolicyPrefStore> new_device_management_store( |
773 NewConfigurationPolicyPrefStore()); | 659 NewConfigurationPolicyPrefStore()); |
774 new_device_management_store->prefs()->SetString( | 660 new_device_management_store->prefs()->SetString( |
775 "homepage", "some other changed homepage"); | 661 "homepage", "some other changed homepage"); |
776 | 662 |
777 recorder.Clear(); | 663 recorder.Clear(); |
778 pref_value_store_->RefreshPolicyPrefsCompletion( | 664 pref_value_store_->RefreshPolicyPrefsCompletion( |
779 NewConfigurationPolicyPrefStore(), | 665 NewConfigurationPolicyPrefStore(), |
780 new_device_management_store.release(), | 666 new_device_management_store, |
781 NewConfigurationPolicyPrefStore()); | 667 NewConfigurationPolicyPrefStore()); |
782 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); | 668 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); |
783 | 669 |
784 // Test properties that are added to the recommended store. | 670 // Test properties that are added to the recommended store. |
785 scoped_ptr<ConfigurationPolicyPrefStore> new_recommended_store( | 671 scoped_refptr<ConfigurationPolicyPrefStore> new_recommended_store( |
786 NewConfigurationPolicyPrefStore()); | 672 NewConfigurationPolicyPrefStore()); |
787 new_recommended_store->prefs()->SetString("homepage", | 673 new_recommended_store->prefs()->SetString("homepage", |
788 "some other changed homepage 2"); | 674 "some other changed homepage 2"); |
789 expected_differing_paths_.clear(); | 675 expected_differing_paths_.clear(); |
790 expected_differing_paths_.insert(prefs::kHomePage); | 676 expected_differing_paths_.insert(prefs::kHomePage); |
791 | 677 |
792 recorder.Clear(); | 678 recorder.Clear(); |
793 pref_value_store_->RefreshPolicyPrefsCompletion( | 679 pref_value_store_->RefreshPolicyPrefsCompletion( |
794 NewConfigurationPolicyPrefStore(), | 680 NewConfigurationPolicyPrefStore(), |
795 NewConfigurationPolicyPrefStore(), | 681 NewConfigurationPolicyPrefStore(), |
796 new_recommended_store.release()); | 682 new_recommended_store); |
797 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); | 683 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); |
798 | 684 |
799 // Test adding a multi-key path. | 685 // Test adding a multi-key path. |
800 new_managed_platform_store.reset(NewConfigurationPolicyPrefStore()); | 686 new_managed_platform_store = NewConfigurationPolicyPrefStore(); |
801 new_managed_platform_store->prefs()->SetString("segment1.segment2", "value"); | 687 new_managed_platform_store->prefs()->SetString("segment1.segment2", "value"); |
802 expected_differing_paths_.clear(); | 688 expected_differing_paths_.clear(); |
803 expected_differing_paths_.insert(prefs::kHomePage); | 689 expected_differing_paths_.insert(prefs::kHomePage); |
804 expected_differing_paths_.insert("segment1"); | 690 expected_differing_paths_.insert("segment1"); |
805 expected_differing_paths_.insert("segment1.segment2"); | 691 expected_differing_paths_.insert("segment1.segment2"); |
806 | 692 |
807 recorder.Clear(); | 693 recorder.Clear(); |
808 pref_value_store_->RefreshPolicyPrefsCompletion( | 694 pref_value_store_->RefreshPolicyPrefsCompletion( |
809 new_managed_platform_store.release(), | 695 new_managed_platform_store, |
810 NewConfigurationPolicyPrefStore(), | 696 NewConfigurationPolicyPrefStore(), |
811 NewConfigurationPolicyPrefStore()); | 697 NewConfigurationPolicyPrefStore()); |
812 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); | 698 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); |
813 } | 699 } |
814 | 700 |
815 TEST_F(PrefValueStorePolicyRefreshTest, TestConcurrentPolicyRefresh) { | 701 TEST_F(PrefValueStorePolicyRefreshTest, TestConcurrentPolicyRefresh) { |
816 PrefChangeRecorder recorder; | 702 PrefChangeRecorder recorder; |
817 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)) | 703 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)) |
818 .WillRepeatedly(Invoke(&recorder, &PrefChangeRecorder::Record)); | 704 .WillRepeatedly(Invoke(&recorder, &PrefChangeRecorder::Record)); |
819 | 705 |
(...skipping 11 matching lines...) Expand all Loading... |
831 | 717 |
832 BrowserThread::PostTask( | 718 BrowserThread::PostTask( |
833 BrowserThread::UI, FROM_HERE, | 719 BrowserThread::UI, FROM_HERE, |
834 NewRunnableMethod( | 720 NewRunnableMethod( |
835 pref_value_store_.get(), | 721 pref_value_store_.get(), |
836 &PrefValueStore::RefreshPolicyPrefs)); | 722 &PrefValueStore::RefreshPolicyPrefs)); |
837 | 723 |
838 loop_.RunAllPending(); | 724 loop_.RunAllPending(); |
839 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); | 725 EXPECT_EQ(expected_differing_paths_, recorder.changed_prefs()); |
840 } | 726 } |
OLD | NEW |