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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 base::Value::CreateStringValue(kImageParams), NULL); | 113 base::Value::CreateStringValue(kImageParams), NULL); |
114 policy->Set(key::kDefaultSearchProviderNewTabURL, | 114 policy->Set(key::kDefaultSearchProviderNewTabURL, |
115 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 115 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
116 base::Value::CreateStringValue(kNewTabURL), NULL); | 116 base::Value::CreateStringValue(kNewTabURL), NULL); |
117 } | 117 } |
118 | 118 |
119 // Checks that if the policy for default search is valid, i.e. there's a | 119 // Checks that if the policy for default search is valid, i.e. there's a |
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, |
124 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true), NULL); | 124 POLICY_LEVEL_MANDATORY, |
125 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | 125 POLICY_SCOPE_USER, |
126 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL), | 126 base::Value::CreateBooleanValue(true), |
| 127 NULL); |
| 128 policy.Set(key::kDefaultSearchProviderSearchURL, |
| 129 POLICY_LEVEL_MANDATORY, |
| 130 POLICY_SCOPE_USER, |
| 131 base::Value::CreateStringValue(kSearchURL), |
127 NULL); | 132 NULL); |
128 UpdateProviderPolicy(policy); | 133 UpdateProviderPolicy(policy); |
129 | 134 |
130 const base::Value* value = NULL; | 135 const base::Value* temp = NULL; |
131 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 136 const base::DictionaryValue* dictionary; |
132 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); | 137 std::string value; |
| 138 const base::ListValue* list_value; |
| 139 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 140 temp->GetAsDictionary(&dictionary); |
133 | 141 |
134 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value)); | 142 // Name and keyword should be derived from host. |
135 EXPECT_TRUE(base::StringValue(kHostName).Equals(value)); | 143 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); |
| 144 EXPECT_EQ(kSearchURL, value); |
| 145 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); |
| 146 EXPECT_EQ(kHostName, value); |
| 147 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); |
| 148 EXPECT_EQ(kHostName, value); |
136 | 149 |
137 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | 150 // 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( | 151 EXPECT_TRUE( |
159 store_->GetValue(prefs::kDefaultSearchProviderSearchTermsReplacementKey, | 152 dictionary->GetString(DefaultSearchManager::kSuggestionsURL, &value)); |
160 &value)); | 153 EXPECT_EQ(std::string(), value); |
161 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 154 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kFaviconURL, &value)); |
162 | 155 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( | 156 EXPECT_TRUE( |
219 store_->GetValue(prefs::kDefaultSearchProviderSearchTermsReplacementKey, | 157 dictionary->GetList(DefaultSearchManager::kInputEncodings, &list_value)); |
220 &value)); | 158 EXPECT_TRUE(base::ListValue().Equals(list_value)); |
221 EXPECT_TRUE(base::StringValue(kReplacementKey).Equals(value)); | 159 EXPECT_TRUE( |
222 | 160 dictionary->GetList(DefaultSearchManager::kAlternateURLs, &list_value)); |
223 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderImageURL, &value)); | 161 EXPECT_TRUE(base::ListValue().Equals(list_value)); |
224 EXPECT_TRUE(base::StringValue(std::string(kImageURL)).Equals(value)); | 162 EXPECT_TRUE(dictionary->GetString( |
225 | 163 DefaultSearchManager::kSearchTermsReplacementKey, &value)); |
226 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderImageURLPostParams, | 164 EXPECT_EQ(std::string(), value); |
227 &value)); | 165 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kImageURL, &value)); |
228 EXPECT_TRUE(base::StringValue(std::string(kImageParams)).Equals(value)); | 166 EXPECT_EQ(std::string(), value); |
229 | 167 EXPECT_TRUE( |
230 EXPECT_TRUE(store_->GetValue( | 168 dictionary->GetString(DefaultSearchManager::kImageURLPostParams, &value)); |
231 prefs::kDefaultSearchProviderSearchURLPostParams, &value)); | 169 EXPECT_EQ(std::string(), value); |
232 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 170 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kSearchURLPostParams, |
233 | 171 &value)); |
234 EXPECT_TRUE(store_->GetValue( | 172 EXPECT_EQ(std::string(), value); |
235 prefs::kDefaultSearchProviderSuggestURLPostParams, &value)); | 173 EXPECT_TRUE(dictionary->GetString( |
236 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 174 DefaultSearchManager::kSuggestionsURLPostParams, &value)); |
237 | 175 EXPECT_EQ(std::string(), value); |
238 EXPECT_TRUE(store_->GetValue( | 176 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, |
239 prefs::kDefaultSearchProviderInstantURLPostParams, &value)); | 177 &value)); |
240 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); | 178 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 } | 179 } |
312 | 180 |
313 // Checks that for a fully defined search policy, all elements have been | 181 // Checks that for a fully defined search policy, all elements have been |
314 // read properly into the dictionary pref. | 182 // read properly into the dictionary pref. |
315 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPref) { | 183 TEST_F(DefaultSearchPolicyHandlerTest,FullyDefined) { |
316 PolicyMap policy; | 184 PolicyMap policy; |
317 BuildDefaultSearchPolicy(&policy); | 185 BuildDefaultSearchPolicy(&policy); |
318 UpdateProviderPolicy(policy); | 186 UpdateProviderPolicy(policy); |
319 | 187 |
320 const base::Value* temp = NULL; | 188 const base::Value* temp = NULL; |
321 const base::DictionaryValue* dictionary; | 189 const base::DictionaryValue* dictionary; |
322 std::string value; | 190 std::string value; |
323 const base::ListValue* list_value; | 191 const base::ListValue* list_value; |
324 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | 192 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
325 temp->GetAsDictionary(&dictionary); | 193 temp->GetAsDictionary(&dictionary); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 | 234 |
367 EXPECT_TRUE(dictionary->GetString( | 235 EXPECT_TRUE(dictionary->GetString( |
368 DefaultSearchManager::kSuggestionsURLPostParams, &value)); | 236 DefaultSearchManager::kSuggestionsURLPostParams, &value)); |
369 EXPECT_EQ(std::string(), value); | 237 EXPECT_EQ(std::string(), value); |
370 | 238 |
371 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, | 239 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, |
372 &value)); | 240 &value)); |
373 EXPECT_EQ(std::string(), value); | 241 EXPECT_EQ(std::string(), value); |
374 } | 242 } |
375 | 243 |
376 // Checks that disabling default search is properly reflected the dictionary | 244 // Checks that if the default search policy is missing, that no elements of the |
377 // pref. | 245 // default search policy will be present. |
378 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPrefDSEDisabled) { | 246 TEST_F(DefaultSearchPolicyHandlerTest, MissingUrl) { |
| 247 PolicyMap policy; |
| 248 BuildDefaultSearchPolicy(&policy); |
| 249 policy.Erase(key::kDefaultSearchProviderSearchURL); |
| 250 UpdateProviderPolicy(policy); |
| 251 |
| 252 const base::Value* temp = NULL; |
| 253 EXPECT_FALSE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 254 } |
| 255 |
| 256 // Checks that if the default search policy is invalid, that no elements of the |
| 257 // default search policy will be present. |
| 258 TEST_F(DefaultSearchPolicyHandlerTest, Invalid) { |
| 259 PolicyMap policy; |
| 260 BuildDefaultSearchPolicy(&policy); |
| 261 const char bad_search_url[] = "http://test.com/noSearchTerms"; |
| 262 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| 263 POLICY_SCOPE_USER, |
| 264 base::Value::CreateStringValue(bad_search_url), NULL); |
| 265 UpdateProviderPolicy(policy); |
| 266 |
| 267 const base::Value* temp = NULL; |
| 268 EXPECT_FALSE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
| 269 } |
| 270 |
| 271 // Checks that disabling default search is properly reflected in the pref. |
| 272 TEST_F(DefaultSearchPolicyHandlerTest, Disabled) { |
379 PolicyMap policy; | 273 PolicyMap policy; |
380 policy.Set(key::kDefaultSearchProviderEnabled, | 274 policy.Set(key::kDefaultSearchProviderEnabled, |
381 POLICY_LEVEL_MANDATORY, | 275 POLICY_LEVEL_MANDATORY, |
382 POLICY_SCOPE_USER, | 276 POLICY_SCOPE_USER, |
383 base::Value::CreateBooleanValue(false), | 277 base::Value::CreateBooleanValue(false), |
384 NULL); | 278 NULL); |
385 UpdateProviderPolicy(policy); | 279 UpdateProviderPolicy(policy); |
386 const base::Value* temp = NULL; | 280 const base::Value* temp = NULL; |
387 const base::DictionaryValue* dictionary; | 281 const base::DictionaryValue* dictionary; |
388 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | 282 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
389 temp->GetAsDictionary(&dictionary); | 283 temp->GetAsDictionary(&dictionary); |
390 bool disabled = false; | 284 bool disabled = false; |
391 EXPECT_TRUE(dictionary->GetBoolean(DefaultSearchManager::kDisabledByPolicy, | 285 EXPECT_TRUE(dictionary->GetBoolean(DefaultSearchManager::kDisabledByPolicy, |
392 &disabled)); | 286 &disabled)); |
393 EXPECT_TRUE(disabled); | 287 EXPECT_TRUE(disabled); |
394 } | 288 } |
395 | 289 |
396 // Checks that if the policy for default search is valid, i.e. there's a | 290 // 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. | 291 // the pref. |
398 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPrefMinimallyDefined) { | 292 TEST_F(DefaultSearchPolicyHandlerTest, FileURL) { |
399 PolicyMap policy; | 293 PolicyMap policy; |
400 policy.Set(key::kDefaultSearchProviderEnabled, | 294 policy.Set(key::kDefaultSearchProviderEnabled, |
401 POLICY_LEVEL_MANDATORY, | 295 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, | 296 POLICY_SCOPE_USER, |
465 base::Value::CreateBooleanValue(true), | 297 base::Value::CreateBooleanValue(true), |
466 NULL); | 298 NULL); |
467 policy.Set(key::kDefaultSearchProviderSearchURL, | 299 policy.Set(key::kDefaultSearchProviderSearchURL, |
468 POLICY_LEVEL_MANDATORY, | 300 POLICY_LEVEL_MANDATORY, |
469 POLICY_SCOPE_USER, | 301 POLICY_SCOPE_USER, |
470 base::Value::CreateStringValue(kFileSearchURL), | 302 base::Value::CreateStringValue(kFileSearchURL), |
471 NULL); | 303 NULL); |
472 UpdateProviderPolicy(policy); | 304 UpdateProviderPolicy(policy); |
473 | 305 |
474 const base::Value* temp = NULL; | 306 const base::Value* temp = NULL; |
475 const base::DictionaryValue* dictionary; | 307 const base::DictionaryValue* dictionary; |
476 std::string value; | 308 std::string value; |
477 | 309 |
478 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | 310 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); |
479 temp->GetAsDictionary(&dictionary); | 311 temp->GetAsDictionary(&dictionary); |
480 | 312 |
481 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); | 313 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); |
482 EXPECT_EQ(kFileSearchURL, value); | 314 EXPECT_EQ(kFileSearchURL, value); |
483 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); | 315 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); |
484 EXPECT_EQ("_", value); | 316 EXPECT_EQ("_", value); |
485 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); | 317 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); |
486 EXPECT_EQ("_", value); | 318 EXPECT_EQ("_", value); |
487 } | 319 } |
488 } // namespace policy | 320 } // namespace policy |
OLD | NEW |