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 0256bf644ed4412d287a4541e154887e5c38d8cb..56c5d8992661b1f02e6ebb2cbe57c8a1215c5ca4 100644 |
| --- a/chrome/browser/search_engines/template_url_service_unittest.cc |
| +++ b/chrome/browser/search_engines/template_url_service_unittest.cc |
| @@ -922,6 +922,83 @@ TEST_F(TemplateURLServiceTest, DefaultSearchProviderLoadedFromPrefs) { |
| AssertEquals(*cloned_url, *model()->GetDefaultSearchProvider()); |
| } |
| +TEST_F(TemplateURLServiceTest, ResetNonExtensionURLs) { |
| + test_util_.VerifyLoad(); |
| + |
| + TemplateURL* new_provider = AddKeywordWithDate( |
| + "short_name", "keyword", "http://test.com/search?t={searchTerms}", |
| + std::string(), std::string(), std::string(), |
| + true, "UTF-8", Time(), Time()); |
| + model()->SetDefaultSearchProvider(new_provider); |
| + AddKeywordWithDate( |
| + "extension1", "ext_keyword", |
| + std::string(extensions::kExtensionScheme) + "://test1", std::string(), |
| + std::string(), std::string(), false, "UTF-8", Time(), Time()); |
| + TemplateURL* default_provider = model()->GetDefaultSearchProvider(); |
| + EXPECT_NE(SEARCH_ENGINE_GOOGLE, |
| + TemplateURLPrepopulateData::GetEngineType(default_provider->url())); |
| + |
| + // Non-extension URLs should go away. Default search engine is Google again. |
| + model()->ResetNonExtensionURLs(); |
| + default_provider = model()->GetDefaultSearchProvider(); |
| + ASSERT_TRUE(default_provider); |
| + EXPECT_EQ(SEARCH_ENGINE_GOOGLE, |
| + TemplateURLPrepopulateData::GetEngineType(default_provider->url())); |
| + EXPECT_TRUE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext_keyword"))); |
| + EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword"))); |
| + |
| + // Reload URLs. Result should be the same except that extension keywords |
| + // aren't persisted. |
| + test_util_.ResetModel(true); |
| + default_provider = model()->GetDefaultSearchProvider(); |
| + ASSERT_TRUE(default_provider); |
| + EXPECT_EQ(SEARCH_ENGINE_GOOGLE, |
| + TemplateURLPrepopulateData::GetEngineType(default_provider->url())); |
| + EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext_keyword"))); |
| + EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword"))); |
| +} |
| + |
| +TEST_F(TemplateURLServiceTest, ResetURLsWithManagedDefault) { |
| + // 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); |
| + test_util_.VerifyLoad(); |
| + // Verify that the default manager we are getting is the managed one. |
| + TemplateURLData data; |
| + data.short_name = ASCIIToUTF16(kName); |
| + data.SetKeyword(ASCIIToUTF16(kKeyword)); |
| + data.SetURL(kSearchURL); |
| + data.favicon_url = GURL(kIconURL); |
| + data.show_in_default_list = true; |
| + base::SplitString(kEncodings, ';', &data.input_encodings); |
| + data.alternate_urls.push_back(kAlternateURL); |
| + data.search_terms_replacement_key = kSearchTermsReplacementKey; |
| + Profile* profile = test_util_.profile(); |
| + scoped_ptr<TemplateURL> expected_managed_default(new TemplateURL(profile, |
| + data)); |
| + EXPECT_TRUE(model()->is_default_search_managed()); |
| + const TemplateURL* actual_managed_default = |
| + model()->GetDefaultSearchProvider(); |
| + ExpectSimilar(expected_managed_default.get(), actual_managed_default); |
| + |
| + // The following call has no effect on managed search engine. |
|
Peter Kasting
2013/05/29 04:04:41
Nit: on -> on the? on any?
vasilii
2013/05/29 08:30:18
Done.
|
| + model()->ResetNonExtensionURLs(); |
| + |
| + EXPECT_TRUE(model()->is_default_search_managed()); |
| + actual_managed_default = model()->GetDefaultSearchProvider(); |
| + ExpectSimilar(expected_managed_default.get(), actual_managed_default); |
| +} |
| + |
| TEST_F(TemplateURLServiceTest, UpdateKeywordSearchTermsForURL) { |
| struct TestData { |
| const std::string url; |