| Index: chrome/browser/policy/configuration_policy_pref_store_unittest.cc
|
| diff --git a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
|
| index 62c983dde2d1ae1df06989b6ff5c8f9c64d74046..4044950acd9e1d88ab8ebe3d71d15508d01fe739 100644
|
| --- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
|
| +++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
|
| @@ -556,23 +556,78 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) {
|
| }
|
|
|
| class ConfigurationPolicyPrefStoreDefaultSearchTest
|
| - : public ConfigurationPolicyPrefStoreTest {};
|
| + : public ConfigurationPolicyPrefStoreTest {
|
| + public:
|
| + ConfigurationPolicyPrefStoreDefaultSearchTest() {
|
| + default_alternate_urls_.AppendString(
|
| + "http://www.google.com/#q={searchTerms}");
|
| + default_alternate_urls_.AppendString(
|
| + "http://www.google.com/search#q={searchTerms}");
|
| + }
|
| +
|
| + protected:
|
| + static const char* const kSearchURL;
|
| + static const char* const kSuggestURL;
|
| + static const char* const kIconURL;
|
| + static const char* const kName;
|
| + static const char* const kKeyword;
|
| +
|
| + // Build a default search policy by setting search-related keys in |policy| to
|
| + // reasonable values. You can update any of the keys after calling this
|
| + // method.
|
| + void BuildDefaultSearchPolicy(PolicyMap* policy);
|
| +
|
| + base::ListValue default_alternate_urls_;
|
| +};
|
| +
|
| +const char* const ConfigurationPolicyPrefStoreDefaultSearchTest::kSearchURL =
|
| + "http://test.com/search?t={searchTerms}";
|
| +const char* const ConfigurationPolicyPrefStoreDefaultSearchTest::kSuggestURL =
|
| + "http://test.com/sugg?={searchTerms}";
|
| +const char* const ConfigurationPolicyPrefStoreDefaultSearchTest::kIconURL =
|
| + "http://test.com/icon.jpg";
|
| +const char* const ConfigurationPolicyPrefStoreDefaultSearchTest::kName =
|
| + "MyName";
|
| +const char* const ConfigurationPolicyPrefStoreDefaultSearchTest::kKeyword =
|
| + "MyKeyword";
|
| +
|
| +void ConfigurationPolicyPrefStoreDefaultSearchTest::
|
| + BuildDefaultSearchPolicy(PolicyMap* policy) {
|
| + base::ListValue* encodings = new base::ListValue();
|
| + encodings->AppendString("UTF-16");
|
| + encodings->AppendString("UTF-8");
|
| + policy->Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
|
| + policy->Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL));
|
| + policy->Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(kName));
|
| + policy->Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(kKeyword));
|
| + policy->Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(kSuggestURL));
|
| + policy->Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(kIconURL));
|
| + policy->Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, encodings);
|
| + policy->Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY,
|
| + POLICY_SCOPE_USER, default_alternate_urls_.DeepCopy());
|
| +}
|
|
|
| // Checks that if the policy for default search is valid, i.e. there's a
|
| // search URL, that all the elements have been given proper defaults.
|
| TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
|
| PolicyMap policy;
|
| - const char* const search_url = "http://test.com/search?t={searchTerms}";
|
| policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
|
| POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
|
| policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url));
|
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL));
|
| provider_.UpdateChromePolicy(policy);
|
|
|
| const base::Value* value = NULL;
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
|
| - EXPECT_TRUE(base::StringValue(search_url).Equals(value));
|
| + EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value));
|
|
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderName, &value));
|
| @@ -597,85 +652,56 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderInstantURL, &value));
|
| EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
|
| +
|
| + EXPECT_EQ(PrefStore::READ_OK,
|
| + store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs,
|
| + &value));
|
| + EXPECT_TRUE(base::ListValue().Equals(value));
|
| }
|
|
|
| // Checks that for a fully defined search policy, all elements have been
|
| // read properly.
|
| TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
|
| PolicyMap policy;
|
| - const char* const search_url = "http://test.com/search?t={searchTerms}";
|
| - const char* const suggest_url = "http://test.com/sugg?={searchTerms}";
|
| - const char* const icon_url = "http://test.com/icon.jpg";
|
| - const char* const name = "MyName";
|
| - const char* const keyword = "MyKeyword";
|
| - base::ListValue* encodings = new base::ListValue();
|
| - encodings->Append(base::Value::CreateStringValue("UTF-16"));
|
| - encodings->Append(base::Value::CreateStringValue("UTF-8"));
|
| - policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
|
| - policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url));
|
| - policy.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
|
| - policy.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
|
| - policy.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
|
| - policy.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
|
| - policy.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, encodings);
|
| + BuildDefaultSearchPolicy(&policy);
|
| provider_.UpdateChromePolicy(policy);
|
|
|
| const base::Value* value = NULL;
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
|
| - EXPECT_TRUE(base::StringValue(search_url).Equals(value));
|
| + EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value));
|
|
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderName, &value));
|
| - EXPECT_TRUE(base::StringValue(name).Equals(value));
|
| + EXPECT_TRUE(base::StringValue(kName).Equals(value));
|
|
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
|
| - EXPECT_TRUE(base::StringValue(keyword).Equals(value));
|
| + EXPECT_TRUE(base::StringValue(kKeyword).Equals(value));
|
|
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value));
|
| - EXPECT_TRUE(base::StringValue(suggest_url).Equals(value));
|
| + EXPECT_TRUE(base::StringValue(kSuggestURL).Equals(value));
|
|
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value));
|
| - EXPECT_TRUE(base::StringValue(icon_url).Equals(value));
|
| + EXPECT_TRUE(base::StringValue(kIconURL).Equals(value));
|
|
|
| EXPECT_EQ(PrefStore::READ_OK,
|
| store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
|
| EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value));
|
| +
|
| + EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(
|
| + prefs::kDefaultSearchProviderAlternateURLs, &value));
|
| + EXPECT_TRUE(default_alternate_urls_.Equals(value));
|
| }
|
|
|
| // Checks that if the default search policy is missing, that no elements of the
|
| // default search policy will be present.
|
| TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
|
| PolicyMap policy;
|
| - const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
|
| - const char* const icon_url = "http://test.com/icon.jpg";
|
| - const char* const name = "MyName";
|
| - const char* const keyword = "MyKeyword";
|
| - base::ListValue* encodings = new base::ListValue();
|
| - encodings->Append(base::Value::CreateStringValue("UTF-16"));
|
| - encodings->Append(base::Value::CreateStringValue("UTF-8"));
|
| - policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
|
| - policy.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
|
| - policy.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
|
| - policy.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
|
| - policy.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
|
| - policy.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, encodings);
|
| + BuildDefaultSearchPolicy(&policy);
|
| + policy.Erase(key::kDefaultSearchProviderSearchURL);
|
| provider_.UpdateChromePolicy(policy);
|
|
|
| EXPECT_EQ(PrefStore::READ_NO_VALUE,
|
| @@ -690,35 +716,19 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
|
| store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
|
| EXPECT_EQ(PrefStore::READ_NO_VALUE,
|
| store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
|
| + EXPECT_EQ(PrefStore::READ_NO_VALUE,
|
| + store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, NULL));
|
| }
|
|
|
| // Checks that if the default search policy is invalid, that no elements of the
|
| // default search policy will be present.
|
| TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
|
| PolicyMap policy;
|
| + BuildDefaultSearchPolicy(&policy);
|
| const char* const bad_search_url = "http://test.com/noSearchTerms";
|
| - const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
|
| - const char* const icon_url = "http://test.com/icon.jpg";
|
| - const char* const name = "MyName";
|
| - const char* const keyword = "MyKeyword";
|
| - base::ListValue* encodings = new base::ListValue();
|
| - encodings->Append(base::Value::CreateStringValue("UTF-16"));
|
| - encodings->Append(base::Value::CreateStringValue("UTF-8"));
|
| - policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
|
| policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
|
| POLICY_SCOPE_USER,
|
| base::Value::CreateStringValue(bad_search_url));
|
| - policy.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
|
| - policy.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
|
| - policy.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
|
| - policy.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
|
| - policy.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
|
| - POLICY_SCOPE_USER, encodings);
|
| provider_.UpdateChromePolicy(policy);
|
|
|
| EXPECT_EQ(PrefStore::READ_NO_VALUE,
|
| @@ -733,6 +743,8 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
|
| store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
|
| EXPECT_EQ(PrefStore::READ_NO_VALUE,
|
| store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
|
| + EXPECT_EQ(PrefStore::READ_NO_VALUE,
|
| + store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, NULL));
|
| }
|
|
|
| // Checks that if the default search policy is invalid, that no elements of the
|
|
|