| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/prefs/pref_store_observer_mock.h" | 9 #include "base/prefs/pref_store_observer_mock.h" |
| 10 #include "chrome/browser/policy/configuration_policy_handler.h" | 10 #include "chrome/browser/policy/configuration_policy_handler.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 scoped_ptr<PolicyServiceImpl> policy_service_; | 62 scoped_ptr<PolicyServiceImpl> policy_service_; |
| 63 scoped_refptr<ConfigurationPolicyPrefStore> store_; | 63 scoped_refptr<ConfigurationPolicyPrefStore> store_; |
| 64 }; | 64 }; |
| 65 | 65 |
| 66 // Test cases for list-valued policy settings. | 66 // Test cases for list-valued policy settings. |
| 67 class ConfigurationPolicyPrefStoreListTest | 67 class ConfigurationPolicyPrefStoreListTest |
| 68 : public ConfigurationPolicyPrefStoreTest, | 68 : public ConfigurationPolicyPrefStoreTest, |
| 69 public testing::WithParamInterface<PolicyAndPref> {}; | 69 public testing::WithParamInterface<PolicyAndPref> {}; |
| 70 | 70 |
| 71 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { | 71 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { |
| 72 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 72 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); |
| 73 store_->GetValue(GetParam().pref_name(), NULL)); | |
| 74 } | 73 } |
| 75 | 74 |
| 76 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { | 75 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { |
| 77 base::ListValue* in_value = new base::ListValue(); | 76 base::ListValue* in_value = new base::ListValue(); |
| 78 in_value->Append(base::Value::CreateStringValue("test1")); | 77 in_value->Append(base::Value::CreateStringValue("test1")); |
| 79 in_value->Append(base::Value::CreateStringValue("test2,")); | 78 in_value->Append(base::Value::CreateStringValue("test2,")); |
| 80 PolicyMap policy; | 79 PolicyMap policy; |
| 81 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, | 80 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| 82 POLICY_SCOPE_USER, in_value); | 81 POLICY_SCOPE_USER, in_value); |
| 83 provider_.UpdateChromePolicy(policy); | 82 provider_.UpdateChromePolicy(policy); |
| 84 const base::Value* value = NULL; | 83 const base::Value* value = NULL; |
| 85 EXPECT_EQ(PrefStore::READ_OK, | 84 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); |
| 86 store_->GetValue(GetParam().pref_name(), &value)); | |
| 87 ASSERT_TRUE(value); | 85 ASSERT_TRUE(value); |
| 88 EXPECT_TRUE(in_value->Equals(value)); | 86 EXPECT_TRUE(in_value->Equals(value)); |
| 89 } | 87 } |
| 90 | 88 |
| 91 INSTANTIATE_TEST_CASE_P( | 89 INSTANTIATE_TEST_CASE_P( |
| 92 ConfigurationPolicyPrefStoreListTestInstance, | 90 ConfigurationPolicyPrefStoreListTestInstance, |
| 93 ConfigurationPolicyPrefStoreListTest, | 91 ConfigurationPolicyPrefStoreListTest, |
| 94 testing::Values( | 92 testing::Values( |
| 95 PolicyAndPref(key::kRestoreOnStartupURLs, | 93 PolicyAndPref(key::kRestoreOnStartupURLs, |
| 96 prefs::kURLsToRestoreOnStartup), | 94 prefs::kURLsToRestoreOnStartup), |
| (...skipping 11 matching lines...) Expand all Loading... |
| 108 prefs::kUrlBlacklist), | 106 prefs::kUrlBlacklist), |
| 109 PolicyAndPref(key::kURLWhitelist, | 107 PolicyAndPref(key::kURLWhitelist, |
| 110 prefs::kUrlWhitelist))); | 108 prefs::kUrlWhitelist))); |
| 111 | 109 |
| 112 // Test cases for string-valued policy settings. | 110 // Test cases for string-valued policy settings. |
| 113 class ConfigurationPolicyPrefStoreStringTest | 111 class ConfigurationPolicyPrefStoreStringTest |
| 114 : public ConfigurationPolicyPrefStoreTest, | 112 : public ConfigurationPolicyPrefStoreTest, |
| 115 public testing::WithParamInterface<PolicyAndPref> {}; | 113 public testing::WithParamInterface<PolicyAndPref> {}; |
| 116 | 114 |
| 117 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { | 115 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
| 118 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 116 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); |
| 119 store_->GetValue(GetParam().pref_name(), NULL)); | |
| 120 } | 117 } |
| 121 | 118 |
| 122 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { | 119 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
| 123 PolicyMap policy; | 120 PolicyMap policy; |
| 124 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, | 121 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| 125 POLICY_SCOPE_USER, | 122 POLICY_SCOPE_USER, |
| 126 base::Value::CreateStringValue("http://chromium.org")); | 123 base::Value::CreateStringValue("http://chromium.org")); |
| 127 provider_.UpdateChromePolicy(policy); | 124 provider_.UpdateChromePolicy(policy); |
| 128 const base::Value* value = NULL; | 125 const base::Value* value = NULL; |
| 129 EXPECT_EQ(PrefStore::READ_OK, | 126 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); |
| 130 store_->GetValue(GetParam().pref_name(), &value)); | |
| 131 ASSERT_TRUE(value); | 127 ASSERT_TRUE(value); |
| 132 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); | 128 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); |
| 133 } | 129 } |
| 134 | 130 |
| 135 INSTANTIATE_TEST_CASE_P( | 131 INSTANTIATE_TEST_CASE_P( |
| 136 ConfigurationPolicyPrefStoreStringTestInstance, | 132 ConfigurationPolicyPrefStoreStringTestInstance, |
| 137 ConfigurationPolicyPrefStoreStringTest, | 133 ConfigurationPolicyPrefStoreStringTest, |
| 138 testing::Values( | 134 testing::Values( |
| 139 PolicyAndPref(key::kRestrictSigninToPattern, | 135 PolicyAndPref(key::kRestrictSigninToPattern, |
| 140 prefs::kGoogleServicesUsernamePattern), | 136 prefs::kGoogleServicesUsernamePattern), |
| (...skipping 19 matching lines...) Expand all Loading... |
| 160 testing::Values(PolicyAndPref(key::kDownloadDirectory, | 156 testing::Values(PolicyAndPref(key::kDownloadDirectory, |
| 161 prefs::kDownloadDefaultDirectory))); | 157 prefs::kDownloadDefaultDirectory))); |
| 162 #endif // !defined(OS_CHROMEOS) | 158 #endif // !defined(OS_CHROMEOS) |
| 163 | 159 |
| 164 // Test cases for boolean-valued policy settings. | 160 // Test cases for boolean-valued policy settings. |
| 165 class ConfigurationPolicyPrefStoreBooleanTest | 161 class ConfigurationPolicyPrefStoreBooleanTest |
| 166 : public ConfigurationPolicyPrefStoreTest, | 162 : public ConfigurationPolicyPrefStoreTest, |
| 167 public testing::WithParamInterface<PolicyAndPref> {}; | 163 public testing::WithParamInterface<PolicyAndPref> {}; |
| 168 | 164 |
| 169 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { | 165 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { |
| 170 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 166 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); |
| 171 store_->GetValue(GetParam().pref_name(), NULL)); | |
| 172 } | 167 } |
| 173 | 168 |
| 174 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { | 169 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { |
| 175 PolicyMap policy; | 170 PolicyMap policy; |
| 176 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, | 171 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| 177 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); | 172 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| 178 provider_.UpdateChromePolicy(policy); | 173 provider_.UpdateChromePolicy(policy); |
| 179 const base::Value* value = NULL; | 174 const base::Value* value = NULL; |
| 180 EXPECT_EQ(PrefStore::READ_OK, | 175 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); |
| 181 store_->GetValue(GetParam().pref_name(), &value)); | |
| 182 ASSERT_TRUE(value); | 176 ASSERT_TRUE(value); |
| 183 bool boolean_value = true; | 177 bool boolean_value = true; |
| 184 bool result = value->GetAsBoolean(&boolean_value); | 178 bool result = value->GetAsBoolean(&boolean_value); |
| 185 ASSERT_TRUE(result); | 179 ASSERT_TRUE(result); |
| 186 EXPECT_FALSE(boolean_value); | 180 EXPECT_FALSE(boolean_value); |
| 187 | 181 |
| 188 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, | 182 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| 189 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); | 183 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| 190 provider_.UpdateChromePolicy(policy); | 184 provider_.UpdateChromePolicy(policy); |
| 191 value = NULL; | 185 value = NULL; |
| 192 EXPECT_EQ(PrefStore::READ_OK, | 186 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); |
| 193 store_->GetValue(GetParam().pref_name(), &value)); | |
| 194 boolean_value = false; | 187 boolean_value = false; |
| 195 result = value->GetAsBoolean(&boolean_value); | 188 result = value->GetAsBoolean(&boolean_value); |
| 196 ASSERT_TRUE(result); | 189 ASSERT_TRUE(result); |
| 197 EXPECT_TRUE(boolean_value); | 190 EXPECT_TRUE(boolean_value); |
| 198 } | 191 } |
| 199 | 192 |
| 200 INSTANTIATE_TEST_CASE_P( | 193 INSTANTIATE_TEST_CASE_P( |
| 201 ConfigurationPolicyPrefStoreBooleanTestInstance, | 194 ConfigurationPolicyPrefStoreBooleanTestInstance, |
| 202 ConfigurationPolicyPrefStoreBooleanTest, | 195 ConfigurationPolicyPrefStoreBooleanTest, |
| 203 testing::Values( | 196 testing::Values( |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 PolicyAndPref(key::kAudioCaptureAllowed, | 291 PolicyAndPref(key::kAudioCaptureAllowed, |
| 299 prefs::kAudioCaptureAllowed))); | 292 prefs::kAudioCaptureAllowed))); |
| 300 #endif // defined(OS_CHROMEOS) | 293 #endif // defined(OS_CHROMEOS) |
| 301 | 294 |
| 302 // Test cases for integer-valued policy settings. | 295 // Test cases for integer-valued policy settings. |
| 303 class ConfigurationPolicyPrefStoreIntegerTest | 296 class ConfigurationPolicyPrefStoreIntegerTest |
| 304 : public ConfigurationPolicyPrefStoreTest, | 297 : public ConfigurationPolicyPrefStoreTest, |
| 305 public testing::WithParamInterface<PolicyAndPref> {}; | 298 public testing::WithParamInterface<PolicyAndPref> {}; |
| 306 | 299 |
| 307 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { | 300 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { |
| 308 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 301 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); |
| 309 store_->GetValue(GetParam().pref_name(), NULL)); | |
| 310 } | 302 } |
| 311 | 303 |
| 312 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { | 304 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { |
| 313 PolicyMap policy; | 305 PolicyMap policy; |
| 314 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, | 306 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| 315 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2)); | 307 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2)); |
| 316 provider_.UpdateChromePolicy(policy); | 308 provider_.UpdateChromePolicy(policy); |
| 317 const base::Value* value = NULL; | 309 const base::Value* value = NULL; |
| 318 EXPECT_EQ(PrefStore::READ_OK, | 310 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); |
| 319 store_->GetValue(GetParam().pref_name(), &value)); | |
| 320 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); | 311 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); |
| 321 } | 312 } |
| 322 | 313 |
| 323 INSTANTIATE_TEST_CASE_P( | 314 INSTANTIATE_TEST_CASE_P( |
| 324 ConfigurationPolicyPrefStoreIntegerTestInstance, | 315 ConfigurationPolicyPrefStoreIntegerTestInstance, |
| 325 ConfigurationPolicyPrefStoreIntegerTest, | 316 ConfigurationPolicyPrefStoreIntegerTest, |
| 326 testing::Values( | 317 testing::Values( |
| 327 PolicyAndPref(key::kDefaultCookiesSetting, | 318 PolicyAndPref(key::kDefaultCookiesSetting, |
| 328 prefs::kManagedDefaultCookiesSetting), | 319 prefs::kManagedDefaultCookiesSetting), |
| 329 PolicyAndPref(key::kDefaultImagesSetting, | 320 PolicyAndPref(key::kDefaultImagesSetting, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 351 class ConfigurationPolicyPrefStoreProxyTest | 342 class ConfigurationPolicyPrefStoreProxyTest |
| 352 : public ConfigurationPolicyPrefStoreTest { | 343 : public ConfigurationPolicyPrefStoreTest { |
| 353 protected: | 344 protected: |
| 354 // Verify that all the proxy prefs are set to the specified expected values. | 345 // Verify that all the proxy prefs are set to the specified expected values. |
| 355 void VerifyProxyPrefs( | 346 void VerifyProxyPrefs( |
| 356 const std::string& expected_proxy_server, | 347 const std::string& expected_proxy_server, |
| 357 const std::string& expected_proxy_pac_url, | 348 const std::string& expected_proxy_pac_url, |
| 358 const std::string& expected_proxy_bypass_list, | 349 const std::string& expected_proxy_bypass_list, |
| 359 const ProxyPrefs::ProxyMode& expected_proxy_mode) { | 350 const ProxyPrefs::ProxyMode& expected_proxy_mode) { |
| 360 const base::Value* value = NULL; | 351 const base::Value* value = NULL; |
| 361 ASSERT_EQ(PrefStore::READ_OK, | 352 ASSERT_TRUE(store_->GetValue(prefs::kProxy, &value)); |
| 362 store_->GetValue(prefs::kProxy, &value)); | |
| 363 ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType()); | 353 ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType()); |
| 364 ProxyConfigDictionary dict( | 354 ProxyConfigDictionary dict( |
| 365 static_cast<const base::DictionaryValue*>(value)); | 355 static_cast<const base::DictionaryValue*>(value)); |
| 366 std::string s; | 356 std::string s; |
| 367 if (expected_proxy_server.empty()) { | 357 if (expected_proxy_server.empty()) { |
| 368 EXPECT_FALSE(dict.GetProxyServer(&s)); | 358 EXPECT_FALSE(dict.GetProxyServer(&s)); |
| 369 } else { | 359 } else { |
| 370 ASSERT_TRUE(dict.GetProxyServer(&s)); | 360 ASSERT_TRUE(dict.GetProxyServer(&s)); |
| 371 EXPECT_EQ(expected_proxy_server, s); | 361 EXPECT_EQ(expected_proxy_server, s); |
| 372 } | 362 } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 | 414 |
| 425 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { | 415 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { |
| 426 PolicyMap policy; | 416 PolicyMap policy; |
| 427 policy.Set( | 417 policy.Set( |
| 428 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 418 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 429 base::Value::CreateIntegerValue( | 419 base::Value::CreateIntegerValue( |
| 430 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); | 420 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| 431 provider_.UpdateChromePolicy(policy); | 421 provider_.UpdateChromePolicy(policy); |
| 432 | 422 |
| 433 const base::Value* value = NULL; | 423 const base::Value* value = NULL; |
| 434 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); | 424 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value)); |
| 435 } | 425 } |
| 436 | 426 |
| 437 | 427 |
| 438 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { | 428 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { |
| 439 PolicyMap policy; | 429 PolicyMap policy; |
| 440 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 430 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 441 base::Value::CreateIntegerValue( | 431 base::Value::CreateIntegerValue( |
| 442 ProxyPolicyHandler::PROXY_SERVER_MODE)); | 432 ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| 443 provider_.UpdateChromePolicy(policy); | 433 provider_.UpdateChromePolicy(policy); |
| 444 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); | 434 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 ProxyPrefs::MODE_PAC_SCRIPT); | 473 ProxyPrefs::MODE_PAC_SCRIPT); |
| 484 } | 474 } |
| 485 | 475 |
| 486 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { | 476 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { |
| 487 PolicyMap policy; | 477 PolicyMap policy; |
| 488 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 478 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 489 base::Value::CreateStringValue( | 479 base::Value::CreateStringValue( |
| 490 ProxyPrefs::kPacScriptProxyModeName)); | 480 ProxyPrefs::kPacScriptProxyModeName)); |
| 491 provider_.UpdateChromePolicy(policy); | 481 provider_.UpdateChromePolicy(policy); |
| 492 const base::Value* value = NULL; | 482 const base::Value* value = NULL; |
| 493 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); | 483 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value)); |
| 494 } | 484 } |
| 495 | 485 |
| 496 // Regression test for http://crbug.com/78016, CPanel returns empty strings | 486 // Regression test for http://crbug.com/78016, CPanel returns empty strings |
| 497 // for unset properties. | 487 // for unset properties. |
| 498 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { | 488 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { |
| 499 PolicyMap policy; | 489 PolicyMap policy; |
| 500 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 490 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 501 base::Value::CreateStringValue("")); | 491 base::Value::CreateStringValue("")); |
| 502 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 492 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 503 base::Value::CreateStringValue("http://short.org/proxy.pac")); | 493 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 base::Value::CreateStringValue("http://short.org/proxy.pac")); | 536 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| 547 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 537 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 548 base::Value::CreateStringValue("http://chromium.org/override")); | 538 base::Value::CreateStringValue("http://chromium.org/override")); |
| 549 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 539 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 550 base::Value::CreateStringValue("chromium.org")); | 540 base::Value::CreateStringValue("chromium.org")); |
| 551 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { | 541 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { |
| 552 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, | 542 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, |
| 553 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i)); | 543 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i)); |
| 554 provider_.UpdateChromePolicy(policy); | 544 provider_.UpdateChromePolicy(policy); |
| 555 const base::Value* value = NULL; | 545 const base::Value* value = NULL; |
| 556 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 546 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value)); |
| 557 store_->GetValue(prefs::kProxy, &value)); | |
| 558 } | 547 } |
| 559 } | 548 } |
| 560 | 549 |
| 561 class ConfigurationPolicyPrefStoreDefaultSearchTest | 550 class ConfigurationPolicyPrefStoreDefaultSearchTest |
| 562 : public ConfigurationPolicyPrefStoreTest { | 551 : public ConfigurationPolicyPrefStoreTest { |
| 563 public: | 552 public: |
| 564 ConfigurationPolicyPrefStoreDefaultSearchTest() { | 553 ConfigurationPolicyPrefStoreDefaultSearchTest() { |
| 565 default_alternate_urls_.AppendString( | 554 default_alternate_urls_.AppendString( |
| 566 "http://www.google.com/#q={searchTerms}"); | 555 "http://www.google.com/#q={searchTerms}"); |
| 567 default_alternate_urls_.AppendString( | 556 default_alternate_urls_.AppendString( |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 621 // search URL, that all the elements have been given proper defaults. | 610 // search URL, that all the elements have been given proper defaults. |
| 622 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { | 611 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { |
| 623 PolicyMap policy; | 612 PolicyMap policy; |
| 624 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | 613 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| 625 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); | 614 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| 626 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | 615 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| 627 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL)); | 616 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL)); |
| 628 provider_.UpdateChromePolicy(policy); | 617 provider_.UpdateChromePolicy(policy); |
| 629 | 618 |
| 630 const base::Value* value = NULL; | 619 const base::Value* value = NULL; |
| 631 EXPECT_EQ(PrefStore::READ_OK, | 620 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
| 632 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | |
| 633 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); | 621 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); |
| 634 | 622 |
| 635 EXPECT_EQ(PrefStore::READ_OK, | 623 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value)); |
| 636 store_->GetValue(prefs::kDefaultSearchProviderName, &value)); | |
| 637 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); | 624 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); |
| 638 | 625 |
| 639 EXPECT_EQ(PrefStore::READ_OK, | 626 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); |
| 640 store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | |
| 641 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); | 627 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); |
| 642 | 628 |
| 643 EXPECT_EQ(PrefStore::READ_OK, | 629 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, |
| 644 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); | 630 &value)); |
| 645 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 631 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 646 | 632 |
| 647 EXPECT_EQ(PrefStore::READ_OK, | 633 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); |
| 648 store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | |
| 649 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 634 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 650 | 635 |
| 651 EXPECT_EQ(PrefStore::READ_OK, | 636 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); |
| 652 store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | |
| 653 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 637 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 654 | 638 |
| 655 EXPECT_EQ(PrefStore::READ_OK, | 639 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderInstantURL, |
| 656 store_->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); | 640 &value)); |
| 657 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 641 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 658 | 642 |
| 659 EXPECT_EQ(PrefStore::READ_OK, | 643 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, |
| 660 store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, | |
| 661 &value)); | 644 &value)); |
| 662 EXPECT_TRUE(base::ListValue().Equals(value)); | 645 EXPECT_TRUE(base::ListValue().Equals(value)); |
| 663 } | 646 } |
| 664 | 647 |
| 665 // Checks that for a fully defined search policy, all elements have been | 648 // Checks that for a fully defined search policy, all elements have been |
| 666 // read properly. | 649 // read properly. |
| 667 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { | 650 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { |
| 668 PolicyMap policy; | 651 PolicyMap policy; |
| 669 BuildDefaultSearchPolicy(&policy); | 652 BuildDefaultSearchPolicy(&policy); |
| 670 provider_.UpdateChromePolicy(policy); | 653 provider_.UpdateChromePolicy(policy); |
| 671 | 654 |
| 672 const base::Value* value = NULL; | 655 const base::Value* value = NULL; |
| 673 EXPECT_EQ(PrefStore::READ_OK, | 656 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
| 674 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | |
| 675 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); | 657 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); |
| 676 | 658 |
| 677 EXPECT_EQ(PrefStore::READ_OK, | 659 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value)); |
| 678 store_->GetValue(prefs::kDefaultSearchProviderName, &value)); | |
| 679 EXPECT_TRUE(base::StringValue(kName).Equals(value)); | 660 EXPECT_TRUE(base::StringValue(kName).Equals(value)); |
| 680 | 661 |
| 681 EXPECT_EQ(PrefStore::READ_OK, | 662 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); |
| 682 store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | |
| 683 EXPECT_TRUE(base::StringValue(kKeyword).Equals(value)); | 663 EXPECT_TRUE(base::StringValue(kKeyword).Equals(value)); |
| 684 | 664 |
| 685 EXPECT_EQ(PrefStore::READ_OK, | 665 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, |
| 686 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); | 666 &value)); |
| 687 EXPECT_TRUE(base::StringValue(kSuggestURL).Equals(value)); | 667 EXPECT_TRUE(base::StringValue(kSuggestURL).Equals(value)); |
| 688 | 668 |
| 689 EXPECT_EQ(PrefStore::READ_OK, | 669 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); |
| 690 store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | |
| 691 EXPECT_TRUE(base::StringValue(kIconURL).Equals(value)); | 670 EXPECT_TRUE(base::StringValue(kIconURL).Equals(value)); |
| 692 | 671 |
| 693 EXPECT_EQ(PrefStore::READ_OK, | 672 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); |
| 694 store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | |
| 695 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value)); | 673 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value)); |
| 696 | 674 |
| 697 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue( | 675 EXPECT_TRUE(store_->GetValue( |
| 698 prefs::kDefaultSearchProviderAlternateURLs, &value)); | 676 prefs::kDefaultSearchProviderAlternateURLs, &value)); |
| 699 EXPECT_TRUE(default_alternate_urls_.Equals(value)); | 677 EXPECT_TRUE(default_alternate_urls_.Equals(value)); |
| 700 } | 678 } |
| 701 | 679 |
| 702 // Checks that if the default search policy is missing, that no elements of the | 680 // Checks that if the default search policy is missing, that no elements of the |
| 703 // default search policy will be present. | 681 // default search policy will be present. |
| 704 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { | 682 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { |
| 705 PolicyMap policy; | 683 PolicyMap policy; |
| 706 BuildDefaultSearchPolicy(&policy); | 684 BuildDefaultSearchPolicy(&policy); |
| 707 policy.Erase(key::kDefaultSearchProviderSearchURL); | 685 policy.Erase(key::kDefaultSearchProviderSearchURL); |
| 708 provider_.UpdateChromePolicy(policy); | 686 provider_.UpdateChromePolicy(policy); |
| 709 | 687 |
| 710 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 688 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| 711 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 689 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
| 712 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 690 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
| 713 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 691 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); |
| 714 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 692 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); |
| 715 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 693 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); |
| 716 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 694 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, |
| 717 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | 695 NULL)); |
| 718 EXPECT_EQ(PrefStore::READ_NO_VALUE, | |
| 719 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | |
| 720 EXPECT_EQ(PrefStore::READ_NO_VALUE, | |
| 721 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | |
| 722 EXPECT_EQ(PrefStore::READ_NO_VALUE, | |
| 723 store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, NULL)); | |
| 724 } | 696 } |
| 725 | 697 |
| 726 // Checks that if the default search policy is invalid, that no elements of the | 698 // Checks that if the default search policy is invalid, that no elements of the |
| 727 // default search policy will be present. | 699 // default search policy will be present. |
| 728 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { | 700 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { |
| 729 PolicyMap policy; | 701 PolicyMap policy; |
| 730 BuildDefaultSearchPolicy(&policy); | 702 BuildDefaultSearchPolicy(&policy); |
| 731 const char* const bad_search_url = "http://test.com/noSearchTerms"; | 703 const char* const bad_search_url = "http://test.com/noSearchTerms"; |
| 732 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | 704 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| 733 POLICY_SCOPE_USER, | 705 POLICY_SCOPE_USER, |
| 734 base::Value::CreateStringValue(bad_search_url)); | 706 base::Value::CreateStringValue(bad_search_url)); |
| 735 provider_.UpdateChromePolicy(policy); | 707 provider_.UpdateChromePolicy(policy); |
| 736 | 708 |
| 737 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 709 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| 738 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 710 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
| 739 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 711 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
| 740 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 712 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); |
| 741 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 713 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); |
| 742 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 714 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); |
| 743 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 715 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, |
| 744 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | 716 NULL)); |
| 745 EXPECT_EQ(PrefStore::READ_NO_VALUE, | |
| 746 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | |
| 747 EXPECT_EQ(PrefStore::READ_NO_VALUE, | |
| 748 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | |
| 749 EXPECT_EQ(PrefStore::READ_NO_VALUE, | |
| 750 store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, NULL)); | |
| 751 } | 717 } |
| 752 | 718 |
| 753 // Checks that if the default search policy is invalid, that no elements of the | 719 // Checks that if the default search policy is invalid, that no elements of the |
| 754 // default search policy will be present. | 720 // default search policy will be present. |
| 755 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { | 721 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { |
| 756 PolicyMap policy; | 722 PolicyMap policy; |
| 757 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | 723 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| 758 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); | 724 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| 759 provider_.UpdateChromePolicy(policy); | 725 provider_.UpdateChromePolicy(policy); |
| 760 | 726 |
| 761 const base::Value* value = NULL; | 727 const base::Value* value = NULL; |
| 762 EXPECT_EQ(PrefStore::READ_OK, | 728 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); |
| 763 store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); | |
| 764 base::FundamentalValue expected_enabled(false); | 729 base::FundamentalValue expected_enabled(false); |
| 765 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); | 730 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); |
| 766 EXPECT_EQ(PrefStore::READ_OK, | 731 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
| 767 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | |
| 768 base::StringValue expected_search_url(""); | 732 base::StringValue expected_search_url(""); |
| 769 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); | 733 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); |
| 770 } | 734 } |
| 771 | 735 |
| 772 // Tests Incognito mode availability preference setting. | 736 // Tests Incognito mode availability preference setting. |
| 773 class ConfigurationPolicyPrefStoreIncognitoModeTest | 737 class ConfigurationPolicyPrefStoreIncognitoModeTest |
| 774 : public ConfigurationPolicyPrefStoreTest { | 738 : public ConfigurationPolicyPrefStoreTest { |
| 775 protected: | 739 protected: |
| 776 static const int kIncognitoModeAvailabilityNotSet = -1; | 740 static const int kIncognitoModeAvailabilityNotSet = -1; |
| 777 | 741 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 793 if (availability >= 0) { | 757 if (availability >= 0) { |
| 794 policy.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY, | 758 policy.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY, |
| 795 POLICY_SCOPE_USER, | 759 POLICY_SCOPE_USER, |
| 796 base::Value::CreateIntegerValue(availability)); | 760 base::Value::CreateIntegerValue(availability)); |
| 797 } | 761 } |
| 798 provider_.UpdateChromePolicy(policy); | 762 provider_.UpdateChromePolicy(policy); |
| 799 } | 763 } |
| 800 | 764 |
| 801 void VerifyValues(IncognitoModePrefs::Availability availability) { | 765 void VerifyValues(IncognitoModePrefs::Availability availability) { |
| 802 const base::Value* value = NULL; | 766 const base::Value* value = NULL; |
| 803 EXPECT_EQ(PrefStore::READ_OK, | 767 EXPECT_TRUE(store_->GetValue(prefs::kIncognitoModeAvailability, &value)); |
| 804 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); | |
| 805 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); | 768 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); |
| 806 } | 769 } |
| 807 }; | 770 }; |
| 808 | 771 |
| 809 // The following testcases verify that if the obsolete IncognitoEnabled | 772 // The following testcases verify that if the obsolete IncognitoEnabled |
| 810 // policy is not set, the IncognitoModeAvailability values should be copied | 773 // policy is not set, the IncognitoModeAvailability values should be copied |
| 811 // from IncognitoModeAvailability policy to pref "as is". | 774 // from IncognitoModeAvailability policy to pref "as is". |
| 812 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 775 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 813 NoObsoletePolicyAndIncognitoEnabled) { | 776 NoObsoletePolicyAndIncognitoEnabled) { |
| 814 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::ENABLED); | 777 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::ENABLED); |
| 815 VerifyValues(IncognitoModePrefs::ENABLED); | 778 VerifyValues(IncognitoModePrefs::ENABLED); |
| 816 } | 779 } |
| 817 | 780 |
| 818 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 781 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 819 NoObsoletePolicyAndIncognitoDisabled) { | 782 NoObsoletePolicyAndIncognitoDisabled) { |
| 820 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::DISABLED); | 783 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::DISABLED); |
| 821 VerifyValues(IncognitoModePrefs::DISABLED); | 784 VerifyValues(IncognitoModePrefs::DISABLED); |
| 822 } | 785 } |
| 823 | 786 |
| 824 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 787 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 825 NoObsoletePolicyAndIncognitoForced) { | 788 NoObsoletePolicyAndIncognitoForced) { |
| 826 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); | 789 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); |
| 827 VerifyValues(IncognitoModePrefs::FORCED); | 790 VerifyValues(IncognitoModePrefs::FORCED); |
| 828 } | 791 } |
| 829 | 792 |
| 830 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 793 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 831 NoObsoletePolicyAndNoIncognitoAvailability) { | 794 NoObsoletePolicyAndNoIncognitoAvailability) { |
| 832 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); | 795 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); |
| 833 const base::Value* value = NULL; | 796 const base::Value* value = NULL; |
| 834 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 797 EXPECT_FALSE(store_->GetValue(prefs::kIncognitoModeAvailability, &value)); |
| 835 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); | |
| 836 } | 798 } |
| 837 | 799 |
| 838 // Checks that if the obsolete IncognitoEnabled policy is set, if sets | 800 // Checks that if the obsolete IncognitoEnabled policy is set, if sets |
| 839 // the IncognitoModeAvailability preference only in case | 801 // the IncognitoModeAvailability preference only in case |
| 840 // the IncognitoModeAvailability policy is not specified. | 802 // the IncognitoModeAvailability policy is not specified. |
| 841 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 803 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 842 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { | 804 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { |
| 843 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); | 805 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); |
| 844 VerifyValues(IncognitoModePrefs::ENABLED); | 806 VerifyValues(IncognitoModePrefs::ENABLED); |
| 845 } | 807 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 860 ObsoletePolicySetsPreferenceToDisabled) { | 822 ObsoletePolicySetsPreferenceToDisabled) { |
| 861 SetPolicies(INCOGNITO_ENABLED_FALSE, kIncognitoModeAvailabilityNotSet); | 823 SetPolicies(INCOGNITO_ENABLED_FALSE, kIncognitoModeAvailabilityNotSet); |
| 862 VerifyValues(IncognitoModePrefs::DISABLED); | 824 VerifyValues(IncognitoModePrefs::DISABLED); |
| 863 } | 825 } |
| 864 | 826 |
| 865 // Test cases for the Sync policy setting. | 827 // Test cases for the Sync policy setting. |
| 866 class ConfigurationPolicyPrefStoreSyncTest | 828 class ConfigurationPolicyPrefStoreSyncTest |
| 867 : public ConfigurationPolicyPrefStoreTest {}; | 829 : public ConfigurationPolicyPrefStoreTest {}; |
| 868 | 830 |
| 869 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { | 831 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
| 870 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 832 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL)); |
| 871 store_->GetValue(prefs::kSyncManaged, NULL)); | |
| 872 } | 833 } |
| 873 | 834 |
| 874 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { | 835 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
| 875 PolicyMap policy; | 836 PolicyMap policy; |
| 876 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 837 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 877 base::Value::CreateBooleanValue(false)); | 838 base::Value::CreateBooleanValue(false)); |
| 878 provider_.UpdateChromePolicy(policy); | 839 provider_.UpdateChromePolicy(policy); |
| 879 // Enabling Sync should not set the pref. | 840 // Enabling Sync should not set the pref. |
| 880 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 841 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL)); |
| 881 store_->GetValue(prefs::kSyncManaged, NULL)); | |
| 882 } | 842 } |
| 883 | 843 |
| 884 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { | 844 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
| 885 PolicyMap policy; | 845 PolicyMap policy; |
| 886 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 846 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 887 base::Value::CreateBooleanValue(true)); | 847 base::Value::CreateBooleanValue(true)); |
| 888 provider_.UpdateChromePolicy(policy); | 848 provider_.UpdateChromePolicy(policy); |
| 889 // Sync should be flagged as managed. | 849 // Sync should be flagged as managed. |
| 890 const base::Value* value = NULL; | 850 const base::Value* value = NULL; |
| 891 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); | 851 EXPECT_TRUE(store_->GetValue(prefs::kSyncManaged, &value)); |
| 892 ASSERT_TRUE(value); | 852 ASSERT_TRUE(value); |
| 893 bool sync_managed = false; | 853 bool sync_managed = false; |
| 894 bool result = value->GetAsBoolean(&sync_managed); | 854 bool result = value->GetAsBoolean(&sync_managed); |
| 895 ASSERT_TRUE(result); | 855 ASSERT_TRUE(result); |
| 896 EXPECT_TRUE(sync_managed); | 856 EXPECT_TRUE(sync_managed); |
| 897 } | 857 } |
| 898 | 858 |
| 899 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy | 859 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy |
| 900 // influence the PromptForDownload preference. | 860 // influence the PromptForDownload preference. |
| 901 class ConfigurationPolicyPrefStorePromptDownloadTest | 861 class ConfigurationPolicyPrefStorePromptDownloadTest |
| 902 : public ConfigurationPolicyPrefStoreTest {}; | 862 : public ConfigurationPolicyPrefStoreTest {}; |
| 903 | 863 |
| 904 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { | 864 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { |
| 905 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 865 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 906 store_->GetValue(prefs::kPromptForDownload, NULL)); | |
| 907 } | 866 } |
| 908 | 867 |
| 909 #if !defined(OS_CHROMEOS) | 868 #if !defined(OS_CHROMEOS) |
| 910 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { | 869 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { |
| 911 PolicyMap policy; | 870 PolicyMap policy; |
| 912 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 871 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 913 store_->GetValue(prefs::kPromptForDownload, NULL)); | |
| 914 policy.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY, | 872 policy.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY, |
| 915 POLICY_SCOPE_USER, base::Value::CreateStringValue("")); | 873 POLICY_SCOPE_USER, base::Value::CreateStringValue("")); |
| 916 provider_.UpdateChromePolicy(policy); | 874 provider_.UpdateChromePolicy(policy); |
| 917 | 875 |
| 918 // Setting a DownloadDirectory should disable the PromptForDownload pref. | 876 // Setting a DownloadDirectory should disable the PromptForDownload pref. |
| 919 const base::Value* value = NULL; | 877 const base::Value* value = NULL; |
| 920 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 878 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload, |
| 921 &value)); | 879 &value)); |
| 922 ASSERT_TRUE(value); | 880 ASSERT_TRUE(value); |
| 923 bool prompt_for_download = true; | 881 bool prompt_for_download = true; |
| 924 bool result = value->GetAsBoolean(&prompt_for_download); | 882 bool result = value->GetAsBoolean(&prompt_for_download); |
| 925 ASSERT_TRUE(result); | 883 ASSERT_TRUE(result); |
| 926 EXPECT_FALSE(prompt_for_download); | 884 EXPECT_FALSE(prompt_for_download); |
| 927 } | 885 } |
| 928 #endif // !defined(OS_CHROMEOS) | 886 #endif // !defined(OS_CHROMEOS) |
| 929 | 887 |
| 930 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 888 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| 931 EnableFileSelectionDialogs) { | 889 EnableFileSelectionDialogs) { |
| 932 PolicyMap policy; | 890 PolicyMap policy; |
| 933 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 891 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 934 store_->GetValue(prefs::kPromptForDownload, NULL)); | |
| 935 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, | 892 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, |
| 936 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); | 893 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| 937 provider_.UpdateChromePolicy(policy); | 894 provider_.UpdateChromePolicy(policy); |
| 938 | 895 |
| 939 // Allowing file-selection dialogs should not influence the PromptForDownload | 896 // Allowing file-selection dialogs should not influence the PromptForDownload |
| 940 // pref. | 897 // pref. |
| 941 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 898 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 942 store_->GetValue(prefs::kPromptForDownload, NULL)); | |
| 943 } | 899 } |
| 944 | 900 |
| 945 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 901 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| 946 DisableFileSelectionDialogs) { | 902 DisableFileSelectionDialogs) { |
| 947 PolicyMap policy; | 903 PolicyMap policy; |
| 948 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 904 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 949 store_->GetValue(prefs::kPromptForDownload, NULL)); | |
| 950 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, | 905 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, |
| 951 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); | 906 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| 952 provider_.UpdateChromePolicy(policy); | 907 provider_.UpdateChromePolicy(policy); |
| 953 | 908 |
| 954 // Disabling file-selection dialogs should disable the PromptForDownload pref. | 909 // Disabling file-selection dialogs should disable the PromptForDownload pref. |
| 955 const base::Value* value = NULL; | 910 const base::Value* value = NULL; |
| 956 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 911 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload, |
| 957 &value)); | 912 &value)); |
| 958 ASSERT_TRUE(value); | 913 ASSERT_TRUE(value); |
| 959 bool prompt_for_download = true; | 914 bool prompt_for_download = true; |
| 960 bool result = value->GetAsBoolean(&prompt_for_download); | 915 bool result = value->GetAsBoolean(&prompt_for_download); |
| 961 ASSERT_TRUE(result); | 916 ASSERT_TRUE(result); |
| 962 EXPECT_FALSE(prompt_for_download); | 917 EXPECT_FALSE(prompt_for_download); |
| 963 } | 918 } |
| 964 | 919 |
| 965 // Test cases for the Autofill policy setting. | 920 // Test cases for the Autofill policy setting. |
| 966 class ConfigurationPolicyPrefStoreAutofillTest | 921 class ConfigurationPolicyPrefStoreAutofillTest |
| 967 : public ConfigurationPolicyPrefStoreTest {}; | 922 : public ConfigurationPolicyPrefStoreTest {}; |
| 968 | 923 |
| 969 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { | 924 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { |
| 970 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 925 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL)); |
| 971 store_->GetValue(prefs::kAutofillEnabled, NULL)); | |
| 972 } | 926 } |
| 973 | 927 |
| 974 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { | 928 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { |
| 975 PolicyMap policy; | 929 PolicyMap policy; |
| 976 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 930 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 977 base::Value::CreateBooleanValue(true)); | 931 base::Value::CreateBooleanValue(true)); |
| 978 provider_.UpdateChromePolicy(policy); | 932 provider_.UpdateChromePolicy(policy); |
| 979 // Enabling Autofill should not set the pref. | 933 // Enabling Autofill should not set the pref. |
| 980 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 934 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL)); |
| 981 store_->GetValue(prefs::kAutofillEnabled, NULL)); | |
| 982 } | 935 } |
| 983 | 936 |
| 984 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { | 937 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { |
| 985 PolicyMap policy; | 938 PolicyMap policy; |
| 986 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 939 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 987 base::Value::CreateBooleanValue(false)); | 940 base::Value::CreateBooleanValue(false)); |
| 988 provider_.UpdateChromePolicy(policy); | 941 provider_.UpdateChromePolicy(policy); |
| 989 // Disabling Autofill should switch the pref to managed. | 942 // Disabling Autofill should switch the pref to managed. |
| 990 const base::Value* value = NULL; | 943 const base::Value* value = NULL; |
| 991 EXPECT_EQ(PrefStore::READ_OK, | 944 EXPECT_TRUE(store_->GetValue(prefs::kAutofillEnabled, &value)); |
| 992 store_->GetValue(prefs::kAutofillEnabled, &value)); | |
| 993 ASSERT_TRUE(value); | 945 ASSERT_TRUE(value); |
| 994 bool autofill_enabled = true; | 946 bool autofill_enabled = true; |
| 995 bool result = value->GetAsBoolean(&autofill_enabled); | 947 bool result = value->GetAsBoolean(&autofill_enabled); |
| 996 ASSERT_TRUE(result); | 948 ASSERT_TRUE(result); |
| 997 EXPECT_FALSE(autofill_enabled); | 949 EXPECT_FALSE(autofill_enabled); |
| 998 } | 950 } |
| 999 | 951 |
| 1000 // Exercises the policy refresh mechanism. | 952 // Exercises the policy refresh mechanism. |
| 1001 class ConfigurationPolicyPrefStoreRefreshTest | 953 class ConfigurationPolicyPrefStoreRefreshTest |
| 1002 : public ConfigurationPolicyPrefStoreTest { | 954 : public ConfigurationPolicyPrefStoreTest { |
| 1003 protected: | 955 protected: |
| 1004 virtual void SetUp() { | 956 virtual void SetUp() { |
| 1005 ConfigurationPolicyPrefStoreTest::SetUp(); | 957 ConfigurationPolicyPrefStoreTest::SetUp(); |
| 1006 store_->AddObserver(&observer_); | 958 store_->AddObserver(&observer_); |
| 1007 } | 959 } |
| 1008 | 960 |
| 1009 virtual void TearDown() { | 961 virtual void TearDown() { |
| 1010 store_->RemoveObserver(&observer_); | 962 store_->RemoveObserver(&observer_); |
| 1011 ConfigurationPolicyPrefStoreTest::TearDown(); | 963 ConfigurationPolicyPrefStoreTest::TearDown(); |
| 1012 } | 964 } |
| 1013 | 965 |
| 1014 PrefStoreObserverMock observer_; | 966 PrefStoreObserverMock observer_; |
| 1015 }; | 967 }; |
| 1016 | 968 |
| 1017 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { | 969 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
| 1018 const base::Value* value = NULL; | 970 const base::Value* value = NULL; |
| 1019 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 971 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL)); |
| 1020 store_->GetValue(prefs::kHomePage, NULL)); | |
| 1021 | 972 |
| 1022 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 973 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| 1023 PolicyMap policy; | 974 PolicyMap policy; |
| 1024 policy.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 975 policy.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 1025 base::Value::CreateStringValue("http://www.chromium.org")); | 976 base::Value::CreateStringValue("http://www.chromium.org")); |
| 1026 provider_.UpdateChromePolicy(policy); | 977 provider_.UpdateChromePolicy(policy); |
| 1027 Mock::VerifyAndClearExpectations(&observer_); | 978 Mock::VerifyAndClearExpectations(&observer_); |
| 1028 EXPECT_EQ(PrefStore::READ_OK, | 979 EXPECT_TRUE(store_->GetValue(prefs::kHomePage, &value)); |
| 1029 store_->GetValue(prefs::kHomePage, &value)); | |
| 1030 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); | 980 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); |
| 1031 | 981 |
| 1032 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); | 982 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
| 1033 provider_.UpdateChromePolicy(policy); | 983 provider_.UpdateChromePolicy(policy); |
| 1034 Mock::VerifyAndClearExpectations(&observer_); | 984 Mock::VerifyAndClearExpectations(&observer_); |
| 1035 | 985 |
| 1036 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 986 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| 1037 policy.Erase(key::kHomepageLocation); | 987 policy.Erase(key::kHomepageLocation); |
| 1038 provider_.UpdateChromePolicy(policy); | 988 provider_.UpdateChromePolicy(policy); |
| 1039 Mock::VerifyAndClearExpectations(&observer_); | 989 Mock::VerifyAndClearExpectations(&observer_); |
| 1040 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 990 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL)); |
| 1041 store_->GetValue(prefs::kHomePage, NULL)); | |
| 1042 } | 991 } |
| 1043 | 992 |
| 1044 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { | 993 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { |
| 1045 EXPECT_FALSE(store_->IsInitializationComplete()); | 994 EXPECT_FALSE(store_->IsInitializationComplete()); |
| 1046 EXPECT_CALL(provider_, IsInitializationComplete()) | 995 EXPECT_CALL(provider_, IsInitializationComplete()) |
| 1047 .WillRepeatedly(Return(true)); | 996 .WillRepeatedly(Return(true)); |
| 1048 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); | 997 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); |
| 1049 PolicyMap policy; | 998 PolicyMap policy; |
| 1050 provider_.UpdateChromePolicy(policy); | 999 provider_.UpdateChromePolicy(policy); |
| 1051 Mock::VerifyAndClearExpectations(&observer_); | 1000 Mock::VerifyAndClearExpectations(&observer_); |
| 1052 EXPECT_TRUE(store_->IsInitializationComplete()); | 1001 EXPECT_TRUE(store_->IsInitializationComplete()); |
| 1053 } | 1002 } |
| 1054 | 1003 |
| 1055 // Tests for policies that don't quite fit the previous patterns. | 1004 // Tests for policies that don't quite fit the previous patterns. |
| 1056 class ConfigurationPolicyPrefStoreOthersTest | 1005 class ConfigurationPolicyPrefStoreOthersTest |
| 1057 : public ConfigurationPolicyPrefStoreTest {}; | 1006 : public ConfigurationPolicyPrefStoreTest {}; |
| 1058 | 1007 |
| 1059 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { | 1008 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
| 1060 // This is a boolean policy, but affects an integer preference. | 1009 // This is a boolean policy, but affects an integer preference. |
| 1061 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1010 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1062 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | |
| 1063 PolicyMap policy; | 1011 PolicyMap policy; |
| 1064 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, | 1012 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, |
| 1065 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); | 1013 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| 1066 provider_.UpdateChromePolicy(policy); | 1014 provider_.UpdateChromePolicy(policy); |
| 1067 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1015 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1068 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | |
| 1069 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, | 1016 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, |
| 1070 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); | 1017 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| 1071 provider_.UpdateChromePolicy(policy); | 1018 provider_.UpdateChromePolicy(policy); |
| 1072 const base::Value* value = NULL; | 1019 const base::Value* value = NULL; |
| 1073 EXPECT_EQ(PrefStore::READ_OK, | 1020 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, |
| 1074 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1021 &value)); |
| 1075 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1022 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
| 1076 } | 1023 } |
| 1077 | 1024 |
| 1078 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { | 1025 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { |
| 1079 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1026 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1080 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | |
| 1081 PolicyMap policy; | 1027 PolicyMap policy; |
| 1082 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, | 1028 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, |
| 1083 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); | 1029 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| 1084 provider_.UpdateChromePolicy(policy); | 1030 provider_.UpdateChromePolicy(policy); |
| 1085 const base::Value* value = NULL; | 1031 const base::Value* value = NULL; |
| 1086 EXPECT_EQ(PrefStore::READ_OK, | 1032 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, |
| 1087 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1033 &value)); |
| 1088 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1034 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
| 1089 // DefaultJavaScriptSetting overrides JavascriptEnabled. | 1035 // DefaultJavaScriptSetting overrides JavascriptEnabled. |
| 1090 policy.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY, | 1036 policy.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY, |
| 1091 POLICY_SCOPE_USER, | 1037 POLICY_SCOPE_USER, |
| 1092 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); | 1038 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
| 1093 provider_.UpdateChromePolicy(policy); | 1039 provider_.UpdateChromePolicy(policy); |
| 1094 EXPECT_EQ(PrefStore::READ_OK, | 1040 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, |
| 1095 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1041 &value)); |
| 1096 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); | 1042 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |
| 1097 } | 1043 } |
| 1098 | 1044 |
| 1099 } // namespace policy | 1045 } // namespace policy |
| OLD | NEW |