OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/file_util.h" | 6 #include "base/file_util.h" |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/memory/scoped_vector.h" | 8 #include "base/memory/scoped_vector.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/search_engines/search_terms_data.h" | 10 #include "chrome/browser/search_engines/search_terms_data.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 ASSERT_EQ(1u, t_urls.size()); | 121 ASSERT_EQ(1u, t_urls.size()); |
122 EXPECT_EQ(ASCIIToUTF16("foo"), t_urls[0]->short_name()); | 122 EXPECT_EQ(ASCIIToUTF16("foo"), t_urls[0]->short_name()); |
123 EXPECT_EQ(ASCIIToUTF16("fook"), t_urls[0]->keyword()); | 123 EXPECT_EQ(ASCIIToUTF16("fook"), t_urls[0]->keyword()); |
124 EXPECT_EQ("foo.com", t_urls[0]->url_ref().GetHost()); | 124 EXPECT_EQ("foo.com", t_urls[0]->url_ref().GetHost()); |
125 EXPECT_EQ("foi.com", t_urls[0]->favicon_url().host()); | 125 EXPECT_EQ("foi.com", t_urls[0]->favicon_url().host()); |
126 EXPECT_EQ(1u, t_urls[0]->input_encodings().size()); | 126 EXPECT_EQ(1u, t_urls[0]->input_encodings().size()); |
127 EXPECT_EQ(1001, t_urls[0]->prepopulate_id()); | 127 EXPECT_EQ(1001, t_urls[0]->prepopulate_id()); |
128 EXPECT_TRUE(t_urls[0]->suggestions_url().empty()); | 128 EXPECT_TRUE(t_urls[0]->suggestions_url().empty()); |
129 EXPECT_TRUE(t_urls[0]->instant_url().empty()); | 129 EXPECT_TRUE(t_urls[0]->instant_url().empty()); |
130 EXPECT_EQ(0u, t_urls[0]->alternate_urls().size()); | 130 EXPECT_EQ(0u, t_urls[0]->alternate_urls().size()); |
| 131 EXPECT_TRUE(t_urls[0]->search_terms_replacement_key().empty()); |
131 | 132 |
132 // Test the optional settings too. | 133 // Test the optional settings too. |
133 entry->SetString("suggest_url", "http://foo.com/suggest?q={searchTerms}"); | 134 entry->SetString("suggest_url", "http://foo.com/suggest?q={searchTerms}"); |
134 entry->SetString("instant_url", "http://foo.com/instant?q={searchTerms}"); | 135 entry->SetString("instant_url", "http://foo.com/instant?q={searchTerms}"); |
135 ListValue* alternate_urls = new ListValue; | 136 ListValue* alternate_urls = new ListValue; |
136 alternate_urls->AppendString("http://foo.com/alternate?q={searchTerms}"); | 137 alternate_urls->AppendString("http://foo.com/alternate?q={searchTerms}"); |
137 entry->Set("alternate_urls", alternate_urls); | 138 entry->Set("alternate_urls", alternate_urls); |
| 139 entry->SetString("search_terms_replacement_key", "espv"); |
138 overrides = new ListValue; | 140 overrides = new ListValue; |
139 overrides->Append(entry->DeepCopy()); | 141 overrides->Append(entry->DeepCopy()); |
140 prefs->SetUserPref(prefs::kSearchProviderOverrides, overrides); | 142 prefs->SetUserPref(prefs::kSearchProviderOverrides, overrides); |
141 | 143 |
142 t_urls.clear(); | 144 t_urls.clear(); |
143 TemplateURLPrepopulateData::GetPrepopulatedEngines(&profile, &t_urls.get(), | 145 TemplateURLPrepopulateData::GetPrepopulatedEngines(&profile, &t_urls.get(), |
144 &default_index); | 146 &default_index); |
145 ASSERT_EQ(1u, t_urls.size()); | 147 ASSERT_EQ(1u, t_urls.size()); |
146 EXPECT_EQ(ASCIIToUTF16("foo"), t_urls[0]->short_name()); | 148 EXPECT_EQ(ASCIIToUTF16("foo"), t_urls[0]->short_name()); |
147 EXPECT_EQ(ASCIIToUTF16("fook"), t_urls[0]->keyword()); | 149 EXPECT_EQ(ASCIIToUTF16("fook"), t_urls[0]->keyword()); |
148 EXPECT_EQ("foo.com", t_urls[0]->url_ref().GetHost()); | 150 EXPECT_EQ("foo.com", t_urls[0]->url_ref().GetHost()); |
149 EXPECT_EQ("foi.com", t_urls[0]->favicon_url().host()); | 151 EXPECT_EQ("foi.com", t_urls[0]->favicon_url().host()); |
150 EXPECT_EQ(1u, t_urls[0]->input_encodings().size()); | 152 EXPECT_EQ(1u, t_urls[0]->input_encodings().size()); |
151 EXPECT_EQ(1001, t_urls[0]->prepopulate_id()); | 153 EXPECT_EQ(1001, t_urls[0]->prepopulate_id()); |
152 EXPECT_EQ("http://foo.com/suggest?q={searchTerms}", | 154 EXPECT_EQ("http://foo.com/suggest?q={searchTerms}", |
153 t_urls[0]->suggestions_url()); | 155 t_urls[0]->suggestions_url()); |
154 EXPECT_EQ("http://foo.com/instant?q={searchTerms}", | 156 EXPECT_EQ("http://foo.com/instant?q={searchTerms}", |
155 t_urls[0]->instant_url()); | 157 t_urls[0]->instant_url()); |
156 ASSERT_EQ(1u, t_urls[0]->alternate_urls().size()); | 158 ASSERT_EQ(1u, t_urls[0]->alternate_urls().size()); |
157 EXPECT_EQ("http://foo.com/alternate?q={searchTerms}", | 159 EXPECT_EQ("http://foo.com/alternate?q={searchTerms}", |
158 t_urls[0]->alternate_urls()[0]); | 160 t_urls[0]->alternate_urls()[0]); |
| 161 EXPECT_EQ("espv", t_urls[0]->search_terms_replacement_key()); |
159 | 162 |
160 // Test that subsequent providers are loaded even if an intermediate | 163 // Test that subsequent providers are loaded even if an intermediate |
161 // provider has an incomplete configuration. | 164 // provider has an incomplete configuration. |
162 overrides = new ListValue; | 165 overrides = new ListValue; |
163 overrides->Append(entry->DeepCopy()); | 166 overrides->Append(entry->DeepCopy()); |
164 entry->SetInteger("id", 1002); | 167 entry->SetInteger("id", 1002); |
165 entry->SetString("name", "bar"); | 168 entry->SetString("name", "bar"); |
166 entry->SetString("keyword", "bark"); | 169 entry->SetString("keyword", "bark"); |
167 entry->SetString("encoding", ""); | 170 entry->SetString("encoding", ""); |
168 overrides->Append(entry->DeepCopy()); | 171 overrides->Append(entry->DeepCopy()); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 EXPECT_EQ(ASCIIToUTF16("Google"), t_urls[default_index]->short_name()); | 208 EXPECT_EQ(ASCIIToUTF16("Google"), t_urls[default_index]->short_name()); |
206 EXPECT_FALSE(t_urls[default_index]->suggestions_url().empty()); | 209 EXPECT_FALSE(t_urls[default_index]->suggestions_url().empty()); |
207 EXPECT_FALSE(t_urls[default_index]->instant_url().empty()); | 210 EXPECT_FALSE(t_urls[default_index]->instant_url().empty()); |
208 // Expect at least 2 alternate_urls. | 211 // Expect at least 2 alternate_urls. |
209 // This caught a bug with static initialization of arrays, so leave this in. | 212 // This caught a bug with static initialization of arrays, so leave this in. |
210 EXPECT_GT(t_urls[default_index]->alternate_urls().size(), 1u); | 213 EXPECT_GT(t_urls[default_index]->alternate_urls().size(), 1u); |
211 for (size_t i = 0; i < t_urls[default_index]->alternate_urls().size(); ++i) | 214 for (size_t i = 0; i < t_urls[default_index]->alternate_urls().size(); ++i) |
212 EXPECT_FALSE(t_urls[default_index]->alternate_urls()[i].empty()); | 215 EXPECT_FALSE(t_urls[default_index]->alternate_urls()[i].empty()); |
213 EXPECT_EQ(SEARCH_ENGINE_GOOGLE, | 216 EXPECT_EQ(SEARCH_ENGINE_GOOGLE, |
214 TemplateURLPrepopulateData::GetEngineType(t_urls[default_index]->url())); | 217 TemplateURLPrepopulateData::GetEngineType(t_urls[default_index]->url())); |
| 218 EXPECT_FALSE(t_urls[default_index]->search_terms_replacement_key().empty()); |
215 } | 219 } |
216 | 220 |
217 TEST(TemplateURLPrepopulateDataTest, GetEngineTypeBasic) { | 221 TEST(TemplateURLPrepopulateDataTest, GetEngineTypeBasic) { |
218 EXPECT_EQ(SEARCH_ENGINE_OTHER, | 222 EXPECT_EQ(SEARCH_ENGINE_OTHER, |
219 TemplateURLPrepopulateData::GetEngineType("http://example.com/")); | 223 TemplateURLPrepopulateData::GetEngineType("http://example.com/")); |
220 EXPECT_EQ(SEARCH_ENGINE_ASK, | 224 EXPECT_EQ(SEARCH_ENGINE_ASK, |
221 TemplateURLPrepopulateData::GetEngineType("http://www.ask.com/")); | 225 TemplateURLPrepopulateData::GetEngineType("http://www.ask.com/")); |
222 EXPECT_EQ(SEARCH_ENGINE_OTHER, | 226 EXPECT_EQ(SEARCH_ENGINE_OTHER, |
223 TemplateURLPrepopulateData::GetEngineType("http://search.atlas.cz/")); | 227 TemplateURLPrepopulateData::GetEngineType("http://search.atlas.cz/")); |
224 EXPECT_EQ(SEARCH_ENGINE_GOOGLE, | 228 EXPECT_EQ(SEARCH_ENGINE_GOOGLE, |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 | 295 |
292 TEST(TemplateURLPrepopulateDataTest, GetLogoURLInvalid) { | 296 TEST(TemplateURLPrepopulateDataTest, GetLogoURLInvalid) { |
293 TemplateURLData data; | 297 TemplateURLData data; |
294 data.SetURL("http://invalid:search:url/"); | 298 data.SetURL("http://invalid:search:url/"); |
295 TemplateURL turl(NULL, data); | 299 TemplateURL turl(NULL, data); |
296 GURL logo_url = TemplateURLPrepopulateData::GetLogoURL( | 300 GURL logo_url = TemplateURLPrepopulateData::GetLogoURL( |
297 turl, TemplateURLPrepopulateData::LOGO_100_PERCENT); | 301 turl, TemplateURLPrepopulateData::LOGO_100_PERCENT); |
298 | 302 |
299 EXPECT_TRUE(logo_url.is_empty()); | 303 EXPECT_TRUE(logo_url.is_empty()); |
300 } | 304 } |
OLD | NEW |