| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
| 6 #include "chrome/browser/search_engines/default_search_manager.h" | 6 #include "chrome/browser/search_engines/default_search_manager.h" |
| 7 #include "chrome/browser/search_engines/default_search_policy_handler.h" | 7 #include "chrome/browser/search_engines/default_search_policy_handler.h" |
| 8 #include "chrome/common/pref_names.h" | 8 #include "chrome/common/pref_names.h" |
| 9 #include "components/policy/core/browser/configuration_policy_pref_store.h" | 9 #include "components/policy/core/browser/configuration_policy_pref_store.h" |
| 10 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" | 10 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 // search URL, that all the elements have been given proper defaults. | 120 // search URL, that all the elements have been given proper defaults. |
| 121 TEST_F(DefaultSearchPolicyHandlerTest, MinimallyDefined) { | 121 TEST_F(DefaultSearchPolicyHandlerTest, MinimallyDefined) { |
| 122 PolicyMap policy; | 122 PolicyMap policy; |
| 123 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | 123 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| 124 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true), NULL); | 124 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true), NULL); |
| 125 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | 125 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| 126 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL), | 126 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL), |
| 127 NULL); | 127 NULL); |
| 128 UpdateProviderPolicy(policy); | 128 UpdateProviderPolicy(policy); |
| 129 | 129 |
| 130 const base::Value* value = NULL; | 130 const base::Value* temp = NULL; |
| 131 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 131 const base::DictionaryValue* dictionary; |
| 132 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); | 132 std::string value; |
| 133 const base::ListValue* list_value; |
| 134 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 135 temp->GetAsDictionary(&dictionary); |
| 133 | 136 |
| 134 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value)); | 137 // Name and keyword should be derived from host. |
| 135 EXPECT_TRUE(base::StringValue(kHostName).Equals(value)); | 138 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); |
| 139 EXPECT_EQ(kSearchURL, value); |
| 140 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); |
| 141 EXPECT_EQ(kHostName, value); |
| 142 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); |
| 143 EXPECT_EQ(kHostName, value); |
| 136 | 144 |
| 137 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | 145 // Everything else should be set to the default value. |
| 138 EXPECT_TRUE(base::StringValue(kHostName).Equals(value)); | |
| 139 | |
| 140 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, | |
| 141 &value)); | |
| 142 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 143 | |
| 144 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | |
| 145 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 146 | |
| 147 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | |
| 148 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 149 | |
| 150 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderInstantURL, | |
| 151 &value)); | |
| 152 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 153 | |
| 154 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, | |
| 155 &value)); | |
| 156 EXPECT_TRUE(base::ListValue().Equals(value)); | |
| 157 | |
| 158 EXPECT_TRUE( | 146 EXPECT_TRUE( |
| 159 store_->GetValue(prefs::kDefaultSearchProviderSearchTermsReplacementKey, | 147 dictionary->GetString(DefaultSearchManager::kSuggestionsURL, &value)); |
| 160 &value)); | 148 EXPECT_EQ(std::string(), value); |
| 161 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 149 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kFaviconURL, &value)); |
| 162 | 150 EXPECT_EQ(std::string(), value); |
| 163 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderImageURL, &value)); | |
| 164 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 165 | |
| 166 EXPECT_TRUE(store_->GetValue( | |
| 167 prefs::kDefaultSearchProviderSearchURLPostParams, &value)); | |
| 168 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 169 | |
| 170 EXPECT_TRUE(store_->GetValue( | |
| 171 prefs::kDefaultSearchProviderSuggestURLPostParams, &value)); | |
| 172 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 173 | |
| 174 EXPECT_TRUE(store_->GetValue( | |
| 175 prefs::kDefaultSearchProviderInstantURLPostParams, &value)); | |
| 176 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 177 | |
| 178 EXPECT_TRUE(store_->GetValue( | |
| 179 prefs::kDefaultSearchProviderImageURLPostParams, &value)); | |
| 180 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 181 | |
| 182 EXPECT_TRUE(store_->GetValue( | |
| 183 prefs::kDefaultSearchProviderNewTabURL, &value)); | |
| 184 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | |
| 185 } | |
| 186 | |
| 187 // Checks that for a fully defined search policy, all elements have been | |
| 188 // read properly. | |
| 189 TEST_F(DefaultSearchPolicyHandlerTest, FullyDefined) { | |
| 190 PolicyMap policy; | |
| 191 BuildDefaultSearchPolicy(&policy); | |
| 192 UpdateProviderPolicy(policy); | |
| 193 | |
| 194 const base::Value* value = NULL; | |
| 195 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | |
| 196 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); | |
| 197 | |
| 198 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value)); | |
| 199 EXPECT_TRUE(base::StringValue(kName).Equals(value)); | |
| 200 | |
| 201 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | |
| 202 EXPECT_TRUE(base::StringValue(kKeyword).Equals(value)); | |
| 203 | |
| 204 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, | |
| 205 &value)); | |
| 206 EXPECT_TRUE(base::StringValue(kSuggestURL).Equals(value)); | |
| 207 | |
| 208 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | |
| 209 EXPECT_TRUE(base::StringValue(kIconURL).Equals(value)); | |
| 210 | |
| 211 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | |
| 212 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value)); | |
| 213 | |
| 214 EXPECT_TRUE(store_->GetValue( | |
| 215 prefs::kDefaultSearchProviderAlternateURLs, &value)); | |
| 216 EXPECT_TRUE(default_alternate_urls_.Equals(value)); | |
| 217 | |
| 218 EXPECT_TRUE( | 151 EXPECT_TRUE( |
| 219 store_->GetValue(prefs::kDefaultSearchProviderSearchTermsReplacementKey, | 152 dictionary->GetList(DefaultSearchManager::kInputEncodings, &list_value)); |
| 220 &value)); | 153 EXPECT_TRUE(base::ListValue().Equals(list_value)); |
| 221 EXPECT_TRUE(base::StringValue(kReplacementKey).Equals(value)); | 154 EXPECT_TRUE( |
| 222 | 155 dictionary->GetList(DefaultSearchManager::kAlternateURLs, &list_value)); |
| 223 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderImageURL, &value)); | 156 EXPECT_TRUE(base::ListValue().Equals(list_value)); |
| 224 EXPECT_TRUE(base::StringValue(std::string(kImageURL)).Equals(value)); | 157 EXPECT_TRUE(dictionary->GetString( |
| 225 | 158 DefaultSearchManager::kSearchTermsReplacementKey, &value)); |
| 226 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderImageURLPostParams, | 159 EXPECT_EQ(std::string(), value); |
| 227 &value)); | 160 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kImageURL, &value)); |
| 228 EXPECT_TRUE(base::StringValue(std::string(kImageParams)).Equals(value)); | 161 EXPECT_EQ(std::string(), value); |
| 229 | 162 EXPECT_TRUE( |
| 230 EXPECT_TRUE(store_->GetValue( | 163 dictionary->GetString(DefaultSearchManager::kImageURLPostParams, &value)); |
| 231 prefs::kDefaultSearchProviderSearchURLPostParams, &value)); | 164 EXPECT_EQ(std::string(), value); |
| 232 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 165 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kSearchURLPostParams, |
| 233 | 166 &value)); |
| 234 EXPECT_TRUE(store_->GetValue( | 167 EXPECT_EQ(std::string(), value); |
| 235 prefs::kDefaultSearchProviderSuggestURLPostParams, &value)); | 168 EXPECT_TRUE(dictionary->GetString( |
| 236 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 169 DefaultSearchManager::kSuggestionsURLPostParams, &value)); |
| 237 | 170 EXPECT_EQ(std::string(), value); |
| 238 EXPECT_TRUE(store_->GetValue( | 171 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, |
| 239 prefs::kDefaultSearchProviderInstantURLPostParams, &value)); | 172 &value)); |
| 240 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 173 EXPECT_EQ(std::string(), value); |
| 241 } | |
| 242 | |
| 243 // Checks that if the default search policy is missing, that no elements of the | |
| 244 // default search policy will be present. | |
| 245 TEST_F(DefaultSearchPolicyHandlerTest, MissingUrl) { | |
| 246 PolicyMap policy; | |
| 247 BuildDefaultSearchPolicy(&policy); | |
| 248 policy.Erase(key::kDefaultSearchProviderSearchURL); | |
| 249 UpdateProviderPolicy(policy); | |
| 250 | |
| 251 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | |
| 252 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); | |
| 253 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | |
| 254 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | |
| 255 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | |
| 256 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | |
| 257 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, | |
| 258 NULL)); | |
| 259 EXPECT_FALSE(store_->GetValue( | |
| 260 prefs::kDefaultSearchProviderSearchTermsReplacementKey, NULL)); | |
| 261 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderImageURL, NULL)); | |
| 262 EXPECT_FALSE(store_->GetValue( | |
| 263 prefs::kDefaultSearchProviderImageURLPostParams, NULL)); | |
| 264 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderInstantURL, NULL)); | |
| 265 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderNewTabURL, NULL)); | |
| 266 } | |
| 267 | |
| 268 // Checks that if the default search policy is invalid, that no elements of the | |
| 269 // default search policy will be present. | |
| 270 TEST_F(DefaultSearchPolicyHandlerTest, Invalid) { | |
| 271 PolicyMap policy; | |
| 272 BuildDefaultSearchPolicy(&policy); | |
| 273 const char bad_search_url[] = "http://test.com/noSearchTerms"; | |
| 274 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | |
| 275 POLICY_SCOPE_USER, | |
| 276 base::Value::CreateStringValue(bad_search_url), NULL); | |
| 277 UpdateProviderPolicy(policy); | |
| 278 | |
| 279 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | |
| 280 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); | |
| 281 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | |
| 282 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | |
| 283 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | |
| 284 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | |
| 285 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, | |
| 286 NULL)); | |
| 287 EXPECT_FALSE(store_->GetValue( | |
| 288 prefs::kDefaultSearchProviderSearchTermsReplacementKey, NULL)); | |
| 289 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderImageURL, NULL)); | |
| 290 EXPECT_FALSE(store_->GetValue( | |
| 291 prefs::kDefaultSearchProviderImageURLPostParams, NULL)); | |
| 292 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderInstantURL, NULL)); | |
| 293 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderNewTabURL, NULL)); | |
| 294 } | |
| 295 | |
| 296 // Checks that if the default search policy is invalid, that no elements of the | |
| 297 // default search policy will be present. | |
| 298 TEST_F(DefaultSearchPolicyHandlerTest, Disabled) { | |
| 299 PolicyMap policy; | |
| 300 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | |
| 301 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false), NULL); | |
| 302 UpdateProviderPolicy(policy); | |
| 303 | |
| 304 const base::Value* value = NULL; | |
| 305 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); | |
| 306 base::FundamentalValue expected_enabled(false); | |
| 307 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); | |
| 308 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | |
| 309 base::StringValue expected_search_url((std::string())); | |
| 310 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); | |
| 311 } | 174 } |
| 312 | 175 |
| 313 // Checks that for a fully defined search policy, all elements have been | 176 // Checks that for a fully defined search policy, all elements have been |
| 314 // read properly into the dictionary pref. | 177 // read properly into the dictionary pref. |
| 315 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPref) { | 178 TEST_F(DefaultSearchPolicyHandlerTest,FullyDefined) { |
| 316 PolicyMap policy; | 179 PolicyMap policy; |
| 317 BuildDefaultSearchPolicy(&policy); | 180 BuildDefaultSearchPolicy(&policy); |
| 318 UpdateProviderPolicy(policy); | 181 UpdateProviderPolicy(policy); |
| 319 | 182 |
| 320 const base::Value* temp = NULL; | 183 const base::Value* temp = NULL; |
| 321 const base::DictionaryValue* dictionary; | 184 const base::DictionaryValue* dictionary; |
| 322 std::string value; | 185 std::string value; |
| 323 const base::ListValue* list_value; | 186 const base::ListValue* list_value; |
| 324 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | 187 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 325 temp->GetAsDictionary(&dictionary); | 188 temp->GetAsDictionary(&dictionary); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 | 229 |
| 367 EXPECT_TRUE(dictionary->GetString( | 230 EXPECT_TRUE(dictionary->GetString( |
| 368 DefaultSearchManager::kSuggestionsURLPostParams, &value)); | 231 DefaultSearchManager::kSuggestionsURLPostParams, &value)); |
| 369 EXPECT_EQ(std::string(), value); | 232 EXPECT_EQ(std::string(), value); |
| 370 | 233 |
| 371 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, | 234 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, |
| 372 &value)); | 235 &value)); |
| 373 EXPECT_EQ(std::string(), value); | 236 EXPECT_EQ(std::string(), value); |
| 374 } | 237 } |
| 375 | 238 |
| 376 // Checks that disabling default search is properly reflected the dictionary | 239 // Checks that if the default search policy is missing, that no elements of the |
| 377 // pref. | 240 // default search policy will be present. |
| 378 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPrefDSEDisabled) { | 241 TEST_F(DefaultSearchPolicyHandlerTest, MissingUrl) { |
| 242 PolicyMap policy; |
| 243 BuildDefaultSearchPolicy(&policy); |
| 244 policy.Erase(key::kDefaultSearchProviderSearchURL); |
| 245 UpdateProviderPolicy(policy); |
| 246 |
| 247 const base::Value* temp = NULL; |
| 248 EXPECT_FALSE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 249 } |
| 250 |
| 251 // Checks that if the default search policy is invalid, that no elements of the |
| 252 // default search policy will be present. |
| 253 TEST_F(DefaultSearchPolicyHandlerTest, Invalid) { |
| 254 PolicyMap policy; |
| 255 BuildDefaultSearchPolicy(&policy); |
| 256 const char bad_search_url[] = "http://test.com/noSearchTerms"; |
| 257 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| 258 POLICY_SCOPE_USER, |
| 259 base::Value::CreateStringValue(bad_search_url), NULL); |
| 260 UpdateProviderPolicy(policy); |
| 261 |
| 262 const base::Value* temp = NULL; |
| 263 EXPECT_FALSE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 264 } |
| 265 |
| 266 // Checks that disabling default search is properly reflected in the pref. |
| 267 TEST_F(DefaultSearchPolicyHandlerTest, Disabled) { |
| 379 PolicyMap policy; | 268 PolicyMap policy; |
| 380 policy.Set(key::kDefaultSearchProviderEnabled, | 269 policy.Set(key::kDefaultSearchProviderEnabled, |
| 381 POLICY_LEVEL_MANDATORY, | 270 POLICY_LEVEL_MANDATORY, |
| 382 POLICY_SCOPE_USER, | 271 POLICY_SCOPE_USER, |
| 383 base::Value::CreateBooleanValue(false), | 272 base::Value::CreateBooleanValue(false), |
| 384 NULL); | 273 NULL); |
| 385 UpdateProviderPolicy(policy); | 274 UpdateProviderPolicy(policy); |
| 386 const base::Value* temp = NULL; | 275 const base::Value* temp = NULL; |
| 387 const base::DictionaryValue* dictionary; | 276 const base::DictionaryValue* dictionary; |
| 388 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | 277 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 389 temp->GetAsDictionary(&dictionary); | 278 temp->GetAsDictionary(&dictionary); |
| 390 bool disabled = false; | 279 bool disabled = false; |
| 391 EXPECT_TRUE(dictionary->GetBoolean(DefaultSearchManager::kDisabledByPolicy, | 280 EXPECT_TRUE(dictionary->GetBoolean(DefaultSearchManager::kDisabledByPolicy, |
| 392 &disabled)); | 281 &disabled)); |
| 393 EXPECT_TRUE(disabled); | 282 EXPECT_TRUE(disabled); |
| 394 } | 283 } |
| 395 | 284 |
| 396 // Checks that if the policy for default search is valid, i.e. there's a | 285 // Checks that setting a file URL as the default search is reflected properly in |
| 397 // search URL, that all the elements have been given proper defaults. | 286 // the pref. |
| 398 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPrefMinimallyDefined) { | 287 TEST_F(DefaultSearchPolicyHandlerTest, FileURL) { |
| 399 PolicyMap policy; | 288 PolicyMap policy; |
| 400 policy.Set(key::kDefaultSearchProviderEnabled, | 289 policy.Set(key::kDefaultSearchProviderEnabled, |
| 401 POLICY_LEVEL_MANDATORY, | 290 POLICY_LEVEL_MANDATORY, |
| 402 POLICY_SCOPE_USER, | |
| 403 base::Value::CreateBooleanValue(true), | |
| 404 NULL); | |
| 405 policy.Set(key::kDefaultSearchProviderSearchURL, | |
| 406 POLICY_LEVEL_MANDATORY, | |
| 407 POLICY_SCOPE_USER, | |
| 408 base::Value::CreateStringValue(kSearchURL), | |
| 409 NULL); | |
| 410 UpdateProviderPolicy(policy); | |
| 411 | |
| 412 const base::Value* temp = NULL; | |
| 413 const base::DictionaryValue* dictionary; | |
| 414 std::string value; | |
| 415 const base::ListValue* list_value; | |
| 416 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | |
| 417 temp->GetAsDictionary(&dictionary); | |
| 418 | |
| 419 // Name and keyword should be derived from host. | |
| 420 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); | |
| 421 EXPECT_EQ(kSearchURL, value); | |
| 422 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); | |
| 423 EXPECT_EQ(kHostName, value); | |
| 424 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); | |
| 425 EXPECT_EQ(kHostName, value); | |
| 426 | |
| 427 // Everything else should be set to the default value. | |
| 428 EXPECT_TRUE( | |
| 429 dictionary->GetString(DefaultSearchManager::kSuggestionsURL, &value)); | |
| 430 EXPECT_EQ(std::string(), value); | |
| 431 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kFaviconURL, &value)); | |
| 432 EXPECT_EQ(std::string(), value); | |
| 433 EXPECT_TRUE( | |
| 434 dictionary->GetList(DefaultSearchManager::kInputEncodings, &list_value)); | |
| 435 EXPECT_TRUE(base::ListValue().Equals(list_value)); | |
| 436 EXPECT_TRUE( | |
| 437 dictionary->GetList(DefaultSearchManager::kAlternateURLs, &list_value)); | |
| 438 EXPECT_TRUE(base::ListValue().Equals(list_value)); | |
| 439 EXPECT_TRUE(dictionary->GetString( | |
| 440 DefaultSearchManager::kSearchTermsReplacementKey, &value)); | |
| 441 EXPECT_EQ(std::string(), value); | |
| 442 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kImageURL, &value)); | |
| 443 EXPECT_EQ(std::string(), value); | |
| 444 EXPECT_TRUE( | |
| 445 dictionary->GetString(DefaultSearchManager::kImageURLPostParams, &value)); | |
| 446 EXPECT_EQ(std::string(), value); | |
| 447 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kSearchURLPostParams, | |
| 448 &value)); | |
| 449 EXPECT_EQ(std::string(), value); | |
| 450 EXPECT_TRUE(dictionary->GetString( | |
| 451 DefaultSearchManager::kSuggestionsURLPostParams, &value)); | |
| 452 EXPECT_EQ(std::string(), value); | |
| 453 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, | |
| 454 &value)); | |
| 455 EXPECT_EQ(std::string(), value); | |
| 456 } | |
| 457 | |
| 458 // Checks that setting a file URL as the default search is reflected properly in | |
| 459 // the dictionary pref. | |
| 460 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPrefFileURL) { | |
| 461 PolicyMap policy; | |
| 462 policy.Set(key::kDefaultSearchProviderEnabled, | |
| 463 POLICY_LEVEL_MANDATORY, | |
| 464 POLICY_SCOPE_USER, | 291 POLICY_SCOPE_USER, |
| 465 base::Value::CreateBooleanValue(true), | 292 base::Value::CreateBooleanValue(true), |
| 466 NULL); | 293 NULL); |
| 467 policy.Set(key::kDefaultSearchProviderSearchURL, | 294 policy.Set(key::kDefaultSearchProviderSearchURL, |
| 468 POLICY_LEVEL_MANDATORY, | 295 POLICY_LEVEL_MANDATORY, |
| 469 POLICY_SCOPE_USER, | 296 POLICY_SCOPE_USER, |
| 470 base::Value::CreateStringValue(kFileSearchURL), | 297 base::Value::CreateStringValue(kFileSearchURL), |
| 471 NULL); | 298 NULL); |
| 472 UpdateProviderPolicy(policy); | 299 UpdateProviderPolicy(policy); |
| 473 | 300 |
| 474 const base::Value* temp = NULL; | 301 const base::Value* temp = NULL; |
| 475 const base::DictionaryValue* dictionary; | 302 const base::DictionaryValue* dictionary; |
| 476 std::string value; | 303 std::string value; |
| 477 | 304 |
| 478 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | 305 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 479 temp->GetAsDictionary(&dictionary); | 306 temp->GetAsDictionary(&dictionary); |
| 480 | 307 |
| 481 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); | 308 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); |
| 482 EXPECT_EQ(kFileSearchURL, value); | 309 EXPECT_EQ(kFileSearchURL, value); |
| 483 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); | 310 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); |
| 484 EXPECT_EQ("_", value); | 311 EXPECT_EQ("_", value); |
| 485 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); | 312 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); |
| 486 EXPECT_EQ("_", value); | 313 EXPECT_EQ("_", value); |
| 487 } | 314 } |
| 488 } // namespace policy | 315 } // namespace policy |
| OLD | NEW |