Chromium Code Reviews| Index: chrome/browser/search_engines/template_url_service_unittest.cc |
| diff --git a/chrome/browser/search_engines/template_url_service_unittest.cc b/chrome/browser/search_engines/template_url_service_unittest.cc |
| index 3e86c1a9cdaf6479557021e3306207ff19f742bf..2e73101787f940944aa965e28e5e3d3cd02d40ec 100644 |
| --- a/chrome/browser/search_engines/template_url_service_unittest.cc |
| +++ b/chrome/browser/search_engines/template_url_service_unittest.cc |
| @@ -41,6 +41,10 @@ using base::TimeDelta; |
| namespace { |
| +// A prepopulated ID to set for engines we want to show in the default list. |
| +// This must simply be greater than 0. |
| +static constexpr int kPrepopulatedId = 999999; |
| + |
| // QueryHistoryCallbackImpl --------------------------------------------------- |
| struct QueryHistoryCallbackImpl { |
| @@ -128,6 +132,20 @@ void ExpectSimilar(const TemplateURL* expected, const TemplateURL* actual) { |
| actual->search_terms_replacement_key()); |
| } |
| +std::unique_ptr<TemplateURLData> CreateTestSearchEngine() { |
| + auto result = base::MakeUnique<TemplateURLData>(); |
| + result->SetShortName(ASCIIToUTF16("test1")); |
| + result->SetKeyword(ASCIIToUTF16("test.com")); |
| + result->SetURL("http://test.com/search?t={searchTerms}"); |
| + result->favicon_url = GURL("http://test.com/icon.jpg"); |
| + result->prepopulate_id = kPrepopulatedId; |
| + result->input_encodings.push_back("UTF-16"); |
|
Peter Kasting
2016/11/30 00:50:37
Nit: See earlier comments
Alexander Yashkin
2016/11/30 06:01:20
Done
|
| + result->input_encodings.push_back("UTF-32"); |
| + result->alternate_urls.push_back("http://test.com/search#t={searchTerms}"); |
| + result->search_terms_replacement_key = "espv"; |
| + return result; |
| +} |
| + |
| } // namespace |
| @@ -137,10 +155,6 @@ class TemplateURLServiceTest : public testing::Test { |
| public: |
| TemplateURLServiceTest(); |
| - // A prepopulated ID to set for engines we want to show in the default list. |
| - // This must simply be greater than 0. |
| - static constexpr int kPrepopulatedId = 999999; |
| - |
| // testing::Test: |
| void SetUp() override; |
| void TearDown() override; |
| @@ -849,31 +863,13 @@ TEST_F(TemplateURLServiceTest, RepairPrepopulatedSearchEngines) { |
| TEST_F(TemplateURLServiceTest, RepairSearchEnginesWithManagedDefault) { |
| // Set a managed preference that establishes a default search provider. |
| - const char kName[] = "test1"; |
| - const char kKeyword[] = "test.com"; |
| - const char kSearchURL[] = "http://test.com/search?t={searchTerms}"; |
| - const char kIconURL[] = "http://test.com/icon.jpg"; |
| - const char kEncodings[] = "UTF-16;UTF-32"; |
| - const char kAlternateURL[] = "http://test.com/search#t={searchTerms}"; |
| - const char kSearchTermsReplacementKey[] = "espv"; |
| - test_util()->SetManagedDefaultSearchPreferences(true, kName, kKeyword, |
| - kSearchURL, std::string(), |
| - kIconURL, kEncodings, |
| - kAlternateURL, |
| - kSearchTermsReplacementKey); |
| + std::unique_ptr<TemplateURLData> managed = CreateTestSearchEngine(); |
| + SetManagedDefaultSearchPreferences(*managed, true, test_util()->profile()); |
| test_util()->VerifyLoad(); |
| + |
| // Verify that the default manager we are getting is the managed one. |
| - TemplateURLData data; |
| - data.SetShortName(ASCIIToUTF16(kName)); |
| - data.SetKeyword(ASCIIToUTF16(kKeyword)); |
| - data.SetURL(kSearchURL); |
| - data.favicon_url = GURL(kIconURL); |
| - data.prepopulate_id = kPrepopulatedId; |
| - data.input_encodings = base::SplitString( |
| - kEncodings, ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
| - data.alternate_urls.push_back(kAlternateURL); |
| - data.search_terms_replacement_key = kSearchTermsReplacementKey; |
| - std::unique_ptr<TemplateURL> expected_managed_default(new TemplateURL(data)); |
| + std::unique_ptr<TemplateURL> expected_managed_default( |
| + new TemplateURL(*managed)); |
|
Peter Kasting
2016/11/30 00:50:37
Nit: Try to avoid raw new (use MakeUnique here); f
Alexander Yashkin
2016/11/30 06:01:20
Done
|
| EXPECT_TRUE(model()->is_default_search_managed()); |
| const TemplateURL* actual_managed_default = |
| model()->GetDefaultSearchProvider(); |
| @@ -1230,64 +1226,40 @@ TEST_F(TemplateURLServiceTest, TestManagedDefaultSearch) { |
| EXPECT_EQ(initial_count + 1, model()->GetTemplateURLs().size()); |
| // Set a managed preference that establishes a default search provider. |
| - const char kName[] = "test1"; |
| - const char kKeyword[] = "test.com"; |
| - const char kSearchURL[] = "http://test.com/search?t={searchTerms}"; |
| - const char kIconURL[] = "http://test.com/icon.jpg"; |
| - const char kEncodings[] = "UTF-16;UTF-32"; |
| - const char kAlternateURL[] = "http://test.com/search#t={searchTerms}"; |
| - const char kSearchTermsReplacementKey[] = "espv"; |
| - test_util()->SetManagedDefaultSearchPreferences(true, kName, kKeyword, |
| - kSearchURL, std::string(), kIconURL, kEncodings, kAlternateURL, |
| - kSearchTermsReplacementKey); |
| + std::unique_ptr<TemplateURLData> managed = CreateTestSearchEngine(); |
| + SetManagedDefaultSearchPreferences(*managed, true, test_util()->profile()); |
| VerifyObserverFired(); |
| EXPECT_TRUE(model()->is_default_search_managed()); |
| EXPECT_EQ(initial_count + 2, model()->GetTemplateURLs().size()); |
| // Verify that the default manager we are getting is the managed one. |
| - TemplateURLData data; |
| - data.SetShortName(ASCIIToUTF16(kName)); |
| - data.SetKeyword(ASCIIToUTF16(kKeyword)); |
| - data.SetURL(kSearchURL); |
| - data.favicon_url = GURL(kIconURL); |
| - data.prepopulate_id = kPrepopulatedId; |
| - data.input_encodings = base::SplitString( |
| - kEncodings, ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
| - data.alternate_urls.push_back(kAlternateURL); |
| - data.search_terms_replacement_key = kSearchTermsReplacementKey; |
| - std::unique_ptr<TemplateURL> expected_managed_default1(new TemplateURL(data)); |
| + std::unique_ptr<TemplateURL> expected_managed_default1( |
| + new TemplateURL(*managed)); |
| const TemplateURL* actual_managed_default = |
| model()->GetDefaultSearchProvider(); |
| ExpectSimilar(expected_managed_default1.get(), actual_managed_default); |
| EXPECT_TRUE(model()->ShowInDefaultList(actual_managed_default)); |
| // Update the managed preference and check that the model has changed. |
| - const char kNewName[] = "test2"; |
| - const char kNewKeyword[] = "other.com"; |
| - const char kNewSearchURL[] = "http://other.com/search?t={searchTerms}"; |
| - const char kNewSuggestURL[] = "http://other.com/suggest?t={searchTerms}"; |
| - test_util()->SetManagedDefaultSearchPreferences(true, kNewName, kNewKeyword, |
| - kNewSearchURL, kNewSuggestURL, std::string(), std::string(), |
| - std::string(), std::string()); |
| + TemplateURLData managed2; |
| + managed2.SetShortName(ASCIIToUTF16("test2")); |
| + managed2.SetKeyword(ASCIIToUTF16("other.com")); |
| + managed2.SetURL("http://other.com/search?t={searchTerms}"); |
| + managed2.suggestions_url = "http://other.com/suggest?t={searchTerms}"; |
| + SetManagedDefaultSearchPreferences(managed2, true, test_util()->profile()); |
| VerifyObserverFired(); |
| EXPECT_TRUE(model()->is_default_search_managed()); |
| EXPECT_EQ(initial_count + 2, model()->GetTemplateURLs().size()); |
| // Verify that the default manager we are now getting is the correct one. |
| - TemplateURLData data2; |
| - data2.SetShortName(ASCIIToUTF16(kNewName)); |
| - data2.SetKeyword(ASCIIToUTF16(kNewKeyword)); |
| - data2.SetURL(kNewSearchURL); |
| - data2.suggestions_url = kNewSuggestURL; |
| - data2.prepopulate_id = kPrepopulatedId; |
| std::unique_ptr<TemplateURL> expected_managed_default2( |
| - new TemplateURL(data2)); |
| + new TemplateURL(managed2)); |
| actual_managed_default = model()->GetDefaultSearchProvider(); |
| ExpectSimilar(expected_managed_default2.get(), actual_managed_default); |
| EXPECT_EQ(model()->ShowInDefaultList(actual_managed_default), true); |
| // Remove all the managed prefs and check that we are no longer managed. |
| - test_util()->RemoveManagedDefaultSearchPreferences(); |
| + RemoveManagedDefaultSearchPreferences(test_util()->profile()); |
| VerifyObserverFired(); |
| EXPECT_FALSE(model()->is_default_search_managed()); |
| EXPECT_EQ(initial_count + 1, model()->GetTemplateURLs().size()); |
| @@ -1299,18 +1271,14 @@ TEST_F(TemplateURLServiceTest, TestManagedDefaultSearch) { |
| EXPECT_EQ(model()->ShowInDefaultList(actual_final_managed_default), true); |
| // Disable the default search provider through policy. |
| - test_util()->SetManagedDefaultSearchPreferences(false, std::string(), |
| - std::string(), std::string(), std::string(), std::string(), |
| - std::string(), std::string(), std::string()); |
| + SetManagedDefaultSearchPreferences(managed2, false, test_util()->profile()); |
| VerifyObserverFired(); |
| EXPECT_TRUE(model()->is_default_search_managed()); |
| EXPECT_TRUE(NULL == model()->GetDefaultSearchProvider()); |
| EXPECT_EQ(initial_count + 1, model()->GetTemplateURLs().size()); |
| // Re-enable it. |
| - test_util()->SetManagedDefaultSearchPreferences(true, kName, kKeyword, |
| - kSearchURL, std::string(), kIconURL, kEncodings, kAlternateURL, |
| - kSearchTermsReplacementKey); |
| + SetManagedDefaultSearchPreferences(*managed, true, test_util()->profile()); |
| VerifyObserverFired(); |
| EXPECT_TRUE(model()->is_default_search_managed()); |
| EXPECT_EQ(initial_count + 2, model()->GetTemplateURLs().size()); |
| @@ -1325,7 +1293,7 @@ TEST_F(TemplateURLServiceTest, TestManagedDefaultSearch) { |
| // This checks against regressions of http://crbug.com/67180 |
| // First, remove the preferences, reset the model, and set a default. |
| - test_util()->RemoveManagedDefaultSearchPreferences(); |
| + RemoveManagedDefaultSearchPreferences(test_util()->profile()); |
| test_util()->ResetModel(true); |
| TemplateURL* new_default = |
| model()->GetTemplateURLForKeyword(ASCIIToUTF16("key1")); |
| @@ -1335,9 +1303,7 @@ TEST_F(TemplateURLServiceTest, TestManagedDefaultSearch) { |
| // Now reset the model again but load it after setting the preferences. |
| test_util()->ResetModel(false); |
| - test_util()->SetManagedDefaultSearchPreferences(false, std::string(), |
| - std::string(), std::string(), std::string(), std::string(), |
| - std::string(), std::string(), std::string()); |
| + SetManagedDefaultSearchPreferences(*managed, false, test_util()->profile()); |
| test_util()->VerifyLoad(); |
| EXPECT_TRUE(model()->is_default_search_managed()); |
| EXPECT_TRUE(model()->GetDefaultSearchProvider() == NULL); |
| @@ -1476,28 +1442,12 @@ TEST_F(TemplateURLServiceTest, ExtensionEnginesNotPersist) { |
| TEST_F(TemplateURLServiceTest, ExtensionEngineVsPolicy) { |
| // Set a managed preference that establishes a default search provider. |
| - const char kName[] = "test"; |
| - const char kKeyword[] = "test.com"; |
| - const char kSearchURL[] = "http://test.com/search?t={searchTerms}"; |
| - const char kIconURL[] = "http://test.com/icon.jpg"; |
| - const char kEncodings[] = "UTF-16;UTF-32"; |
| - const char kAlternateURL[] = "http://test.com/search#t={searchTerms}"; |
| - const char kSearchTermsReplacementKey[] = "espv"; |
| - test_util()->SetManagedDefaultSearchPreferences( |
| - true, kName, kKeyword, kSearchURL, std::string(), kIconURL, kEncodings, |
| - kAlternateURL, kSearchTermsReplacementKey); |
| + std::unique_ptr<TemplateURLData> managed = CreateTestSearchEngine(); |
| + SetManagedDefaultSearchPreferences(*managed, true, test_util()->profile()); |
| test_util()->VerifyLoad(); |
| // Verify that the default manager we are getting is the managed one. |
| - TemplateURLData data; |
| - data.SetShortName(ASCIIToUTF16(kName)); |
| - data.SetKeyword(ASCIIToUTF16(kKeyword)); |
| - data.SetURL(kSearchURL); |
| - data.favicon_url = GURL(kIconURL); |
| - data.input_encodings = base::SplitString( |
| - kEncodings, ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
| - data.alternate_urls.push_back(kAlternateURL); |
| - data.search_terms_replacement_key = kSearchTermsReplacementKey; |
| - std::unique_ptr<TemplateURL> expected_managed_default(new TemplateURL(data)); |
| + std::unique_ptr<TemplateURL> expected_managed_default( |
| + new TemplateURL(*managed)); |
| EXPECT_TRUE(model()->is_default_search_managed()); |
| const TemplateURL* actual_managed_default = |
| model()->GetDefaultSearchProvider(); |