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 "base/scoped_ptr.h" | 5 #include "base/scoped_ptr.h" |
6 #include "base/values.h" | 6 #include "base/values.h" |
7 #include "chrome/browser/browser_thread.h" | 7 #include "chrome/browser/browser_thread.h" |
8 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 8 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
9 #include "chrome/browser/prefs/dummy_pref_store.h" | 9 #include "chrome/browser/prefs/dummy_pref_store.h" |
10 #include "chrome/browser/prefs/pref_value_store.h" | 10 #include "chrome/browser/prefs/pref_value_store.h" |
(...skipping 18 matching lines...) Expand all Loading... | |
29 // Names of the preferences used in this test program. | 29 // Names of the preferences used in this test program. |
30 namespace prefs { | 30 namespace prefs { |
31 const char kMissingPref[] = "this.pref.does_not_exist"; | 31 const char kMissingPref[] = "this.pref.does_not_exist"; |
32 const char kRecommendedPref[] = "this.pref.recommended_value_only"; | 32 const char kRecommendedPref[] = "this.pref.recommended_value_only"; |
33 const char kSampleDict[] = "sample.dict"; | 33 const char kSampleDict[] = "sample.dict"; |
34 const char kSampleList[] = "sample.list"; | 34 const char kSampleList[] = "sample.list"; |
35 const char kDefaultPref[] = "default.pref"; | 35 const char kDefaultPref[] = "default.pref"; |
36 } | 36 } |
37 | 37 |
38 // Potentially expected values of all preferences used in this test program. | 38 // Potentially expected values of all preferences used in this test program. |
39 namespace enforced_pref { | 39 namespace managed_platform_pref { |
40 const std::string kHomepageValue = "http://www.topeka.com"; | 40 const std::string kHomepageValue = "http://www.topeka.com"; |
41 } | 41 } |
42 | 42 |
43 namespace device_management_pref { | |
44 const std::string kSearchProviderName = "Chromium"; | |
Mattias Nissler (ping if slow)
2010/11/12 15:02:13
the idea of these tests is that this one should al
danno
2010/11/12 16:17:30
Done.
| |
45 } | |
46 | |
43 namespace extension_pref { | 47 namespace extension_pref { |
44 const char kCurrentThemeIDValue[] = "set by extension"; | 48 const char kCurrentThemeIDValue[] = "set by extension"; |
45 const char kHomepageValue[] = "http://www.chromium.org"; | 49 const char kHomepageValue[] = "http://www.chromium.org"; |
46 } | 50 } |
47 | 51 |
48 namespace command_line_pref { | 52 namespace command_line_pref { |
49 const char kApplicationLocaleValue[] = "hi-MOM"; | 53 const char kApplicationLocaleValue[] = "hi-MOM"; |
50 const char kCurrentThemeIDValue[] = "zyxwvut"; | 54 const char kCurrentThemeIDValue[] = "zyxwvut"; |
51 const char kHomepageValue[] = "http://www.ferretcentral.org"; | 55 const char kHomepageValue[] = "http://www.ferretcentral.org"; |
52 } | 56 } |
(...skipping 15 matching lines...) Expand all Loading... | |
68 | 72 |
69 namespace default_pref { | 73 namespace default_pref { |
70 const int kDefaultValue = 7; | 74 const int kDefaultValue = 7; |
71 const char kHomepageValue[] = "default homepage"; | 75 const char kHomepageValue[] = "default homepage"; |
72 } | 76 } |
73 | 77 |
74 class PrefValueStoreTest : public testing::Test { | 78 class PrefValueStoreTest : public testing::Test { |
75 protected: | 79 protected: |
76 virtual void SetUp() { | 80 virtual void SetUp() { |
77 // Create dummy user preferences. | 81 // Create dummy user preferences. |
78 enforced_prefs_= CreateEnforcedPrefs(); | 82 managed_platform_prefs_= CreateManagedPlatformPrefs(); |
83 device_management_prefs_ = CreateDeviceManagementPrefs(); | |
79 extension_prefs_ = CreateExtensionPrefs(); | 84 extension_prefs_ = CreateExtensionPrefs(); |
80 command_line_prefs_ = CreateCommandLinePrefs(); | 85 command_line_prefs_ = CreateCommandLinePrefs(); |
81 user_prefs_ = CreateUserPrefs(); | 86 user_prefs_ = CreateUserPrefs(); |
82 recommended_prefs_ = CreateRecommendedPrefs(); | 87 recommended_prefs_ = CreateRecommendedPrefs(); |
83 default_prefs_ = CreateDefaultPrefs(); | 88 default_prefs_ = CreateDefaultPrefs(); |
84 | 89 |
90 std::sort(expected_differing_paths_.begin(), | |
91 expected_differing_paths_.end()); | |
92 | |
85 // Create |DummyPrefStore|s. | 93 // Create |DummyPrefStore|s. |
86 enforced_pref_store_ = new DummyPrefStore(); | 94 managed_platform_pref_store_ = new DummyPrefStore(); |
87 enforced_pref_store_->set_prefs(enforced_prefs_); | 95 managed_platform_pref_store_->set_prefs(managed_platform_prefs_); |
96 device_management_pref_store_ = new DummyPrefStore(); | |
97 device_management_pref_store_->set_prefs(device_management_prefs_); | |
88 extension_pref_store_ = new DummyPrefStore(); | 98 extension_pref_store_ = new DummyPrefStore(); |
89 extension_pref_store_->set_prefs(extension_prefs_); | 99 extension_pref_store_->set_prefs(extension_prefs_); |
90 command_line_pref_store_ = new DummyPrefStore(); | 100 command_line_pref_store_ = new DummyPrefStore(); |
91 command_line_pref_store_->set_prefs(command_line_prefs_); | 101 command_line_pref_store_->set_prefs(command_line_prefs_); |
92 user_pref_store_ = new DummyPrefStore(); | 102 user_pref_store_ = new DummyPrefStore(); |
93 user_pref_store_->set_read_only(false); | 103 user_pref_store_->set_read_only(false); |
94 user_pref_store_->set_prefs(user_prefs_); | 104 user_pref_store_->set_prefs(user_prefs_); |
95 recommended_pref_store_ = new DummyPrefStore(); | 105 recommended_pref_store_ = new DummyPrefStore(); |
96 recommended_pref_store_->set_prefs(recommended_prefs_); | 106 recommended_pref_store_->set_prefs(recommended_prefs_); |
97 default_pref_store_ = new DummyPrefStore(); | 107 default_pref_store_ = new DummyPrefStore(); |
98 default_pref_store_->set_prefs(default_prefs_); | 108 default_pref_store_->set_prefs(default_prefs_); |
99 | 109 |
100 // Create a new pref-value-store. | 110 // Create a new pref-value-store. |
101 pref_value_store_ = new TestingPrefService::TestingPrefValueStore( | 111 pref_value_store_ = new TestingPrefService::TestingPrefValueStore( |
102 enforced_pref_store_, | 112 managed_platform_pref_store_, |
113 device_management_pref_store_, | |
103 extension_pref_store_, | 114 extension_pref_store_, |
104 command_line_pref_store_, | 115 command_line_pref_store_, |
105 user_pref_store_, | 116 user_pref_store_, |
106 recommended_pref_store_, | 117 recommended_pref_store_, |
107 default_pref_store_); | 118 default_pref_store_); |
108 | 119 |
109 // Register prefs with the PrefValueStore. | 120 // Register prefs with the PrefValueStore. |
110 pref_value_store_->RegisterPreferenceType(prefs::kApplicationLocale, | 121 pref_value_store_->RegisterPreferenceType(prefs::kApplicationLocale, |
111 Value::TYPE_STRING); | 122 Value::TYPE_STRING); |
112 pref_value_store_->RegisterPreferenceType(prefs::kCurrentThemeID, | 123 pref_value_store_->RegisterPreferenceType(prefs::kCurrentThemeID, |
113 Value::TYPE_STRING); | 124 Value::TYPE_STRING); |
125 pref_value_store_->RegisterPreferenceType( | |
126 prefs::kDefaultSearchProviderName, | |
127 Value::TYPE_STRING); | |
114 pref_value_store_->RegisterPreferenceType(prefs::kDeleteCache, | 128 pref_value_store_->RegisterPreferenceType(prefs::kDeleteCache, |
115 Value::TYPE_BOOLEAN); | 129 Value::TYPE_BOOLEAN); |
116 pref_value_store_->RegisterPreferenceType(prefs::kHomePage, | 130 pref_value_store_->RegisterPreferenceType(prefs::kHomePage, |
117 Value::TYPE_STRING); | 131 Value::TYPE_STRING); |
118 pref_value_store_->RegisterPreferenceType(prefs::kStabilityLaunchCount, | 132 pref_value_store_->RegisterPreferenceType(prefs::kStabilityLaunchCount, |
119 Value::TYPE_INTEGER); | 133 Value::TYPE_INTEGER); |
120 pref_value_store_->RegisterPreferenceType(prefs::kRecommendedPref, | 134 pref_value_store_->RegisterPreferenceType(prefs::kRecommendedPref, |
121 Value::TYPE_BOOLEAN); | 135 Value::TYPE_BOOLEAN); |
122 pref_value_store_->RegisterPreferenceType(prefs::kSampleDict, | 136 pref_value_store_->RegisterPreferenceType(prefs::kSampleDict, |
123 Value::TYPE_DICTIONARY); | 137 Value::TYPE_DICTIONARY); |
(...skipping 16 matching lines...) Expand all Loading... | |
140 user_prefs->SetInteger(prefs::kStabilityLaunchCount, | 154 user_prefs->SetInteger(prefs::kStabilityLaunchCount, |
141 user_pref::kStabilityLaunchCountValue); | 155 user_pref::kStabilityLaunchCountValue); |
142 user_prefs->SetString(prefs::kCurrentThemeID, | 156 user_prefs->SetString(prefs::kCurrentThemeID, |
143 user_pref::kCurrentThemeIDValue); | 157 user_pref::kCurrentThemeIDValue); |
144 user_prefs->SetString(prefs::kApplicationLocale, | 158 user_prefs->SetString(prefs::kApplicationLocale, |
145 user_pref::kApplicationLocaleValue); | 159 user_pref::kApplicationLocaleValue); |
146 user_prefs->SetString(prefs::kHomePage, user_pref::kHomepageValue); | 160 user_prefs->SetString(prefs::kHomePage, user_pref::kHomepageValue); |
147 return user_prefs; | 161 return user_prefs; |
148 } | 162 } |
149 | 163 |
150 DictionaryValue* CreateEnforcedPrefs() { | 164 DictionaryValue* CreateManagedPlatformPrefs() { |
151 DictionaryValue* enforced_prefs = new DictionaryValue(); | 165 DictionaryValue* managed_platform_prefs = new DictionaryValue(); |
152 enforced_prefs->SetString(prefs::kHomePage, enforced_pref::kHomepageValue); | 166 managed_platform_prefs->SetString( |
167 prefs::kHomePage, | |
168 managed_platform_pref::kHomepageValue); | |
153 expected_differing_paths_.push_back(prefs::kHomePage); | 169 expected_differing_paths_.push_back(prefs::kHomePage); |
154 return enforced_prefs; | 170 return managed_platform_prefs; |
171 } | |
172 | |
173 DictionaryValue* CreateDeviceManagementPrefs() { | |
174 DictionaryValue* device_management_prefs = new DictionaryValue(); | |
175 device_management_prefs->SetString( | |
176 prefs::kDefaultSearchProviderName, | |
177 device_management_pref::kSearchProviderName); | |
178 expected_differing_paths_.push_back("default_search_provider"); | |
179 expected_differing_paths_.push_back(prefs::kDefaultSearchProviderName); | |
180 return device_management_prefs; | |
155 } | 181 } |
156 | 182 |
157 DictionaryValue* CreateExtensionPrefs() { | 183 DictionaryValue* CreateExtensionPrefs() { |
158 DictionaryValue* extension_prefs = new DictionaryValue(); | 184 DictionaryValue* extension_prefs = new DictionaryValue(); |
159 extension_prefs->SetString(prefs::kCurrentThemeID, | 185 extension_prefs->SetString(prefs::kCurrentThemeID, |
160 extension_pref::kCurrentThemeIDValue); | 186 extension_pref::kCurrentThemeIDValue); |
161 extension_prefs->SetString(prefs::kHomePage, | 187 extension_prefs->SetString(prefs::kHomePage, |
162 extension_pref::kHomepageValue); | 188 extension_pref::kHomepageValue); |
163 return extension_prefs; | 189 return extension_prefs; |
164 } | 190 } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
218 | 244 |
219 virtual void TearDown() { | 245 virtual void TearDown() { |
220 loop_.RunAllPending(); | 246 loop_.RunAllPending(); |
221 } | 247 } |
222 | 248 |
223 MessageLoop loop_; | 249 MessageLoop loop_; |
224 | 250 |
225 scoped_refptr<TestingPrefService::TestingPrefValueStore> pref_value_store_; | 251 scoped_refptr<TestingPrefService::TestingPrefValueStore> pref_value_store_; |
226 | 252 |
227 // |PrefStore|s are owned by the |PrefValueStore|. | 253 // |PrefStore|s are owned by the |PrefValueStore|. |
228 DummyPrefStore* enforced_pref_store_; | 254 DummyPrefStore* managed_platform_pref_store_; |
255 DummyPrefStore* device_management_pref_store_; | |
229 DummyPrefStore* extension_pref_store_; | 256 DummyPrefStore* extension_pref_store_; |
230 DummyPrefStore* command_line_pref_store_; | 257 DummyPrefStore* command_line_pref_store_; |
231 DummyPrefStore* user_pref_store_; | 258 DummyPrefStore* user_pref_store_; |
232 DummyPrefStore* recommended_pref_store_; | 259 DummyPrefStore* recommended_pref_store_; |
233 DummyPrefStore* default_pref_store_; | 260 DummyPrefStore* default_pref_store_; |
234 | 261 |
235 // A vector of the preferences paths in the managed and recommended | 262 // A vector of the preferences paths in the managed and recommended |
236 // PrefStores that are set at the beginning of a test. Can be modified | 263 // PrefStores that are set at the beginning of a test. Can be modified |
237 // by the test to track changes that it makes to the preferences | 264 // by the test to track changes that it makes to the preferences |
238 // stored in the managed and recommended PrefStores. | 265 // stored in the managed and recommended PrefStores. |
239 std::vector<std::string> expected_differing_paths_; | 266 std::vector<std::string> expected_differing_paths_; |
240 | 267 |
241 // Preferences are owned by the individual |DummyPrefStores|. | 268 // Preferences are owned by the individual |DummyPrefStores|. |
242 DictionaryValue* enforced_prefs_; | 269 DictionaryValue* managed_platform_prefs_; |
270 DictionaryValue* device_management_prefs_; | |
243 DictionaryValue* extension_prefs_; | 271 DictionaryValue* extension_prefs_; |
244 DictionaryValue* command_line_prefs_; | 272 DictionaryValue* command_line_prefs_; |
245 DictionaryValue* user_prefs_; | 273 DictionaryValue* user_prefs_; |
246 DictionaryValue* recommended_prefs_; | 274 DictionaryValue* recommended_prefs_; |
247 DictionaryValue* default_prefs_; | 275 DictionaryValue* default_prefs_; |
248 | 276 |
249 private: | 277 private: |
250 scoped_ptr<BrowserThread> ui_thread_; | 278 scoped_ptr<BrowserThread> ui_thread_; |
251 scoped_ptr<BrowserThread> file_thread_; | 279 scoped_ptr<BrowserThread> file_thread_; |
252 }; | 280 }; |
253 | 281 |
254 TEST_F(PrefValueStoreTest, IsReadOnly) { | 282 TEST_F(PrefValueStoreTest, IsReadOnly) { |
255 enforced_pref_store_->set_read_only(true); | 283 managed_platform_pref_store_->set_read_only(true); |
256 extension_pref_store_->set_read_only(true); | 284 extension_pref_store_->set_read_only(true); |
257 command_line_pref_store_->set_read_only(true); | 285 command_line_pref_store_->set_read_only(true); |
258 user_pref_store_->set_read_only(true); | 286 user_pref_store_->set_read_only(true); |
259 recommended_pref_store_->set_read_only(true); | 287 recommended_pref_store_->set_read_only(true); |
260 default_pref_store_->set_read_only(true); | 288 default_pref_store_->set_read_only(true); |
261 EXPECT_TRUE(pref_value_store_->ReadOnly()); | 289 EXPECT_TRUE(pref_value_store_->ReadOnly()); |
262 | 290 |
263 user_pref_store_->set_read_only(false); | 291 user_pref_store_->set_read_only(false); |
264 EXPECT_FALSE(pref_value_store_->ReadOnly()); | 292 EXPECT_FALSE(pref_value_store_->ReadOnly()); |
265 } | 293 } |
266 | 294 |
267 TEST_F(PrefValueStoreTest, GetValue) { | 295 TEST_F(PrefValueStoreTest, GetValue) { |
268 Value* value; | 296 Value* value; |
269 | 297 |
270 // Test getting an enforced value overwriting a user-defined and | 298 // Test getting a managed_platform value overwriting a user-defined and |
271 // extension-defined value. | 299 // extension-defined value. |
272 value = NULL; | 300 value = NULL; |
273 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); | 301 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); |
274 std::string actual_str_value; | 302 std::string actual_str_value; |
275 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 303 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
276 EXPECT_EQ(enforced_pref::kHomepageValue, actual_str_value); | 304 EXPECT_EQ(managed_platform_pref::kHomepageValue, actual_str_value); |
Mattias Nissler (ping if slow)
2010/11/12 15:02:13
Here you should insert a test case that tests the
danno
2010/11/12 16:17:30
Done.
| |
277 | 305 |
278 // Test getting an extension value overwriting a user-defined and | 306 // Test getting an extension value overwriting a user-defined and |
279 // command-line-defined value. | 307 // command-line-defined value. |
280 value = NULL; | 308 value = NULL; |
281 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCurrentThemeID, &value)); | 309 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCurrentThemeID, &value)); |
282 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 310 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
283 EXPECT_EQ(extension_pref::kCurrentThemeIDValue, actual_str_value); | 311 EXPECT_EQ(extension_pref::kCurrentThemeIDValue, actual_str_value); |
284 | 312 |
285 // Test getting a command-line value overwriting a user-defined value. | 313 // Test getting a command-line value overwriting a user-defined value. |
286 value = NULL; | 314 value = NULL; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
334 Value* value = NULL; | 362 Value* value = NULL; |
335 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, | 363 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, |
336 &value)); | 364 &value)); |
337 ASSERT_TRUE(value != NULL); | 365 ASSERT_TRUE(value != NULL); |
338 ASSERT_EQ(Value::TYPE_INTEGER, value->GetType()); | 366 ASSERT_EQ(Value::TYPE_INTEGER, value->GetType()); |
339 int actual_int_value = -1; | 367 int actual_int_value = -1; |
340 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 368 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
341 EXPECT_EQ(recommended_pref::kStabilityLaunchCountValue, actual_int_value); | 369 EXPECT_EQ(recommended_pref::kStabilityLaunchCountValue, actual_int_value); |
342 | 370 |
343 // Check falling back multiple times, to a default string. | 371 // Check falling back multiple times, to a default string. |
344 enforced_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); | 372 managed_platform_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); |
373 device_management_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); | |
345 extension_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); | 374 extension_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); |
346 command_line_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); | 375 command_line_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); |
347 user_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); | 376 user_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); |
348 recommended_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); | 377 recommended_pref_store_->prefs()->SetInteger(prefs::kHomePage, 1); |
349 default_pref_store_->prefs()->SetString(prefs::kHomePage, | 378 default_pref_store_->prefs()->SetString(prefs::kHomePage, |
350 default_pref::kHomepageValue); | 379 default_pref::kHomepageValue); |
351 | 380 |
352 value = NULL; | 381 value = NULL; |
353 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); | 382 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &value)); |
354 ASSERT_TRUE(value != NULL); | 383 ASSERT_TRUE(value != NULL); |
355 ASSERT_EQ(Value::TYPE_STRING, value->GetType()); | 384 ASSERT_EQ(Value::TYPE_STRING, value->GetType()); |
356 std::string actual_str_value; | 385 std::string actual_str_value; |
357 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 386 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
358 EXPECT_EQ(default_pref::kHomepageValue, actual_str_value); | 387 EXPECT_EQ(default_pref::kHomepageValue, actual_str_value); |
359 } | 388 } |
360 | 389 |
361 TEST_F(PrefValueStoreTest, HasPrefPath) { | 390 TEST_F(PrefValueStoreTest, HasPrefPath) { |
362 // Enforced preference | 391 // Managed_Platform preference |
363 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | 392 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); |
393 // Device management preference | |
394 EXPECT_TRUE(pref_value_store_->HasPrefPath( | |
395 prefs::kDefaultSearchProviderName)); | |
396 // Extension preference | |
397 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | |
364 // User preference | 398 // User preference |
365 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kDeleteCache)); | 399 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kDeleteCache)); |
366 // Recommended preference | 400 // Recommended preference |
367 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | 401 EXPECT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); |
368 // Default preference | 402 // Default preference |
369 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | 403 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); |
370 // Unknown preference | 404 // Unknown preference |
371 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | 405 EXPECT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); |
372 } | 406 } |
373 | 407 |
374 TEST_F(PrefValueStoreTest, PrefHasChanged) { | 408 TEST_F(PrefValueStoreTest, PrefHasChanged) { |
375 // Setup. | 409 // Setup. |
376 const char managed_pref_path[] = "managed_pref"; | 410 const char managed_platform_pref_path[] = "managed_platform_pref"; |
377 pref_value_store_->RegisterPreferenceType(managed_pref_path, | 411 pref_value_store_->RegisterPreferenceType(managed_platform_pref_path, |
378 Value::TYPE_STRING); | 412 Value::TYPE_STRING); |
379 enforced_pref_store_->prefs()->SetString(managed_pref_path, "managed value"); | 413 managed_platform_pref_store_->prefs()->SetString(managed_platform_pref_path, |
414 "managed value"); | |
380 const char user_pref_path[] = "user_pref"; | 415 const char user_pref_path[] = "user_pref"; |
381 pref_value_store_->RegisterPreferenceType(user_pref_path, Value::TYPE_STRING); | 416 pref_value_store_->RegisterPreferenceType(user_pref_path, Value::TYPE_STRING); |
382 user_pref_store_->prefs()->SetString(user_pref_path, "user value"); | 417 user_pref_store_->prefs()->SetString(user_pref_path, "user value"); |
383 const char default_pref_path[] = "default_pref"; | 418 const char default_pref_path[] = "default_pref"; |
384 pref_value_store_->RegisterPreferenceType(default_pref_path, | 419 pref_value_store_->RegisterPreferenceType(default_pref_path, |
385 Value::TYPE_STRING); | 420 Value::TYPE_STRING); |
386 default_pref_store_->prefs()->SetString(default_pref_path, "default value"); | 421 default_pref_store_->prefs()->SetString(default_pref_path, "default value"); |
387 | 422 |
388 // Check pref controlled by highest-priority store. | 423 // Check pref controlled by highest-priority store. |
389 EXPECT_TRUE(pref_value_store_->PrefHasChanged(managed_pref_path, | 424 EXPECT_TRUE(pref_value_store_->PrefHasChanged(managed_platform_pref_path, |
390 static_cast<PrefNotifier::PrefStoreType>(0))); | 425 static_cast<PrefNotifier::PrefStoreType>(0))); |
391 EXPECT_FALSE(pref_value_store_->PrefHasChanged(managed_pref_path, | 426 EXPECT_FALSE(pref_value_store_->PrefHasChanged(managed_platform_pref_path, |
392 PrefNotifier::USER_STORE)); | 427 PrefNotifier::USER_STORE)); |
393 | 428 |
394 // Check pref controlled by user store. | 429 // Check pref controlled by user store. |
395 EXPECT_TRUE(pref_value_store_->PrefHasChanged(user_pref_path, | 430 EXPECT_TRUE(pref_value_store_->PrefHasChanged(user_pref_path, |
396 static_cast<PrefNotifier::PrefStoreType>(0))); | 431 static_cast<PrefNotifier::PrefStoreType>(0))); |
397 EXPECT_TRUE(pref_value_store_->PrefHasChanged(user_pref_path, | 432 EXPECT_TRUE(pref_value_store_->PrefHasChanged(user_pref_path, |
398 PrefNotifier::USER_STORE)); | 433 PrefNotifier::USER_STORE)); |
399 EXPECT_FALSE(pref_value_store_->PrefHasChanged(user_pref_path, | 434 EXPECT_FALSE(pref_value_store_->PrefHasChanged(user_pref_path, |
400 PrefNotifier::PREF_STORE_TYPE_MAX)); | 435 PrefNotifier::PREF_STORE_TYPE_MAX)); |
401 | 436 |
(...skipping 16 matching lines...) Expand all Loading... | |
418 TEST_F(PrefValueStoreTest, WritePrefs) { | 453 TEST_F(PrefValueStoreTest, WritePrefs) { |
419 user_pref_store_->set_prefs_written(false); | 454 user_pref_store_->set_prefs_written(false); |
420 pref_value_store_->WritePrefs(); | 455 pref_value_store_->WritePrefs(); |
421 ASSERT_TRUE(user_pref_store_->get_prefs_written()); | 456 ASSERT_TRUE(user_pref_store_->get_prefs_written()); |
422 } | 457 } |
423 | 458 |
424 TEST_F(PrefValueStoreTest, SetUserPrefValue) { | 459 TEST_F(PrefValueStoreTest, SetUserPrefValue) { |
425 Value* new_value = NULL; | 460 Value* new_value = NULL; |
426 Value* actual_value = NULL; | 461 Value* actual_value = NULL; |
427 | 462 |
428 // Test that enforced values can not be set. | 463 // Test that managed_platform values can not be set. |
429 ASSERT_TRUE(pref_value_store_->PrefValueInManagedStore(prefs::kHomePage)); | 464 ASSERT_TRUE(pref_value_store_->PrefValueInManagedPlatformStore( |
465 prefs::kHomePage)); | |
430 // The Ownership is tranfered to |PrefValueStore|. | 466 // The Ownership is tranfered to |PrefValueStore|. |
431 new_value = Value::CreateStringValue("http://www.youtube.com"); | 467 new_value = Value::CreateStringValue("http://www.youtube.com"); |
432 pref_value_store_->SetUserPrefValue(prefs::kHomePage, new_value); | 468 pref_value_store_->SetUserPrefValue(prefs::kHomePage, new_value); |
433 | 469 |
434 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &actual_value)); | 470 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, &actual_value)); |
435 std::string value_str; | 471 std::string value_str; |
436 actual_value->GetAsString(&value_str); | 472 actual_value->GetAsString(&value_str); |
437 ASSERT_EQ(enforced_pref::kHomepageValue, value_str); | 473 ASSERT_EQ(managed_platform_pref::kHomepageValue, value_str); |
438 | 474 |
439 // User preferences values can be set | 475 // User preferences values can be set |
440 ASSERT_FALSE(pref_value_store_->PrefValueInManagedStore( | 476 ASSERT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
441 prefs::kStabilityLaunchCount)); | 477 prefs::kStabilityLaunchCount)); |
442 actual_value = NULL; | 478 actual_value = NULL; |
443 pref_value_store_->GetValue(prefs::kStabilityLaunchCount, &actual_value); | 479 pref_value_store_->GetValue(prefs::kStabilityLaunchCount, &actual_value); |
444 int int_value; | 480 int int_value; |
445 EXPECT_TRUE(actual_value->GetAsInteger(&int_value)); | 481 EXPECT_TRUE(actual_value->GetAsInteger(&int_value)); |
446 EXPECT_EQ(user_pref::kStabilityLaunchCountValue, int_value); | 482 EXPECT_EQ(user_pref::kStabilityLaunchCountValue, int_value); |
447 | 483 |
448 new_value = Value::CreateIntegerValue(1); | 484 new_value = Value::CreateIntegerValue(1); |
449 pref_value_store_->SetUserPrefValue(prefs::kStabilityLaunchCount, new_value); | 485 pref_value_store_->SetUserPrefValue(prefs::kStabilityLaunchCount, new_value); |
450 actual_value = NULL; | 486 actual_value = NULL; |
(...skipping 16 matching lines...) Expand all Loading... | |
467 pref_value_store_->SetUserPrefValue(prefs::kSampleList, expected_list_value); | 503 pref_value_store_->SetUserPrefValue(prefs::kSampleList, expected_list_value); |
468 | 504 |
469 actual_value = NULL; | 505 actual_value = NULL; |
470 key = prefs::kSampleList; | 506 key = prefs::kSampleList; |
471 pref_value_store_->GetValue(key, &actual_value); | 507 pref_value_store_->GetValue(key, &actual_value); |
472 | 508 |
473 ASSERT_EQ(expected_list_value, actual_value); | 509 ASSERT_EQ(expected_list_value, actual_value); |
474 ASSERT_TRUE(expected_list_value->Equals(actual_value)); | 510 ASSERT_TRUE(expected_list_value->Equals(actual_value)); |
475 } | 511 } |
476 | 512 |
477 TEST_F(PrefValueStoreTest, PrefValueInManagedStore) { | 513 TEST_F(PrefValueStoreTest, PrefValueInManagedPlatformStore) { |
478 // Test an enforced preference. | 514 // Test a managed platform preference. |
479 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | 515 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); |
480 EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore(prefs::kHomePage)); | 516 EXPECT_TRUE(pref_value_store_->PrefValueInManagedPlatformStore( |
517 prefs::kHomePage)); | |
518 | |
519 // Test a device management preference. | |
520 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
521 prefs::kDefaultSearchProviderName)); | |
522 EXPECT_TRUE(pref_value_store_->PrefValueInDeviceManagementStore( | |
523 prefs::kDefaultSearchProviderName)); | |
481 | 524 |
482 // Test an extension preference. | 525 // Test an extension preference. |
483 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | 526 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); |
484 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 527 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
485 prefs::kCurrentThemeID)); | 528 prefs::kCurrentThemeID)); |
486 | 529 |
487 // Test a command-line preference. | 530 // Test a command-line preference. |
488 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | 531 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); |
489 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 532 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
490 prefs::kApplicationLocale)); | 533 prefs::kApplicationLocale)); |
491 | 534 |
492 // Test a user preference. | 535 // Test a user preference. |
493 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); | 536 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kStabilityLaunchCount)); |
494 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 537 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
495 prefs::kStabilityLaunchCount)); | 538 prefs::kStabilityLaunchCount)); |
496 | 539 |
497 // Test a preference from the recommended pref store. | 540 // Test a preference from the recommended pref store. |
498 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); | 541 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); |
499 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 542 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
500 prefs::kRecommendedPref)); | 543 prefs::kRecommendedPref)); |
501 | 544 |
502 // Test a preference from the default pref store. | 545 // Test a preference from the default pref store. |
503 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | 546 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); |
504 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 547 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
505 prefs::kDefaultPref)); | 548 prefs::kDefaultPref)); |
506 | 549 |
507 // Test a preference for which the PrefValueStore does not contain a value. | 550 // Test a preference for which the PrefValueStore does not contain a value. |
508 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | 551 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); |
509 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(prefs::kMissingPref)); | 552 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( |
553 prefs::kMissingPref)); | |
510 } | 554 } |
511 | 555 |
512 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { | 556 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { |
513 // Test an enforced preference. | 557 // Test a managed platform preference. |
514 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | 558 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); |
515 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomePage)); | 559 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomePage)); |
516 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 560 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
517 prefs::kHomePage)); | 561 prefs::kHomePage)); |
518 | 562 |
563 // Test a device management preference. | |
564 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
565 prefs::kDefaultSearchProviderName)); | |
566 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | |
567 prefs::kDefaultSearchProviderName)); | |
568 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | |
569 prefs::kDefaultSearchProviderName)); | |
570 | |
519 // Test an extension preference. | 571 // Test an extension preference. |
520 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | 572 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); |
521 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 573 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
522 prefs::kCurrentThemeID)); | 574 prefs::kCurrentThemeID)); |
523 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( | 575 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( |
524 prefs::kCurrentThemeID)); | 576 prefs::kCurrentThemeID)); |
525 | 577 |
526 // Test a command-line preference. | 578 // Test a command-line preference. |
527 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | 579 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); |
528 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 580 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
560 } | 612 } |
561 | 613 |
562 TEST_F(PrefValueStoreTest, DetectProxyConfigurationConflict) { | 614 TEST_F(PrefValueStoreTest, DetectProxyConfigurationConflict) { |
563 // There should be no conflicting proxy prefs in the default | 615 // There should be no conflicting proxy prefs in the default |
564 // preference stores created for the test. | 616 // preference stores created for the test. |
565 ASSERT_FALSE(pref_value_store_->HasPolicyConflictingUserProxySettings()); | 617 ASSERT_FALSE(pref_value_store_->HasPolicyConflictingUserProxySettings()); |
566 | 618 |
567 // Create conflicting proxy settings in the managed and command-line | 619 // Create conflicting proxy settings in the managed and command-line |
568 // preference stores. | 620 // preference stores. |
569 command_line_prefs_->SetBoolean(prefs::kProxyAutoDetect, false); | 621 command_line_prefs_->SetBoolean(prefs::kProxyAutoDetect, false); |
570 enforced_prefs_->SetBoolean(prefs::kProxyAutoDetect, true); | 622 managed_platform_prefs_->SetBoolean(prefs::kProxyAutoDetect, true); |
571 ASSERT_TRUE(pref_value_store_->HasPolicyConflictingUserProxySettings()); | 623 ASSERT_TRUE(pref_value_store_->HasPolicyConflictingUserProxySettings()); |
572 } | 624 } |
573 | 625 |
574 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { | 626 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { |
575 // Test an enforced preference. | 627 // Test a managed platform preference. |
576 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | 628 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); |
577 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomePage)); | 629 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomePage)); |
578 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomePage)); | 630 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomePage)); |
579 | 631 |
632 // Test a device management preference. | |
633 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
634 prefs::kDefaultSearchProviderName)); | |
635 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | |
Mattias Nissler (ping if slow)
2010/11/12 15:02:13
should be PrefValueInUserStore
danno
2010/11/12 16:17:30
Done.
| |
636 prefs::kDefaultSearchProviderName)); | |
637 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | |
638 prefs::kDefaultSearchProviderName)); | |
639 | |
580 // Test an extension preference. | 640 // Test an extension preference. |
581 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | 641 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); |
582 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 642 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
583 prefs::kCurrentThemeID)); | 643 prefs::kCurrentThemeID)); |
584 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 644 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
585 prefs::kCurrentThemeID)); | 645 prefs::kCurrentThemeID)); |
586 | 646 |
587 // Test a command-line preference. | 647 // Test a command-line preference. |
588 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | 648 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); |
589 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 649 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
(...skipping 20 matching lines...) Expand all Loading... | |
610 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kDefaultPref)); | 670 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kDefaultPref)); |
611 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kDefaultPref)); | 671 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kDefaultPref)); |
612 | 672 |
613 // Test a preference for which the PrefValueStore does not contain a value. | 673 // Test a preference for which the PrefValueStore does not contain a value. |
614 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | 674 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); |
615 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref)); | 675 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref)); |
616 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref)); | 676 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref)); |
617 } | 677 } |
618 | 678 |
619 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { | 679 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { |
620 // Test an enforced preference. | 680 // Test a managed platform preference. |
621 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); | 681 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomePage)); |
622 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(prefs::kHomePage)); | 682 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(prefs::kHomePage)); |
623 | 683 |
684 // Test a device management preference. | |
685 ASSERT_TRUE(pref_value_store_->HasPrefPath( | |
686 prefs::kDefaultSearchProviderName)); | |
687 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | |
688 prefs::kDefaultSearchProviderName)); | |
689 | |
624 // Test an extension preference. | 690 // Test an extension preference. |
625 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); | 691 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID)); |
626 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 692 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
627 prefs::kCurrentThemeID)); | 693 prefs::kCurrentThemeID)); |
628 | 694 |
629 // Test a command-line preference. | 695 // Test a command-line preference. |
630 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); | 696 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kApplicationLocale)); |
631 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 697 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
632 prefs::kApplicationLocale)); | 698 prefs::kApplicationLocale)); |
633 | 699 |
(...skipping 11 matching lines...) Expand all Loading... | |
645 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); | 711 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kDefaultPref)); |
646 EXPECT_TRUE( | 712 EXPECT_TRUE( |
647 pref_value_store_->PrefValueFromDefaultStore(prefs::kDefaultPref)); | 713 pref_value_store_->PrefValueFromDefaultStore(prefs::kDefaultPref)); |
648 | 714 |
649 // Test a preference for which the PrefValueStore does not contain a value. | 715 // Test a preference for which the PrefValueStore does not contain a value. |
650 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); | 716 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); |
651 EXPECT_FALSE( | 717 EXPECT_FALSE( |
652 pref_value_store_->PrefValueFromDefaultStore(prefs::kMissingPref)); | 718 pref_value_store_->PrefValueFromDefaultStore(prefs::kMissingPref)); |
653 } | 719 } |
654 | 720 |
721 // Ensure that | |
Mattias Nissler (ping if slow)
2010/11/12 15:02:13
Ensure what?
danno
2010/11/12 16:17:30
Done.
| |
722 TEST_F(PrefValueStoreTest, TestPlatformTrumpsDeviceManagementPolicy) { | |
Mattias Nissler (ping if slow)
2010/11/12 15:02:13
I believe this test would be covered by the missin
danno
2010/11/12 16:17:30
Done.
| |
723 // Test a preference for which the PrefValueStore does not contain a value. | |
724 ASSERT_FALSE(pref_value_store_->HasPrefPath( | |
725 prefs::kDefaultSearchProviderName)); | |
726 EXPECT_FALSE(pref_value_store_->PrefValueInDeviceManagementStore( | |
727 prefs::kMissingPref)); | |
728 | |
729 Value* value = NULL; | |
730 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultSearchProviderName, | |
731 &value)); | |
732 std::string str_value; | |
733 EXPECT_TRUE(value->GetAsString(&str_value)); | |
734 EXPECT_EQ(device_management_pref::kSearchProviderName, str_value); | |
735 | |
736 managed_platform_prefs_->SetString(prefs::kDefaultSearchProviderName, | |
737 "override value"); | |
738 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultSearchProviderName, | |
739 &value)); | |
740 EXPECT_TRUE(value->GetAsString(&str_value)); | |
741 EXPECT_EQ("override value", str_value); | |
742 } | |
743 | |
655 TEST_F(PrefValueStoreTest, TestPolicyRefresh) { | 744 TEST_F(PrefValueStoreTest, TestPolicyRefresh) { |
656 // pref_value_store_ is initialized by PrefValueStoreTest to have values | 745 // pref_value_store_ is initialized by PrefValueStoreTest to have values in |
657 // in both it's managed and recommended store. By replacing them with | 746 // the managed platform, device management and recommended stores. By |
658 // dummy stores, all of the paths of the prefs originally managed and | 747 // replacing them with dummy stores, all of the paths of the prefs originally |
659 // recommended stores should change. | 748 // in the managed platform, device management and recommended stores should |
749 // change. | |
660 MockPolicyRefreshCallback callback; | 750 MockPolicyRefreshCallback callback; |
661 EXPECT_CALL(callback, DoCallback(_)).Times(0); | 751 EXPECT_CALL(callback, DoCallback(_)).Times(0); |
662 BrowserThread::PostTask( | 752 BrowserThread::PostTask( |
663 BrowserThread::UI, FROM_HERE, | 753 BrowserThread::UI, FROM_HERE, |
664 NewRunnableMethod( | 754 NewRunnableMethod( |
665 pref_value_store_.get(), | 755 pref_value_store_.get(), |
666 &PrefValueStore::RefreshPolicyPrefs, | 756 &PrefValueStore::RefreshPolicyPrefs, |
667 NewCallback(&callback, | 757 NewCallback(&callback, |
668 &MockPolicyRefreshCallback::DoCallback))); | 758 &MockPolicyRefreshCallback::DoCallback))); |
669 Mock::VerifyAndClearExpectations(&callback); | 759 Mock::VerifyAndClearExpectations(&callback); |
670 EXPECT_CALL(callback, DoCallback(expected_differing_paths_)).Times(1); | 760 EXPECT_CALL(callback, DoCallback(expected_differing_paths_)).Times(1); |
671 loop_.RunAllPending(); | 761 loop_.RunAllPending(); |
672 } | 762 } |
673 | 763 |
674 TEST_F(PrefValueStoreTest, TestRefreshPolicyPrefsCompletion) { | 764 TEST_F(PrefValueStoreTest, TestRefreshPolicyPrefsCompletion) { |
675 // Test changed preferences in managed store and removed | 765 // Test changed preferences in the managed platform store and removed |
676 // preferences in the recommended store. In addition | 766 // preferences in the recommended store. In addition to "homepage", the other |
677 // to "homepage", the other prefs that are set by default in | 767 // prefs that are set by default in the test class are removed by the |
678 // the test class are removed by the DummyStore | 768 // DummyStore. |
679 scoped_ptr<DummyPrefStore> new_managed_store(new DummyPrefStore()); | 769 scoped_ptr<DummyPrefStore> new_managed_platform_store(new DummyPrefStore()); |
680 DictionaryValue* dict = new DictionaryValue(); | 770 DictionaryValue* dict = new DictionaryValue(); |
681 dict->SetString("homepage", "some other changed homepage"); | 771 dict->SetString("homepage", "some other changed homepage"); |
682 new_managed_store->set_prefs(dict); | 772 new_managed_platform_store->set_prefs(dict); |
683 MockPolicyRefreshCallback callback; | 773 MockPolicyRefreshCallback callback; |
684 EXPECT_CALL(callback, DoCallback(expected_differing_paths_)).Times(1); | 774 EXPECT_CALL(callback, DoCallback(expected_differing_paths_)).Times(1); |
685 pref_value_store_->RefreshPolicyPrefsCompletion( | 775 pref_value_store_->RefreshPolicyPrefsCompletion( |
686 new_managed_store.release(), | 776 new_managed_platform_store.release(), |
777 new DummyPrefStore(), | |
687 new DummyPrefStore(), | 778 new DummyPrefStore(), |
688 NewCallback(&callback, | 779 NewCallback(&callback, |
689 &MockPolicyRefreshCallback::DoCallback)); | 780 &MockPolicyRefreshCallback::DoCallback)); |
690 | 781 |
691 // Test properties that have been removed from the managed store. | 782 // Test properties that have been removed from the managed platform store. |
692 // Homepage is still set in managed prefs. | 783 // Homepage is still set in managed prefs. |
693 expected_differing_paths_.clear(); | 784 expected_differing_paths_.clear(); |
694 expected_differing_paths_.push_back(std::string("homepage")); | 785 expected_differing_paths_.push_back(std::string("homepage")); |
695 MockPolicyRefreshCallback callback2; | 786 MockPolicyRefreshCallback callback2; |
696 EXPECT_CALL(callback2, DoCallback(expected_differing_paths_)).Times(1); | 787 EXPECT_CALL(callback2, DoCallback(expected_differing_paths_)).Times(1); |
697 pref_value_store_->RefreshPolicyPrefsCompletion( | 788 pref_value_store_->RefreshPolicyPrefsCompletion( |
698 new DummyPrefStore(), | 789 new DummyPrefStore(), |
699 new DummyPrefStore(), | 790 new DummyPrefStore(), |
791 new DummyPrefStore(), | |
700 NewCallback(&callback2, | 792 NewCallback(&callback2, |
701 &MockPolicyRefreshCallback::DoCallback)); | 793 &MockPolicyRefreshCallback::DoCallback)); |
702 | 794 |
795 // Test properties that are added to the device management store. | |
796 expected_differing_paths_.clear(); | |
797 expected_differing_paths_.push_back(std::string("homepage")); | |
798 scoped_ptr<DummyPrefStore> new_device_management_store( | |
799 new DummyPrefStore()); | |
800 dict = new DictionaryValue(); | |
801 dict->SetString("homepage", "some other changed homepage"); | |
802 new_device_management_store->set_prefs(dict); | |
803 MockPolicyRefreshCallback callback3; | |
804 EXPECT_CALL(callback3, DoCallback(expected_differing_paths_)).Times(1); | |
805 pref_value_store_->RefreshPolicyPrefsCompletion( | |
806 new DummyPrefStore(), | |
807 new_device_management_store.release(), | |
808 new DummyPrefStore(), | |
809 NewCallback(&callback3, | |
810 &MockPolicyRefreshCallback::DoCallback)); | |
811 | |
703 // Test properties that are added to the recommended store. | 812 // Test properties that are added to the recommended store. |
704 scoped_ptr<DummyPrefStore> new_recommended_store(new DummyPrefStore()); | 813 scoped_ptr<DummyPrefStore> new_recommended_store(new DummyPrefStore()); |
705 dict = new DictionaryValue(); | 814 dict = new DictionaryValue(); |
706 dict->SetString("homepage", "some other changed homepage 2"); | 815 dict->SetString("homepage", "some other changed homepage 2"); |
707 new_recommended_store->set_prefs(dict); | 816 new_recommended_store->set_prefs(dict); |
708 expected_differing_paths_.clear(); | 817 expected_differing_paths_.clear(); |
709 expected_differing_paths_.push_back(std::string("homepage")); | 818 expected_differing_paths_.push_back(std::string("homepage")); |
710 MockPolicyRefreshCallback callback3; | 819 MockPolicyRefreshCallback callback4; |
711 EXPECT_CALL(callback3, DoCallback(expected_differing_paths_)).Times(1); | 820 EXPECT_CALL(callback4, DoCallback(expected_differing_paths_)).Times(1); |
712 pref_value_store_->RefreshPolicyPrefsCompletion( | 821 pref_value_store_->RefreshPolicyPrefsCompletion( |
713 new DummyPrefStore(), | 822 new DummyPrefStore(), |
823 new DummyPrefStore(), | |
714 new_recommended_store.release(), | 824 new_recommended_store.release(), |
715 NewCallback(&callback3, | 825 NewCallback(&callback4, |
716 &MockPolicyRefreshCallback::DoCallback)); | 826 &MockPolicyRefreshCallback::DoCallback)); |
717 | 827 |
718 // Test adding a multi-key path. | 828 // Test adding a multi-key path. |
719 new_managed_store.reset(new DummyPrefStore()); | 829 new_managed_platform_store.reset(new DummyPrefStore()); |
720 dict = new DictionaryValue(); | 830 dict = new DictionaryValue(); |
721 dict->SetString("segment1.segment2", "value"); | 831 dict->SetString("segment1.segment2", "value"); |
722 new_managed_store->set_prefs(dict); | 832 new_managed_platform_store->set_prefs(dict); |
723 expected_differing_paths_.clear(); | 833 expected_differing_paths_.clear(); |
724 expected_differing_paths_.push_back(std::string("homepage")); | 834 expected_differing_paths_.push_back(std::string("homepage")); |
725 expected_differing_paths_.push_back(std::string("segment1")); | 835 expected_differing_paths_.push_back(std::string("segment1")); |
726 expected_differing_paths_.push_back(std::string("segment1.segment2")); | 836 expected_differing_paths_.push_back(std::string("segment1.segment2")); |
727 MockPolicyRefreshCallback callback4; | 837 MockPolicyRefreshCallback callback5; |
728 EXPECT_CALL(callback4, DoCallback(expected_differing_paths_)).Times(1); | 838 EXPECT_CALL(callback5, DoCallback(expected_differing_paths_)).Times(1); |
729 pref_value_store_->RefreshPolicyPrefsCompletion( | 839 pref_value_store_->RefreshPolicyPrefsCompletion( |
730 new_managed_store.release(), | 840 new_managed_platform_store.release(), |
731 new DummyPrefStore(), | 841 new DummyPrefStore(), |
732 NewCallback(&callback4, | 842 new DummyPrefStore(), |
843 NewCallback(&callback5, | |
733 &MockPolicyRefreshCallback::DoCallback)); | 844 &MockPolicyRefreshCallback::DoCallback)); |
734 } | 845 } |
735 | 846 |
736 TEST_F(PrefValueStoreTest, TestConcurrentPolicyRefresh) { | 847 TEST_F(PrefValueStoreTest, TestConcurrentPolicyRefresh) { |
737 MockPolicyRefreshCallback callback1; | 848 MockPolicyRefreshCallback callback1; |
738 BrowserThread::PostTask( | 849 BrowserThread::PostTask( |
739 BrowserThread::UI, FROM_HERE, | 850 BrowserThread::UI, FROM_HERE, |
740 NewRunnableMethod( | 851 NewRunnableMethod( |
741 pref_value_store_.get(), | 852 pref_value_store_.get(), |
742 &PrefValueStore::RefreshPolicyPrefs, | 853 &PrefValueStore::RefreshPolicyPrefs, |
(...skipping 23 matching lines...) Expand all Loading... | |
766 Mock::VerifyAndClearExpectations(&callback1); | 877 Mock::VerifyAndClearExpectations(&callback1); |
767 Mock::VerifyAndClearExpectations(&callback2); | 878 Mock::VerifyAndClearExpectations(&callback2); |
768 Mock::VerifyAndClearExpectations(&callback3); | 879 Mock::VerifyAndClearExpectations(&callback3); |
769 | 880 |
770 EXPECT_CALL(callback1, DoCallback(expected_differing_paths_)).Times(1); | 881 EXPECT_CALL(callback1, DoCallback(expected_differing_paths_)).Times(1); |
771 std::vector<std::string> no_differing_paths; | 882 std::vector<std::string> no_differing_paths; |
772 EXPECT_CALL(callback2, DoCallback(no_differing_paths)).Times(1); | 883 EXPECT_CALL(callback2, DoCallback(no_differing_paths)).Times(1); |
773 EXPECT_CALL(callback3, DoCallback(no_differing_paths)).Times(1); | 884 EXPECT_CALL(callback3, DoCallback(no_differing_paths)).Times(1); |
774 loop_.RunAllPending(); | 885 loop_.RunAllPending(); |
775 } | 886 } |
OLD | NEW |