| Index: components/search_engines/default_search_manager_unittest.cc
|
| diff --git a/components/search_engines/default_search_manager_unittest.cc b/components/search_engines/default_search_manager_unittest.cc
|
| index f2a58e6c904f2ef9d760821df29c3521f9b917e6..bfe2ad4e9c4cde320d4198148cbe6a04269344a1 100644
|
| --- a/components/search_engines/default_search_manager_unittest.cc
|
| +++ b/components/search_engines/default_search_manager_unittest.cc
|
| @@ -17,6 +17,7 @@
|
| #include "components/pref_registry/pref_registry_syncable.h"
|
| #include "components/pref_registry/testing_pref_service_syncable.h"
|
| #include "components/search_engines/search_engines_pref_names.h"
|
| +#include "components/search_engines/search_engines_test_util.h"
|
| #include "components/search_engines/template_url_data.h"
|
| #include "components/search_engines/template_url_data_util.h"
|
| #include "components/search_engines/template_url_prepopulate_data.h"
|
| @@ -29,25 +30,6 @@ namespace {
|
| const char kDefaultSearchProviderData[] =
|
| "default_search_provider_data.template_url_data";
|
|
|
| -// Checks that the two TemplateURLs are similar. Does not check the id, the
|
| -// date_created or the last_modified time. Neither pointer should be NULL.
|
| -void ExpectSimilar(const TemplateURLData* expected,
|
| - const TemplateURLData* actual) {
|
| - ASSERT_TRUE(expected != NULL);
|
| - ASSERT_TRUE(actual != NULL);
|
| -
|
| - EXPECT_EQ(expected->short_name(), actual->short_name());
|
| - EXPECT_EQ(expected->keyword(), actual->keyword());
|
| - EXPECT_EQ(expected->url(), actual->url());
|
| - EXPECT_EQ(expected->suggestions_url, actual->suggestions_url);
|
| - EXPECT_EQ(expected->favicon_url, actual->favicon_url);
|
| - EXPECT_EQ(expected->alternate_urls, actual->alternate_urls);
|
| - EXPECT_EQ(expected->safe_for_autoreplace, actual->safe_for_autoreplace);
|
| - EXPECT_EQ(expected->input_encodings, actual->input_encodings);
|
| - EXPECT_EQ(expected->search_terms_replacement_key,
|
| - actual->search_terms_replacement_key);
|
| -}
|
| -
|
| // TODO(caitkp): TemplateURLData-ify this.
|
| void SetOverrides(user_prefs::TestingPrefServiceSyncable* prefs, bool update) {
|
| prefs->SetUserPref(prefs::kSearchProviderOverridesVersion,
|
| @@ -96,22 +78,12 @@ void SetPolicy(user_prefs::TestingPrefServiceSyncable* prefs,
|
| prefs->SetManagedPref(kDefaultSearchProviderData, entry.release());
|
| }
|
|
|
| -std::unique_ptr<TemplateURLData> GenerateDummyTemplateURLData(
|
| - const std::string& type) {
|
| - std::unique_ptr<TemplateURLData> data(new TemplateURLData());
|
| - data->SetShortName(base::UTF8ToUTF16(std::string(type).append("name")));
|
| - data->SetKeyword(base::UTF8ToUTF16(std::string(type).append("key")));
|
| - data->SetURL(std::string("http://").append(type).append("foo/{searchTerms}"));
|
| - data->suggestions_url = std::string("http://").append(type).append("sugg");
|
| - data->alternate_urls.push_back(
|
| - std::string("http://").append(type).append("foo/alt"));
|
| - data->favicon_url = GURL("http://icon1");
|
| - data->safe_for_autoreplace = true;
|
| - data->input_encodings = base::SplitString(
|
| - "UTF-8;UTF-16", ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
|
| - data->date_created = base::Time();
|
| - data->last_modified = base::Time();
|
| - return data;
|
| +void SetExtensionControlledDefaultSearchEngine(
|
| + user_prefs::TestingPrefServiceSyncable* prefs,
|
| + const TemplateURLData& data) {
|
| + std::unique_ptr<base::DictionaryValue> entry(
|
| + TemplateURLDataToDictionary(data));
|
| + prefs->SetExtensionPref(kDefaultSearchProviderData, entry.release());
|
| }
|
|
|
| } // namespace
|
| @@ -262,43 +234,34 @@ TEST_F(DefaultSearchManagerTest, DefaultSearchSetByExtension) {
|
| DefaultSearchManager::ObserverCallback());
|
| std::unique_ptr<TemplateURLData> data = GenerateDummyTemplateURLData("user");
|
| manager.SetUserSelectedDefaultSearchEngine(*data);
|
| -
|
| DefaultSearchManager::Source source = DefaultSearchManager::FROM_FALLBACK;
|
| ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_USER, source);
|
| -
|
| // Extension trumps prefs:
|
| std::unique_ptr<TemplateURLData> extension_data_1 =
|
| GenerateDummyTemplateURLData("ext1");
|
| - manager.SetExtensionControlledDefaultSearchEngine(*extension_data_1);
|
| -
|
| + SetExtensionControlledDefaultSearchEngine(pref_service(), *extension_data_1);
|
| ExpectSimilar(extension_data_1.get(),
|
| manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_EXTENSION, source);
|
| -
|
| // Policy trumps extension:
|
| std::unique_ptr<TemplateURLData> policy_data =
|
| GenerateDummyTemplateURLData("policy");
|
| SetPolicy(pref_service(), true, policy_data.get());
|
| -
|
| ExpectSimilar(policy_data.get(), manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_POLICY, source);
|
| pref_service()->RemoveManagedPref(kDefaultSearchProviderData);
|
| -
|
| // Extensions trump each other:
|
| std::unique_ptr<TemplateURLData> extension_data_2 =
|
| GenerateDummyTemplateURLData("ext2");
|
| std::unique_ptr<TemplateURLData> extension_data_3 =
|
| GenerateDummyTemplateURLData("ext3");
|
| - manager.SetExtensionControlledDefaultSearchEngine(*extension_data_2);
|
| - manager.SetExtensionControlledDefaultSearchEngine(*extension_data_3);
|
| -
|
| + SetExtensionControlledDefaultSearchEngine(pref_service(), *extension_data_2);
|
| + SetExtensionControlledDefaultSearchEngine(pref_service(), *extension_data_3);
|
| ExpectSimilar(extension_data_3.get(),
|
| manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_EXTENSION, source);
|
| -
|
| - manager.ClearExtensionControlledDefaultSearchEngine();
|
| -
|
| + pref_service()->RemoveExtensionPref(kDefaultSearchProviderData);
|
| ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_USER, source);
|
| }
|
|
|