Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(427)

Unified Diff: chrome/browser/search_engines/default_search_manager_unittest.cc

Issue 268643002: Use the DefaultSearchManager as the exclusive authority on DSE, ignoring Web Data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nearly all non-sync tests pass. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/search_engines/default_search_manager_unittest.cc
diff --git a/chrome/browser/search_engines/default_search_manager_unittest.cc b/chrome/browser/search_engines/default_search_manager_unittest.cc
index cfa6e5e0fd1f25e4beed6aa9dd667fafca9ce86e..c18a13a19caac2ab8ce47db7806be4487be5fe0e 100644
--- a/chrome/browser/search_engines/default_search_manager_unittest.cc
+++ b/chrome/browser/search_engines/default_search_manager_unittest.cc
@@ -153,59 +153,81 @@ class DefaultSearchManagerTest : public testing::Test {
DISALLOW_COPY_AND_ASSIGN(DefaultSearchManagerTest);
};
+// Test that a TemplateURLData object is properly written and read from Prefs.
+TEST_F(DefaultSearchManagerTest, ReadAndWritePref) {
+ DefaultSearchManager manager(pref_service(),
+ DefaultSearchManager::ObserverCallback());
+ TemplateURLData data;
+ data.short_name = base::UTF8ToUTF16("name1");
+ data.SetKeyword(base::UTF8ToUTF16("key1"));
+ data.SetURL("http://foo1/{searchTerms}");
+ data.suggestions_url = "http://sugg1";
+ data.alternate_urls.push_back("http://foo1/alt");
+ data.favicon_url = GURL("http://icon1");
+ data.safe_for_autoreplace = true;
+ data.show_in_default_list = true;
+ base::SplitString("UTF-8;UTF-16", ';', &data.input_encodings);
+ data.date_created = base::Time();
+ data.last_modified = base::Time();
+
+ manager.SetUserSelectedDefaultSearchEngine(data);
+ TemplateURLData* read_data = manager.GetDefaultSearchEngine(NULL);
+ ExpectSimilar(&data, read_data);
+}
+
// Test DefaultSearchmanager handles user-selected DSEs correctly.
TEST_F(DefaultSearchManagerTest, DefaultSearchSetByUserPref) {
size_t default_search_index = 0;
- DefaultSearchManager manager(pref_service());
+ DefaultSearchManager manager(pref_service(),
+ DefaultSearchManager::ObserverCallback());
ScopedVector<TemplateURLData> prepopulated_urls =
TemplateURLPrepopulateData::GetPrepopulatedEngines(pref_service(),
&default_search_index);
+ DefaultSearchManager::Source source = DefaultSearchManager::FROM_POLICY;
// If no user pref is set, we should use the pre-populated values.
ExpectSimilar(prepopulated_urls[default_search_index],
- manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK,
- manager.GetDefaultSearchEngineSource());
+ manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK, source);
// Setting a user pref overrides the pre-populated values.
scoped_ptr<TemplateURLData> data = GenerateDummyTemplateURLData("user");
manager.SetUserSelectedDefaultSearchEngine(*data.get());
- ExpectSimilar(data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_USER,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_USER, source);
// Updating the user pref (externally to this instance of
// DefaultSearchManager) triggers an update.
scoped_ptr<TemplateURLData> new_data = GenerateDummyTemplateURLData("user2");
- DefaultSearchManager other_manager(pref_service());
+ DefaultSearchManager other_manager(pref_service(),
+ DefaultSearchManager::ObserverCallback());
other_manager.SetUserSelectedDefaultSearchEngine(*new_data.get());
- ExpectSimilar(new_data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_USER,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(new_data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_USER, source);
// Clearing the user pref should cause the default search to revert to the
// prepopulated vlaues.
manager.ClearUserSelectedDefaultSearchEngine();
ExpectSimilar(prepopulated_urls[default_search_index],
- manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK,
- manager.GetDefaultSearchEngineSource());
+ manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK, source);
}
// Test that DefaultSearch manager detects changes to kSearchProviderOverrides.
TEST_F(DefaultSearchManagerTest, DefaultSearchSetByOverrides) {
SetOverrides(pref_service(), false);
size_t default_search_index = 0;
- DefaultSearchManager manager(pref_service());
+ DefaultSearchManager manager(pref_service(),
+ DefaultSearchManager::ObserverCallback());
ScopedVector<TemplateURLData> prepopulated_urls =
TemplateURLPrepopulateData::GetPrepopulatedEngines(pref_service(),
&default_search_index);
- TemplateURLData first_default(*manager.GetDefaultSearchEngine());
+ DefaultSearchManager::Source source = DefaultSearchManager::FROM_POLICY;
+ TemplateURLData first_default(*manager.GetDefaultSearchEngine(&source));
ExpectSimilar(prepopulated_urls[default_search_index], &first_default);
- EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK,
- manager.GetDefaultSearchEngineSource());
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK, source);
// Update the overrides:
SetOverrides(pref_service(), true);
@@ -214,54 +236,52 @@ TEST_F(DefaultSearchManagerTest, DefaultSearchSetByOverrides) {
// Make sure DefaultSearchManager updated:
ExpectSimilar(prepopulated_urls[default_search_index],
- manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK,
- manager.GetDefaultSearchEngineSource());
- EXPECT_NE(manager.GetDefaultSearchEngine()->short_name,
+ manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_FALLBACK, source);
+ EXPECT_NE(manager.GetDefaultSearchEngine(NULL)->short_name,
first_default.short_name);
- EXPECT_NE(manager.GetDefaultSearchEngine()->keyword(),
+ EXPECT_NE(manager.GetDefaultSearchEngine(NULL)->keyword(),
first_default.keyword());
}
// Test DefaultSearchManager handles policy-enforced DSEs correctly.
TEST_F(DefaultSearchManagerTest, DefaultSearchSetByPolicy) {
- DefaultSearchManager manager(pref_service());
+ DefaultSearchManager manager(pref_service(),
+ DefaultSearchManager::ObserverCallback());
scoped_ptr<TemplateURLData> data = GenerateDummyTemplateURLData("user");
manager.SetUserSelectedDefaultSearchEngine(*data.get());
- ExpectSimilar(data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_USER,
- manager.GetDefaultSearchEngineSource());
+ DefaultSearchManager::Source source = DefaultSearchManager::FROM_FALLBACK;
+ ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_USER, source);
scoped_ptr<TemplateURLData> policy_data =
GenerateDummyTemplateURLData("policy");
SetPolicy(pref_service(), true, policy_data.get());
- ExpectSimilar(policy_data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_POLICY,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(policy_data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_POLICY, source);
TemplateURLData null_policy_data;
SetPolicy(pref_service(), false, &null_policy_data);
- EXPECT_EQ(NULL, manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_POLICY,
- manager.GetDefaultSearchEngineSource());
+ EXPECT_EQ(NULL, manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_POLICY, source);
pref_service()->RemoveManagedPref(kDefaultSearchProviderData);
- ExpectSimilar(data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_USER,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_USER, source);
}
// Test DefaultSearchManager handles extension-controlled DSEs correctly.
TEST_F(DefaultSearchManagerTest, DefaultSearchSetByExtension) {
- DefaultSearchManager manager(pref_service());
+ DefaultSearchManager manager(pref_service(),
+ DefaultSearchManager::ObserverCallback());
scoped_ptr<TemplateURLData> data = GenerateDummyTemplateURLData("user");
manager.SetUserSelectedDefaultSearchEngine(*data.get());
- ExpectSimilar(data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_USER,
- manager.GetDefaultSearchEngineSource());
+ DefaultSearchManager::Source source = DefaultSearchManager::FROM_FALLBACK;
+ ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_USER, source);
// Extension trumps prefs:
scoped_ptr<TemplateURLData> extension_data_1 =
@@ -269,18 +289,16 @@ TEST_F(DefaultSearchManagerTest, DefaultSearchSetByExtension) {
TemplateURLData tmp = *extension_data_1.get();
manager.SetExtensionControlledDefaultSearchEngine(extension_data_1.release());
- ExpectSimilar(&tmp, manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_EXTENSION,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(&tmp, manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_EXTENSION, source);
// Policy trumps extension:
scoped_ptr<TemplateURLData> policy_data =
GenerateDummyTemplateURLData("policy");
SetPolicy(pref_service(), true, policy_data.get());
- ExpectSimilar(policy_data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_POLICY,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(policy_data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_POLICY, source);
pref_service()->RemoveManagedPref(kDefaultSearchProviderData);
// Extensions trump each other:
@@ -292,13 +310,11 @@ TEST_F(DefaultSearchManagerTest, DefaultSearchSetByExtension) {
manager.SetExtensionControlledDefaultSearchEngine(extension_data_2.release());
manager.SetExtensionControlledDefaultSearchEngine(extension_data_3.release());
- ExpectSimilar(&tmp, manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_EXTENSION,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(&tmp, manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_EXTENSION, source);
manager.ClearExtensionControlledDefaultSearchEngine();
- ExpectSimilar(data.get(), manager.GetDefaultSearchEngine());
- EXPECT_EQ(DefaultSearchManager::Source::FROM_USER,
- manager.GetDefaultSearchEngineSource());
+ ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source));
+ EXPECT_EQ(DefaultSearchManager::Source::FROM_USER, source);
}

Powered by Google App Engine
This is Rietveld 408576698