Index: chrome/browser/search_engines/default_search_policy_handler_unittest.cc |
diff --git a/chrome/browser/search_engines/default_search_policy_handler_unittest.cc b/chrome/browser/search_engines/default_search_policy_handler_unittest.cc |
index 16189a6338c6c480694b19d39a1a55a232a3f253..6f185bac7ddbb5c66a1bb0c7b9f2c17f03abc94f 100644 |
--- a/chrome/browser/search_engines/default_search_policy_handler_unittest.cc |
+++ b/chrome/browser/search_engines/default_search_policy_handler_unittest.cc |
@@ -297,4 +297,61 @@ TEST_F(DefaultSearchPolicyHandlerTest, Disabled) { |
EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); |
} |
+// Checks that for a fully defined search policy, all elements have been |
+// read properly into the new dictionary pref. |
+// TODO(caitkp): Remove hardcoded dictionary keys once we find a home for these |
+// constants. |
+TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPrefTest) { |
+ PolicyMap policy; |
+ BuildDefaultSearchPolicy(&policy); |
+ UpdateProviderPolicy(policy); |
+ |
+ const base::Value* temp = NULL; |
+ const base::DictionaryValue* dictionary = new base::DictionaryValue(); |
+ std::string value; |
+ const base::ListValue* list_value; |
+ EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderData, &temp)); |
+ temp->GetAsDictionary(&dictionary); |
+ |
+ EXPECT_TRUE(dictionary->GetString("url", &value)); |
+ EXPECT_EQ(kSearchURL, value); |
+ EXPECT_TRUE(dictionary->GetString("short_name", &value)); |
+ EXPECT_EQ(kName, value); |
+ EXPECT_TRUE(dictionary->GetString("keyword", &value)); |
+ EXPECT_EQ(kKeyword, value); |
+ |
+ EXPECT_TRUE(dictionary->GetString("suggestions_url", &value)); |
+ EXPECT_EQ(kSuggestURL, value); |
+ EXPECT_TRUE(dictionary->GetString("favicon_url", &value)); |
+ EXPECT_EQ(kIconURL, value); |
+ |
+ base::ListValue encodings; |
+ encodings.AppendString("UTF-16"); |
+ encodings.AppendString("UTF-8"); |
+ |
+ EXPECT_TRUE(dictionary->GetList("input_encodings", &list_value)); |
+ EXPECT_TRUE(encodings.Equals(list_value)); |
+ |
+ EXPECT_TRUE(dictionary->GetList("alternate_urls", &list_value)); |
+ EXPECT_TRUE(default_alternate_urls_.Equals(list_value)); |
+ |
+ EXPECT_TRUE(dictionary->GetString("search_terms_replacement_key", &value)); |
+ EXPECT_EQ(kReplacementKey, value); |
+ |
+ EXPECT_TRUE(dictionary->GetString("image_url", &value)); |
+ EXPECT_EQ(kImageURL, value); |
+ |
+ EXPECT_TRUE(dictionary->GetString("image_url_post_params", &value)); |
+ EXPECT_EQ(kImageParams, value); |
+ |
+ EXPECT_TRUE(dictionary->GetString("search_url_post_params", &value)); |
+ EXPECT_EQ(std::string(), value); |
+ |
+ EXPECT_TRUE(dictionary->GetString("suggestions_url_post_params", &value)); |
+ EXPECT_EQ(std::string(), value); |
+ |
+ EXPECT_TRUE(dictionary->GetString("instant_url_post_params", &value)); |
+ EXPECT_EQ(std::string(), value); |
+} |
+ |
} // namespace policy |