Index: chrome/browser/search_engines/template_url_service_unittest.cc |
=================================================================== |
--- chrome/browser/search_engines/template_url_service_unittest.cc (revision 133286) |
+++ chrome/browser/search_engines/template_url_service_unittest.cc (working copy) |
@@ -33,25 +33,6 @@ |
namespace { |
-// Create an URL that appears to have been prepopulated, but won't be in the |
-// current data. The caller owns the returned TemplateURL*. |
-TemplateURL* CreatePreloadedTemplateURL(bool safe_for_autoreplace, |
- int prepopulate_id) { |
- TemplateURLData data; |
- data.short_name = ASCIIToUTF16("unittest"); |
- data.SetKeyword(ASCIIToUTF16("unittest")); |
- data.SetURL("http://www.unittest.com/{searchTerms}"); |
- data.favicon_url = GURL("http://favicon.url"); |
- data.show_in_default_list = true; |
- data.safe_for_autoreplace = safe_for_autoreplace; |
- data.input_encodings.push_back("UTF-8"); |
- data.date_created = Time::FromTimeT(100); |
- data.last_modified = Time::FromTimeT(100); |
- data.prepopulate_id = prepopulate_id; |
- return new TemplateURL(data); |
-} |
- |
- |
// TestGenerateSearchURL ------------------------------------------------------ |
// Test the GenerateSearchURL on a thread or the main thread. |
@@ -100,7 +81,7 @@ |
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(generate_url_cases); ++i) { |
TemplateURLData data; |
data.SetURL(generate_url_cases[i].url); |
- TemplateURL t_url(data); |
+ TemplateURL t_url(NULL, data); |
std::string result = (search_terms_data_ ? |
TemplateURLService::GenerateSearchURLUsingTermsData(&t_url, |
*search_terms_data_) : |
@@ -172,6 +153,11 @@ |
// date_created or the last_modified time. Neither pointer should be NULL. |
void ExpectSimilar(const TemplateURL* expected, const TemplateURL* actual); |
+ // Create an URL that appears to have been prepopulated, but won't be in the |
+ // current data. The caller owns the returned TemplateURL*. |
+ TemplateURL* CreatePreloadedTemplateURL(bool safe_for_autoreplace, |
+ int prepopulate_id); |
+ |
// Creates a TemplateURL with the same prepopulated id as a real prepopulated |
// item. The input number determines which prepopulated item. The caller is |
// responsible for owning the returned TemplateURL*. |
@@ -231,7 +217,7 @@ |
base::SplitString(encodings, ';', &data.input_encodings); |
data.date_created = date_created; |
data.last_modified = last_modified; |
- TemplateURL* t_url = new TemplateURL(data); |
+ TemplateURL* t_url = new TemplateURL(test_util_.profile(), data); |
model()->Add(t_url); |
EXPECT_NE(0, t_url->id()); |
return t_url; |
@@ -267,15 +253,31 @@ |
EXPECT_EQ(expected->input_encodings(), actual->input_encodings()); |
} |
+TemplateURL* TemplateURLServiceTest::CreatePreloadedTemplateURL( |
+ bool safe_for_autoreplace, |
+ int prepopulate_id) { |
+ TemplateURLData data; |
+ data.short_name = ASCIIToUTF16("unittest"); |
+ data.SetKeyword(ASCIIToUTF16("unittest")); |
+ data.SetURL("http://www.unittest.com/{searchTerms}"); |
+ data.favicon_url = GURL("http://favicon.url"); |
+ data.show_in_default_list = true; |
+ data.safe_for_autoreplace = safe_for_autoreplace; |
+ data.input_encodings.push_back("UTF-8"); |
+ data.date_created = Time::FromTimeT(100); |
+ data.last_modified = Time::FromTimeT(100); |
+ data.prepopulate_id = prepopulate_id; |
+ return new TemplateURL(test_util_.profile(), data); |
+} |
+ |
TemplateURL* TemplateURLServiceTest::CreateReplaceablePreloadedTemplateURL( |
bool safe_for_autoreplace, |
size_t index_offset_from_default, |
string16* prepopulated_display_url) { |
ScopedVector<TemplateURL> prepopulated_urls; |
size_t default_search_provider_index = 0; |
- TemplateURLPrepopulateData::GetPrepopulatedEngines( |
- test_util_.profile()->GetPrefs(), &prepopulated_urls.get(), |
- &default_search_provider_index); |
+ TemplateURLPrepopulateData::GetPrepopulatedEngines(test_util_.profile(), |
+ &prepopulated_urls.get(), &default_search_provider_index); |
EXPECT_LT(index_offset_from_default, prepopulated_urls.size()); |
size_t prepopulated_index = (default_search_provider_index + |
index_offset_from_default) % prepopulated_urls.size(); |
@@ -351,7 +353,7 @@ |
data.date_created = Time::FromTimeT(100); |
data.last_modified = Time::FromTimeT(100); |
data.sync_guid = "00000000-0000-0000-0000-000000000001"; |
- TemplateURL* t_url = new TemplateURL(data); |
+ TemplateURL* t_url = new TemplateURL(test_util_.profile(), data); |
model()->Add(t_url); |
ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("keyword"), GURL(), |
NULL)); |
@@ -362,7 +364,8 @@ |
// We need to make a second copy as the model takes ownership of |t_url| and |
// will delete it. We have to do this after calling Add() since that gives |
// |t_url| its ID. |
- scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->data())); |
+ scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->profile(), |
+ t_url->data())); |
// Reload the model to verify it was actually saved to the database. |
test_util_.ResetModel(true); |
@@ -391,7 +394,8 @@ |
ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("keyword"), GURL(), |
NULL)); |
ASSERT_FALSE(model()->CanReplaceKeyword(ASCIIToUTF16("b"), GURL(), NULL)); |
- cloned_url.reset(new TemplateURL(loaded_url->data())); |
+ cloned_url.reset(new TemplateURL( |
+ const_cast<TemplateURL*>(loaded_url)->profile(), loaded_url->data())); |
test_util_.BlockTillServiceProcessesRequests(); |
test_util_.ResetModel(true); |
ASSERT_EQ(initial_count + 1, model()->GetTemplateURLs().size()); |
@@ -575,7 +579,7 @@ |
data.favicon_url = GURL("http://favicon.url"); |
data.date_created = Time::FromTimeT(100); |
data.last_modified = Time::FromTimeT(100); |
- TemplateURL* t_url = new TemplateURL(data); |
+ TemplateURL* t_url = new TemplateURL(test_util_.profile(), data); |
model()->Add(t_url); |
VerifyObserverCount(1); |
@@ -599,7 +603,8 @@ |
ASSERT_TRUE( |
model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword")) == NULL); |
- scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->data())); |
+ scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->profile(), |
+ t_url->data())); |
// Reload the model from the database and make sure the change took. |
test_util_.ResetModel(true); |
@@ -628,7 +633,8 @@ |
VerifyObserverCount(1); |
test_util_.BlockTillServiceProcessesRequests(); |
- scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->data())); |
+ scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->profile(), |
+ t_url->data())); |
// Make sure when we reload we get a default search provider. |
test_util_.ResetModel(true); |
@@ -724,13 +730,14 @@ |
data.instant_url = "http://instant"; |
data.date_created = Time::FromTimeT(100); |
data.last_modified = Time::FromTimeT(100); |
- TemplateURL* t_url = new TemplateURL(data); |
+ TemplateURL* t_url = new TemplateURL(test_util_.profile(), data); |
model()->Add(t_url); |
const TemplateURLID id = t_url->id(); |
model()->SetDefaultSearchProvider(t_url); |
test_util_.BlockTillServiceProcessesRequests(); |
- scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->data())); |
+ scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->profile(), |
+ t_url->data())); |
// Reset the model and don't load it. The template url we set as the default |
// should be pulled from prefs now. |
@@ -971,7 +978,8 @@ |
model()->Add(t_url); |
// Do the copy after t_url is added so that the id is set. |
- scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->data())); |
+ scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->profile(), |
+ t_url->data())); |
ASSERT_EQ(t_url, model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest"))); |
// Wait for any saves to finish. |
@@ -1001,7 +1009,9 @@ |
// Verify that the default search provider is set to something. |
const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
ASSERT_TRUE(default_search != NULL); |
- scoped_ptr<TemplateURL> cloned_url(new TemplateURL(default_search->data())); |
+ scoped_ptr<TemplateURL> cloned_url(new TemplateURL( |
+ const_cast<TemplateURL*>(default_search)->profile(), |
+ default_search->data())); |
// Wait for any saves to finish. |
test_util_.BlockTillServiceProcessesRequests(); |
@@ -1027,7 +1037,8 @@ |
model()->SetDefaultSearchProvider(t_url); |
// Do the copy after t_url is added and set as default so that its |
// internal state is correct. |
- scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->data())); |
+ scoped_ptr<TemplateURL> cloned_url(new TemplateURL(t_url->profile(), |
+ t_url->data())); |
ASSERT_EQ(t_url, model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest"))); |
ASSERT_EQ(t_url, model()->GetDefaultSearchProvider()); |
@@ -1118,7 +1129,7 @@ |
// Then add it to the model and save it all. |
test_util_.ChangeModelToLoadState(); |
- model()->Add(new TemplateURL(data)); |
+ model()->Add(new TemplateURL(test_util_.profile(), data)); |
test_util_.BlockTillServiceProcessesRequests(); |
// Now reload the model and verify that the merge updates the url. |
@@ -1186,7 +1197,9 @@ |
data.favicon_url = GURL(kIconURL); |
data.show_in_default_list = true; |
base::SplitString(kEncodings, ';', &data.input_encodings); |
- scoped_ptr<TemplateURL> expected_managed_default1(new TemplateURL(data)); |
+ Profile* profile = test_util_.profile(); |
+ scoped_ptr<TemplateURL> expected_managed_default1(new TemplateURL(profile, |
+ data)); |
const TemplateURL* actual_managed_default = |
model()->GetDefaultSearchProvider(); |
ExpectSimilar(expected_managed_default1.get(), actual_managed_default); |
@@ -1210,7 +1223,8 @@ |
data2.SetURL(kNewSearchURL); |
data2.suggestions_url = kNewSuggestURL; |
data2.show_in_default_list = true; |
- scoped_ptr<TemplateURL> expected_managed_default2(new TemplateURL(data2)); |
+ scoped_ptr<TemplateURL> expected_managed_default2(new TemplateURL(profile, |
+ data2)); |
actual_managed_default = model()->GetDefaultSearchProvider(); |
ExpectSimilar(expected_managed_default2.get(), actual_managed_default); |
EXPECT_EQ(actual_managed_default->show_in_default_list(), true); |
@@ -1283,7 +1297,7 @@ |
data.SetKeyword(ASCIIToUTF16("keyword")); |
data.SetURL("http://www.google.com/foo/bar"); |
data.sync_guid.clear(); |
- TemplateURL* t_url = new TemplateURL(data); |
+ TemplateURL* t_url = new TemplateURL(test_util_.profile(), data); |
model()->Add(t_url); |
VerifyObserverCount(1); |