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_policy_handler.h" | 7 #include "chrome/browser/search_engines/default_search_policy_handler.h" |
7 #include "chrome/common/pref_names.h" | 8 #include "chrome/common/pref_names.h" |
8 #include "components/policy/core/browser/configuration_policy_pref_store.h" | 9 #include "components/policy/core/browser/configuration_policy_pref_store.h" |
9 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" | 10 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" |
10 #include "policy/policy_constants.h" | 11 #include "policy/policy_constants.h" |
11 | 12 |
13 namespace { | |
14 // TODO(caitkp): Should we find a way to route this through DefaultSearchManager | |
15 // to avoid hardcoding this here? | |
16 const char kDefaultSearchProviderData[] = | |
17 "default_search_provider_data.template_url_data"; | |
18 } // namespace | |
19 | |
12 namespace policy { | 20 namespace policy { |
13 | 21 |
14 class DefaultSearchPolicyHandlerTest | 22 class DefaultSearchPolicyHandlerTest |
15 : public ConfigurationPolicyPrefStoreTest { | 23 : public ConfigurationPolicyPrefStoreTest { |
16 public: | 24 public: |
17 DefaultSearchPolicyHandlerTest() { | 25 DefaultSearchPolicyHandlerTest() { |
18 default_alternate_urls_.AppendString( | 26 default_alternate_urls_.AppendString( |
19 "http://www.google.com/#q={searchTerms}"); | 27 "http://www.google.com/#q={searchTerms}"); |
20 default_alternate_urls_.AppendString( | 28 default_alternate_urls_.AppendString( |
21 "http://www.google.com/search#q={searchTerms}"); | 29 "http://www.google.com/search#q={searchTerms}"); |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
290 | 298 |
291 const base::Value* value = NULL; | 299 const base::Value* value = NULL; |
292 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); | 300 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); |
293 base::FundamentalValue expected_enabled(false); | 301 base::FundamentalValue expected_enabled(false); |
294 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); | 302 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); |
295 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 303 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
296 base::StringValue expected_search_url((std::string())); | 304 base::StringValue expected_search_url((std::string())); |
297 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); | 305 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); |
298 } | 306 } |
299 | 307 |
308 // Checks that for a fully defined search policy, all elements have been | |
309 // read properly into the dictionary pref. | |
310 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPref) { | |
311 PolicyMap policy; | |
312 BuildDefaultSearchPolicy(&policy); | |
313 UpdateProviderPolicy(policy); | |
314 | |
315 const base::Value* temp = NULL; | |
316 const base::DictionaryValue* dictionary; | |
317 std::string value; | |
318 const base::ListValue* list_value; | |
319 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | |
320 temp->GetAsDictionary(&dictionary); | |
321 | |
322 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kURL, &value)); | |
323 EXPECT_EQ(kSearchURL, value); | |
324 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kShortName, &value)); | |
325 EXPECT_EQ(kName, value); | |
326 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kKeyword, &value)); | |
327 EXPECT_EQ(kKeyword, value); | |
328 | |
329 EXPECT_TRUE( | |
330 dictionary->GetString(DefaultSearchManager::kSuggestionsURL, &value)); | |
331 EXPECT_EQ(kSuggestURL, value); | |
332 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kFaviconURL, &value)); | |
333 EXPECT_EQ(kIconURL, value); | |
334 | |
335 base::ListValue encodings; | |
336 encodings.AppendString("UTF-16"); | |
337 encodings.AppendString("UTF-8"); | |
338 | |
339 EXPECT_TRUE( | |
340 dictionary->GetList(DefaultSearchManager::kInputEncodings, &list_value)); | |
341 EXPECT_TRUE(encodings.Equals(list_value)); | |
342 | |
343 EXPECT_TRUE( | |
344 dictionary->GetList(DefaultSearchManager::kAlternateURLs, &list_value)); | |
345 EXPECT_TRUE(default_alternate_urls_.Equals(list_value)); | |
346 | |
347 EXPECT_TRUE(dictionary->GetString( | |
348 DefaultSearchManager::kSearchTermsReplacementKey, &value)); | |
349 EXPECT_EQ(kReplacementKey, value); | |
350 | |
351 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kImageURL, &value)); | |
352 EXPECT_EQ(kImageURL, value); | |
353 | |
354 EXPECT_TRUE( | |
355 dictionary->GetString(DefaultSearchManager::kImageURLPostParams, &value)); | |
356 EXPECT_EQ(kImageParams, value); | |
357 | |
358 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kSearchURLPostParams, | |
359 &value)); | |
360 EXPECT_EQ(std::string(), value); | |
361 | |
362 EXPECT_TRUE(dictionary->GetString( | |
363 DefaultSearchManager::kSuggestionsURLPostParams, &value)); | |
364 EXPECT_EQ(std::string(), value); | |
365 | |
366 EXPECT_TRUE(dictionary->GetString(DefaultSearchManager::kInstantURLPostParams, | |
367 &value)); | |
368 EXPECT_EQ(std::string(), value); | |
369 } | |
370 | |
371 // Checks that disabling default search is properly reflected the dictionary | |
372 // pref. | |
373 TEST_F(DefaultSearchPolicyHandlerTest, DictionaryPrefDSEDisabled) { | |
374 PolicyMap policy; | |
375 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | |
376 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false), NULL); | |
Peter Kasting
2014/04/29 01:47:32
Nit: Indenting
Cait (Slow)
2014/04/29 17:14:51
Done.
| |
377 UpdateProviderPolicy(policy); | |
378 const base::Value* temp = NULL; | |
379 const base::DictionaryValue* dictionary; | |
380 EXPECT_TRUE(store_->GetValue(kDefaultSearchProviderData, &temp)); | |
381 temp->GetAsDictionary(&dictionary); | |
382 bool disabled = false; | |
383 EXPECT_TRUE(dictionary->GetBoolean(DefaultSearchManager::kDisabledByPolicy, | |
384 &disabled)); | |
385 EXPECT_TRUE(disabled); | |
386 | |
387 } | |
300 } // namespace policy | 388 } // namespace policy |
OLD | NEW |