Chromium Code Reviews| 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 |