| 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 080222322234ace4a0e259dca647702f5696baeb..a8611d775e2bb715b93ac00bce9269858992aa4b 100644
|
| --- a/components/search_engines/default_search_manager_unittest.cc
|
| +++ b/components/search_engines/default_search_manager_unittest.cc
|
| @@ -15,9 +15,7 @@
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "base/time/time.h"
|
| #include "components/pref_registry/pref_registry_syncable.h"
|
| -#include "components/search_engines/default_search_manager.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"
|
| @@ -25,6 +23,30 @@
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace {
|
| +// A dictionary to hold all data related to the Default Search Engine.
|
| +// Eventually, this should replace all the data stored in the
|
| +// default_search_provider.* prefs.
|
| +const char kDefaultSearchProviderData[] =
|
| + "default_search_provider_data.template_url_data";
|
| +
|
| +// Checks that the two TemplateURLs are similar. Does not check the id or
|
| +// any time-related fields. 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(sync_preferences::TestingPrefServiceSyncable* prefs,
|
| @@ -72,9 +94,26 @@
|
| std::unique_ptr<base::DictionaryValue> entry(
|
| TemplateURLDataToDictionary(*data));
|
| entry->SetBoolean(DefaultSearchManager::kDisabledByPolicy, !enabled);
|
| - prefs->SetManagedPref(
|
| - DefaultSearchManager::kDefaultSearchProviderDataPrefName,
|
| - entry.release());
|
| + 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();
|
| + data->last_visited = base::Time();
|
| + return data;
|
| }
|
|
|
| } // namespace
|
| @@ -215,8 +254,7 @@
|
| EXPECT_EQ(NULL, manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_POLICY, source);
|
|
|
| - pref_service()->RemoveManagedPref(
|
| - DefaultSearchManager::kDefaultSearchProviderDataPrefName);
|
| + pref_service()->RemoveManagedPref(kDefaultSearchProviderData);
|
| ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_USER, source);
|
| }
|
| @@ -235,7 +273,8 @@
|
| // Extension trumps prefs:
|
| std::unique_ptr<TemplateURLData> extension_data_1 =
|
| GenerateDummyTemplateURLData("ext1");
|
| - SetExtensionDefaultSearchInPrefs(pref_service(), *extension_data_1);
|
| + manager.SetExtensionControlledDefaultSearchEngine(*extension_data_1);
|
| +
|
| ExpectSimilar(extension_data_1.get(),
|
| manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_EXTENSION, source);
|
| @@ -247,22 +286,22 @@
|
|
|
| ExpectSimilar(policy_data.get(), manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_POLICY, source);
|
| - pref_service()->RemoveManagedPref(
|
| - DefaultSearchManager::kDefaultSearchProviderDataPrefName);
|
| + 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");
|
| -
|
| - SetExtensionDefaultSearchInPrefs(pref_service(), *extension_data_2);
|
| - SetExtensionDefaultSearchInPrefs(pref_service(), *extension_data_3);
|
| + manager.SetExtensionControlledDefaultSearchEngine(*extension_data_2);
|
| + manager.SetExtensionControlledDefaultSearchEngine(*extension_data_3);
|
| +
|
| ExpectSimilar(extension_data_3.get(),
|
| manager.GetDefaultSearchEngine(&source));
|
| EXPECT_EQ(DefaultSearchManager::FROM_EXTENSION, source);
|
|
|
| - RemoveExtensionDefaultSearchFromPrefs(pref_service());
|
| - ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
|
| - EXPECT_EQ(DefaultSearchManager::FROM_USER, source);
|
| -}
|
| + manager.ClearExtensionControlledDefaultSearchEngine();
|
| +
|
| + ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
|
| + EXPECT_EQ(DefaultSearchManager::FROM_USER, source);
|
| +}
|
|
|