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

Side by Side Diff: components/search_engines/keyword_table_unittest.cc

Issue 1135163002: Omnibox - Strip Extra Whitespace from Custom Search Engine Names (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix more tests that don't set short_name Created 5 years, 7 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 unified diff | Download patch
« no previous file with comments | « components/search_engines/keyword_table.cc ('k') | components/search_engines/template_url.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 24 matching lines...) Expand all
35 db_->AddTable(table_.get()); 35 db_->AddTable(table_.get());
36 ASSERT_EQ(sql::INIT_OK, db_->Init(file_)); 36 ASSERT_EQ(sql::INIT_OK, db_->Init(file_));
37 } 37 }
38 38
39 void AddKeyword(const TemplateURLData& keyword) const { 39 void AddKeyword(const TemplateURLData& keyword) const {
40 EXPECT_TRUE(table_->AddKeyword(keyword)); 40 EXPECT_TRUE(table_->AddKeyword(keyword));
41 } 41 }
42 42
43 TemplateURLData CreateAndAddKeyword() const { 43 TemplateURLData CreateAndAddKeyword() const {
44 TemplateURLData keyword; 44 TemplateURLData keyword;
45 keyword.short_name = ASCIIToUTF16("short_name"); 45 keyword.SetShortName(ASCIIToUTF16("short_name"));
46 keyword.SetKeyword(ASCIIToUTF16("keyword")); 46 keyword.SetKeyword(ASCIIToUTF16("keyword"));
47 keyword.SetURL("http://url/"); 47 keyword.SetURL("http://url/");
48 keyword.suggestions_url = "url2"; 48 keyword.suggestions_url = "url2";
49 keyword.instant_url = "http://instant/"; 49 keyword.instant_url = "http://instant/";
50 keyword.image_url = "http://image-search-url/"; 50 keyword.image_url = "http://image-search-url/";
51 keyword.new_tab_url = "http://new-tab-url/"; 51 keyword.new_tab_url = "http://new-tab-url/";
52 keyword.search_url_post_params = "ie=utf-8,oe=utf-8"; 52 keyword.search_url_post_params = "ie=utf-8,oe=utf-8";
53 keyword.image_url_post_params = "name=1,value=2"; 53 keyword.image_url_post_params = "name=1,value=2";
54 keyword.favicon_url = GURL("http://favicon.url/"); 54 keyword.favicon_url = GURL("http://favicon.url/");
55 keyword.originating_url = GURL("http://google.com/"); 55 keyword.originating_url = GURL("http://google.com/");
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 }; 110 };
111 111
112 112
113 TEST_F(KeywordTableTest, Keywords) { 113 TEST_F(KeywordTableTest, Keywords) {
114 TemplateURLData keyword(CreateAndAddKeyword()); 114 TemplateURLData keyword(CreateAndAddKeyword());
115 115
116 KeywordTable::Keywords keywords(GetKeywords()); 116 KeywordTable::Keywords keywords(GetKeywords());
117 EXPECT_EQ(1U, keywords.size()); 117 EXPECT_EQ(1U, keywords.size());
118 const TemplateURLData& restored_keyword = keywords.front(); 118 const TemplateURLData& restored_keyword = keywords.front();
119 119
120 EXPECT_EQ(keyword.short_name, restored_keyword.short_name); 120 EXPECT_EQ(keyword.short_name(), restored_keyword.short_name());
121 EXPECT_EQ(keyword.keyword(), restored_keyword.keyword()); 121 EXPECT_EQ(keyword.keyword(), restored_keyword.keyword());
122 EXPECT_EQ(keyword.url(), restored_keyword.url()); 122 EXPECT_EQ(keyword.url(), restored_keyword.url());
123 EXPECT_EQ(keyword.suggestions_url, restored_keyword.suggestions_url); 123 EXPECT_EQ(keyword.suggestions_url, restored_keyword.suggestions_url);
124 EXPECT_EQ(keyword.instant_url, restored_keyword.instant_url); 124 EXPECT_EQ(keyword.instant_url, restored_keyword.instant_url);
125 EXPECT_EQ(keyword.favicon_url, restored_keyword.favicon_url); 125 EXPECT_EQ(keyword.favicon_url, restored_keyword.favicon_url);
126 EXPECT_EQ(keyword.originating_url, restored_keyword.originating_url); 126 EXPECT_EQ(keyword.originating_url, restored_keyword.originating_url);
127 EXPECT_EQ(keyword.show_in_default_list, 127 EXPECT_EQ(keyword.show_in_default_list,
128 restored_keyword.show_in_default_list); 128 restored_keyword.show_in_default_list);
129 EXPECT_EQ(keyword.safe_for_autoreplace, 129 EXPECT_EQ(keyword.safe_for_autoreplace,
130 restored_keyword.safe_for_autoreplace); 130 restored_keyword.safe_for_autoreplace);
(...skipping 24 matching lines...) Expand all
155 keyword.instant_url = "http://instant2/"; 155 keyword.instant_url = "http://instant2/";
156 keyword.originating_url = GURL("http://originating.url/"); 156 keyword.originating_url = GURL("http://originating.url/");
157 keyword.input_encodings.push_back("Shift_JIS"); 157 keyword.input_encodings.push_back("Shift_JIS");
158 keyword.prepopulate_id = 5; 158 keyword.prepopulate_id = 5;
159 UpdateKeyword(keyword); 159 UpdateKeyword(keyword);
160 160
161 KeywordTable::Keywords keywords(GetKeywords()); 161 KeywordTable::Keywords keywords(GetKeywords());
162 EXPECT_EQ(1U, keywords.size()); 162 EXPECT_EQ(1U, keywords.size());
163 const TemplateURLData& restored_keyword = keywords.front(); 163 const TemplateURLData& restored_keyword = keywords.front();
164 164
165 EXPECT_EQ(keyword.short_name, restored_keyword.short_name); 165 EXPECT_EQ(keyword.short_name(), restored_keyword.short_name());
166 EXPECT_EQ(keyword.keyword(), restored_keyword.keyword()); 166 EXPECT_EQ(keyword.keyword(), restored_keyword.keyword());
167 EXPECT_EQ(keyword.suggestions_url, restored_keyword.suggestions_url); 167 EXPECT_EQ(keyword.suggestions_url, restored_keyword.suggestions_url);
168 EXPECT_EQ(keyword.instant_url, restored_keyword.instant_url); 168 EXPECT_EQ(keyword.instant_url, restored_keyword.instant_url);
169 EXPECT_EQ(keyword.favicon_url, restored_keyword.favicon_url); 169 EXPECT_EQ(keyword.favicon_url, restored_keyword.favicon_url);
170 EXPECT_EQ(keyword.originating_url, restored_keyword.originating_url); 170 EXPECT_EQ(keyword.originating_url, restored_keyword.originating_url);
171 EXPECT_EQ(keyword.show_in_default_list, 171 EXPECT_EQ(keyword.show_in_default_list,
172 restored_keyword.show_in_default_list); 172 restored_keyword.show_in_default_list);
173 EXPECT_EQ(keyword.safe_for_autoreplace, 173 EXPECT_EQ(keyword.safe_for_autoreplace,
174 restored_keyword.safe_for_autoreplace); 174 restored_keyword.safe_for_autoreplace);
175 EXPECT_EQ(keyword.input_encodings, restored_keyword.input_encodings); 175 EXPECT_EQ(keyword.input_encodings, restored_keyword.input_encodings);
176 EXPECT_EQ(keyword.id, restored_keyword.id); 176 EXPECT_EQ(keyword.id, restored_keyword.id);
177 EXPECT_EQ(keyword.prepopulate_id, restored_keyword.prepopulate_id); 177 EXPECT_EQ(keyword.prepopulate_id, restored_keyword.prepopulate_id);
178 } 178 }
179 179
180 TEST_F(KeywordTableTest, KeywordWithNoFavicon) { 180 TEST_F(KeywordTableTest, KeywordWithNoFavicon) {
181 TemplateURLData keyword; 181 TemplateURLData keyword;
182 keyword.short_name = ASCIIToUTF16("short_name"); 182 keyword.SetShortName(ASCIIToUTF16("short_name"));
183 keyword.SetKeyword(ASCIIToUTF16("keyword")); 183 keyword.SetKeyword(ASCIIToUTF16("keyword"));
184 keyword.SetURL("http://url/"); 184 keyword.SetURL("http://url/");
185 keyword.safe_for_autoreplace = true; 185 keyword.safe_for_autoreplace = true;
186 keyword.id = -100; 186 keyword.id = -100;
187 AddKeyword(keyword); 187 AddKeyword(keyword);
188 188
189 KeywordTable::Keywords keywords(GetKeywords()); 189 KeywordTable::Keywords keywords(GetKeywords());
190 EXPECT_EQ(1U, keywords.size()); 190 EXPECT_EQ(1U, keywords.size());
191 const TemplateURLData& restored_keyword = keywords.front(); 191 const TemplateURLData& restored_keyword = keywords.front();
192 192
193 EXPECT_EQ(keyword.short_name, restored_keyword.short_name); 193 EXPECT_EQ(keyword.short_name(), restored_keyword.short_name());
194 EXPECT_EQ(keyword.keyword(), restored_keyword.keyword()); 194 EXPECT_EQ(keyword.keyword(), restored_keyword.keyword());
195 EXPECT_EQ(keyword.favicon_url, restored_keyword.favicon_url); 195 EXPECT_EQ(keyword.favicon_url, restored_keyword.favicon_url);
196 EXPECT_EQ(keyword.safe_for_autoreplace, 196 EXPECT_EQ(keyword.safe_for_autoreplace,
197 restored_keyword.safe_for_autoreplace); 197 restored_keyword.safe_for_autoreplace);
198 EXPECT_EQ(keyword.id, restored_keyword.id); 198 EXPECT_EQ(keyword.id, restored_keyword.id);
199 } 199 }
200 200
201 TEST_F(KeywordTableTest, SanitizeURLs) { 201 TEST_F(KeywordTableTest, SanitizeURLs) {
202 TemplateURLData keyword; 202 TemplateURLData keyword;
203 keyword.short_name = ASCIIToUTF16("legit"); 203 keyword.SetShortName(ASCIIToUTF16("legit"));
204 keyword.SetKeyword(ASCIIToUTF16("legit")); 204 keyword.SetKeyword(ASCIIToUTF16("legit"));
205 keyword.SetURL("http://url/"); 205 keyword.SetURL("http://url/");
206 keyword.id = 1000; 206 keyword.id = 1000;
207 AddKeyword(keyword); 207 AddKeyword(keyword);
208 208
209 keyword.short_name = ASCIIToUTF16("bogus"); 209 keyword.SetShortName(ASCIIToUTF16("bogus"));
210 keyword.SetKeyword(ASCIIToUTF16("bogus")); 210 keyword.SetKeyword(ASCIIToUTF16("bogus"));
211 keyword.id = 2000; 211 keyword.id = 2000;
212 AddKeyword(keyword); 212 AddKeyword(keyword);
213 213
214 EXPECT_EQ(2U, GetKeywords().size()); 214 EXPECT_EQ(2U, GetKeywords().size());
215 215
216 // Erase the URL field for the second keyword to simulate having bogus data 216 // Erase the URL field for the second keyword to simulate having bogus data
217 // previously saved into the database. 217 // previously saved into the database.
218 sql::Statement s; 218 sql::Statement s;
219 GetStatement("UPDATE keywords SET url=? WHERE id=?", &s); 219 GetStatement("UPDATE keywords SET url=? WHERE id=?", &s);
220 s.BindString16(0, base::string16()); 220 s.BindString16(0, base::string16());
221 s.BindInt64(1, 2000); 221 s.BindInt64(1, 2000);
222 EXPECT_TRUE(s.Run()); 222 EXPECT_TRUE(s.Run());
223 223
224 // GetKeywords() should erase the entry with the empty URL field. 224 // GetKeywords() should erase the entry with the empty URL field.
225 EXPECT_EQ(1U, GetKeywords().size()); 225 EXPECT_EQ(1U, GetKeywords().size());
226 } 226 }
227
228 TEST_F(KeywordTableTest, SanitizeShortName) {
229 TemplateURLData keyword;
230 {
231 keyword.SetShortName(ASCIIToUTF16("legit name"));
232 keyword.SetKeyword(ASCIIToUTF16("legit"));
233 keyword.SetURL("http://url/");
234 keyword.id = 1000;
235 AddKeyword(keyword);
236 KeywordTable::Keywords keywords(GetKeywords());
237 EXPECT_EQ(1U, keywords.size());
238 const TemplateURLData& keyword_from_database = keywords.front();
239 EXPECT_EQ(keyword.id, keyword_from_database.id);
240 EXPECT_EQ(ASCIIToUTF16("legit name"), keyword_from_database.short_name());
241 RemoveKeyword(keyword.id);
242 }
243
244 {
245 keyword.SetShortName(ASCIIToUTF16("\t\tbogus \tname \n"));
246 keyword.SetKeyword(ASCIIToUTF16("bogus"));
247 keyword.id = 2000;
248 AddKeyword(keyword);
249 KeywordTable::Keywords keywords(GetKeywords());
250 EXPECT_EQ(1U, keywords.size());
251 const TemplateURLData& keyword_from_database = keywords.front();
252 EXPECT_EQ(keyword.id, keyword_from_database.id);
253 EXPECT_EQ(ASCIIToUTF16("bogus name"), keyword_from_database.short_name());
254 RemoveKeyword(keyword.id);
255 }
256 }
OLDNEW
« no previous file with comments | « components/search_engines/keyword_table.cc ('k') | components/search_engines/template_url.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698