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

Side by Side Diff: chrome/browser/webdata/keyword_table_unittest.cc

Issue 11493003: Remove the protector service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix implicit ExtensionSystem -> TemplateURLService dependency Created 8 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/webdata/keyword_table.cc ('k') | chrome/browser/webdata/web_data_service.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/file_util.h" 8 #include "base/file_util.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 keyword.prepopulate_id = 10; 126 keyword.prepopulate_id = 10;
127 EXPECT_TRUE(keyword_table->AddKeyword(keyword)); 127 EXPECT_TRUE(keyword_table->AddKeyword(keyword));
128 128
129 EXPECT_TRUE(keyword_table->SetDefaultSearchProviderID(10)); 129 EXPECT_TRUE(keyword_table->SetDefaultSearchProviderID(10));
130 EXPECT_TRUE(keyword_table->SetBuiltinKeywordVersion(11)); 130 EXPECT_TRUE(keyword_table->SetBuiltinKeywordVersion(11));
131 131
132 EXPECT_EQ(10, keyword_table->GetDefaultSearchProviderID()); 132 EXPECT_EQ(10, keyword_table->GetDefaultSearchProviderID());
133 EXPECT_EQ(11, keyword_table->GetBuiltinKeywordVersion()); 133 EXPECT_EQ(11, keyword_table->GetBuiltinKeywordVersion());
134 } 134 }
135 135
136 TEST_F(KeywordTableTest, DefaultSearchProviderBackup) {
137 // TODO(ivankr): suppress keyword_table.cc ERROR logs.
138 WebDatabase db;
139 ASSERT_EQ(sql::INIT_OK, db.Init(file_));
140 KeywordTable* keyword_table = db.GetKeywordTable();
141
142 EXPECT_EQ(kInvalidTemplateURLID, keyword_table->GetDefaultSearchProviderID());
143
144 TemplateURLData keyword;
145 keyword.short_name = ASCIIToUTF16("short_name");
146 keyword.SetKeyword(ASCIIToUTF16("keyword"));
147 keyword.SetURL("http://url/");
148 keyword.suggestions_url = "url2";
149 keyword.favicon_url = GURL("http://favicon.url/");
150 keyword.show_in_default_list = true;
151 keyword.safe_for_autoreplace = true;
152 keyword.id = 1;
153 EXPECT_TRUE(keyword_table->AddKeyword(keyword));
154
155 EXPECT_TRUE(keyword_table->SetDefaultSearchProviderID(1));
156 EXPECT_TRUE(keyword_table->IsBackupSignatureValid(
157 WebDatabase::kCurrentVersionNumber));
158 EXPECT_EQ(1, keyword_table->GetDefaultSearchProviderID());
159
160 TemplateURLData backup;
161 EXPECT_TRUE(keyword_table->GetDefaultSearchProviderBackup(&backup));
162 // Backup URL should have an invalid ID.
163 EXPECT_EQ(kInvalidTemplateURLID, backup.id);
164 EXPECT_EQ(keyword.short_name, backup.short_name);
165 EXPECT_EQ(keyword.keyword(), backup.keyword());
166 EXPECT_EQ(keyword.url(), backup.url());
167 EXPECT_EQ(keyword.favicon_url, backup.favicon_url);
168 EXPECT_EQ(keyword.suggestions_url, backup.suggestions_url);
169 EXPECT_EQ(keyword.show_in_default_list, backup.show_in_default_list);
170 EXPECT_EQ(keyword.safe_for_autoreplace, backup.safe_for_autoreplace);
171 EXPECT_FALSE(keyword_table->DidDefaultSearchProviderChange());
172
173 // Change the actual setting.
174 EXPECT_TRUE(keyword_table->meta_table_->SetValue(
175 KeywordTable::kDefaultSearchProviderKey, 2));
176 EXPECT_TRUE(keyword_table->IsBackupSignatureValid(
177 WebDatabase::kCurrentVersionNumber));
178 EXPECT_EQ(2, keyword_table->GetDefaultSearchProviderID());
179
180 EXPECT_TRUE(keyword_table->GetDefaultSearchProviderBackup(&backup));
181 EXPECT_EQ(kInvalidTemplateURLID, backup.id);
182 EXPECT_EQ(keyword.short_name, backup.short_name);
183 EXPECT_EQ(keyword.keyword(), backup.keyword());
184 EXPECT_EQ(keyword.url(), backup.url());
185 EXPECT_EQ(keyword.favicon_url, backup.favicon_url);
186 EXPECT_EQ(keyword.suggestions_url, backup.suggestions_url);
187 EXPECT_EQ(keyword.show_in_default_list, backup.show_in_default_list);
188 EXPECT_EQ(keyword.safe_for_autoreplace, backup.safe_for_autoreplace);
189 EXPECT_TRUE(keyword_table->DidDefaultSearchProviderChange());
190
191 // Change the backup.
192 EXPECT_TRUE(keyword_table->meta_table_->SetValue(
193 KeywordTable::kDefaultSearchProviderKey, 1));
194 EXPECT_TRUE(keyword_table->meta_table_->SetValue(
195 KeywordTable::kDefaultSearchIDBackupKey, 2));
196 EXPECT_FALSE(keyword_table->IsBackupSignatureValid(
197 WebDatabase::kCurrentVersionNumber));
198 EXPECT_EQ(1, keyword_table->GetDefaultSearchProviderID());
199 EXPECT_FALSE(keyword_table->GetDefaultSearchProviderBackup(&backup));
200 EXPECT_TRUE(keyword_table->DidDefaultSearchProviderChange());
201
202 // Change the signature.
203 EXPECT_TRUE(keyword_table->meta_table_->SetValue(
204 KeywordTable::kDefaultSearchIDBackupKey, 1));
205 EXPECT_TRUE(keyword_table->meta_table_->SetValue(
206 KeywordTable::kBackupSignatureKey, std::string()));
207 EXPECT_FALSE(keyword_table->IsBackupSignatureValid(
208 WebDatabase::kCurrentVersionNumber));
209 EXPECT_EQ(1, keyword_table->GetDefaultSearchProviderID());
210 EXPECT_FALSE(keyword_table->GetDefaultSearchProviderBackup(&backup));
211 EXPECT_TRUE(keyword_table->DidDefaultSearchProviderChange());
212
213 // Change keywords.
214 EXPECT_TRUE(keyword_table->UpdateBackupSignature(
215 WebDatabase::kCurrentVersionNumber));
216 sql::Statement remove_keyword(keyword_table->db_->GetUniqueStatement(
217 "DELETE FROM keywords WHERE id=1"));
218 EXPECT_TRUE(remove_keyword.Run());
219 EXPECT_TRUE(keyword_table->IsBackupSignatureValid(
220 WebDatabase::kCurrentVersionNumber));
221 EXPECT_EQ(1, keyword_table->GetDefaultSearchProviderID());
222
223 EXPECT_TRUE(keyword_table->GetDefaultSearchProviderBackup(&backup));
224 EXPECT_EQ(kInvalidTemplateURLID, backup.id);
225 EXPECT_EQ(keyword.short_name, backup.short_name);
226 EXPECT_EQ(keyword.keyword(), backup.keyword());
227 EXPECT_EQ(keyword.url(), backup.url());
228 EXPECT_EQ(keyword.suggestions_url, backup.suggestions_url);
229 EXPECT_EQ(keyword.favicon_url, backup.favicon_url);
230 EXPECT_EQ(keyword.show_in_default_list, backup.show_in_default_list);
231 EXPECT_EQ(keyword.safe_for_autoreplace, backup.safe_for_autoreplace);
232 EXPECT_TRUE(keyword_table->DidDefaultSearchProviderChange());
233
234 // Change keywords backup.
235 sql::Statement remove_keyword_backup(keyword_table->db_->GetUniqueStatement(
236 "DELETE FROM keywords_backup WHERE id=1"));
237 EXPECT_TRUE(remove_keyword_backup.Run());
238 EXPECT_FALSE(keyword_table->IsBackupSignatureValid(
239 WebDatabase::kCurrentVersionNumber));
240 EXPECT_EQ(1, keyword_table->GetDefaultSearchProviderID());
241 EXPECT_FALSE(keyword_table->GetDefaultSearchProviderBackup(&backup));
242 EXPECT_TRUE(keyword_table->DidDefaultSearchProviderChange());
243 }
244
245 TEST_F(KeywordTableTest, GetTableContents) { 136 TEST_F(KeywordTableTest, GetTableContents) {
246 WebDatabase db; 137 WebDatabase db;
247 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); 138 ASSERT_EQ(sql::INIT_OK, db.Init(file_));
248 KeywordTable* keyword_table = db.GetKeywordTable(); 139 KeywordTable* keyword_table = db.GetKeywordTable();
249 140
250 TemplateURLData keyword; 141 TemplateURLData keyword;
251 keyword.short_name = ASCIIToUTF16("short_name"); 142 keyword.short_name = ASCIIToUTF16("short_name");
252 keyword.SetKeyword(ASCIIToUTF16("keyword")); 143 keyword.SetKeyword(ASCIIToUTF16("keyword"));
253 keyword.SetURL("http://url/"); 144 keyword.SetURL("http://url/");
254 keyword.suggestions_url = "url2"; 145 keyword.suggestions_url = "url2";
(...skipping 20 matching lines...) Expand all
275 166
276 const char kTestContents[] = "1short_namekeywordhttp://favicon.url/" 167 const char kTestContents[] = "1short_namekeywordhttp://favicon.url/"
277 "http://url/1001url20001234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]" 168 "http://url/1001url20001234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]"
278 "2short_nameurlhttp://favicon.url/http://url/1http://originating.url/00" 169 "2short_nameurlhttp://favicon.url/http://url/1http://originating.url/00"
279 "Shift_JIS1url250http://instant2/0FEDC-BA09-8765-4321[]"; 170 "Shift_JIS1url250http://instant2/0FEDC-BA09-8765-4321[]";
280 171
281 std::string contents; 172 std::string contents;
282 EXPECT_TRUE(keyword_table->GetTableContents("keywords", 173 EXPECT_TRUE(keyword_table->GetTableContents("keywords",
283 WebDatabase::kCurrentVersionNumber, &contents)); 174 WebDatabase::kCurrentVersionNumber, &contents));
284 EXPECT_EQ(kTestContents, contents); 175 EXPECT_EQ(kTestContents, contents);
285
286 EXPECT_TRUE(keyword_table->GetTableContents("keywords_backup",
287 WebDatabase::kCurrentVersionNumber, &contents));
288 EXPECT_EQ(kTestContents, contents);
289 } 176 }
290 177
291 TEST_F(KeywordTableTest, GetTableContentsOrdering) { 178 TEST_F(KeywordTableTest, GetTableContentsOrdering) {
292 WebDatabase db; 179 WebDatabase db;
293 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); 180 ASSERT_EQ(sql::INIT_OK, db.Init(file_));
294 KeywordTable* keyword_table = db.GetKeywordTable(); 181 KeywordTable* keyword_table = db.GetKeywordTable();
295 182
296 TemplateURLData keyword; 183 TemplateURLData keyword;
297 keyword.short_name = ASCIIToUTF16("short_name"); 184 keyword.short_name = ASCIIToUTF16("short_name");
298 keyword.SetKeyword(ASCIIToUTF16("keyword")); 185 keyword.SetKeyword(ASCIIToUTF16("keyword"));
(...skipping 23 matching lines...) Expand all
322 const char kTestContents[] = "1short_nameurlhttp://favicon.url/http://url/1" 209 const char kTestContents[] = "1short_nameurlhttp://favicon.url/http://url/1"
323 "http://originating.url/00Shift_JIS1url250http://instant2/0" 210 "http://originating.url/00Shift_JIS1url250http://instant2/0"
324 "FEDC-BA09-8765-4321[]" 211 "FEDC-BA09-8765-4321[]"
325 "2short_namekeywordhttp://favicon.url/http://url/1001" 212 "2short_namekeywordhttp://favicon.url/http://url/1001"
326 "url20001234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]"; 213 "url20001234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]";
327 214
328 std::string contents; 215 std::string contents;
329 EXPECT_TRUE(keyword_table->GetTableContents("keywords", 216 EXPECT_TRUE(keyword_table->GetTableContents("keywords",
330 WebDatabase::kCurrentVersionNumber, &contents)); 217 WebDatabase::kCurrentVersionNumber, &contents));
331 EXPECT_EQ(kTestContents, contents); 218 EXPECT_EQ(kTestContents, contents);
332
333 EXPECT_TRUE(keyword_table->GetTableContents("keywords_backup",
334 WebDatabase::kCurrentVersionNumber, &contents));
335 EXPECT_EQ(kTestContents, contents);
336 } 219 }
337 220
338 TEST_F(KeywordTableTest, UpdateKeyword) { 221 TEST_F(KeywordTableTest, UpdateKeyword) {
339 WebDatabase db; 222 WebDatabase db;
340 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); 223 ASSERT_EQ(sql::INIT_OK, db.Init(file_));
341 KeywordTable* keyword_table = db.GetKeywordTable(); 224 KeywordTable* keyword_table = db.GetKeywordTable();
342 225
343 TemplateURLData keyword; 226 TemplateURLData keyword;
344 keyword.short_name = ASCIIToUTF16("short_name"); 227 keyword.short_name = ASCIIToUTF16("short_name");
345 keyword.SetKeyword(ASCIIToUTF16("keyword")); 228 keyword.SetKeyword(ASCIIToUTF16("keyword"));
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 EXPECT_EQ(2U, keywords.size()); 309 EXPECT_EQ(2U, keywords.size());
427 keywords.clear(); 310 keywords.clear();
428 311
429 // Erase the URL field for the second keyword to simulate having bogus data 312 // Erase the URL field for the second keyword to simulate having bogus data
430 // previously saved into the database. 313 // previously saved into the database.
431 sql::Statement s(keyword_table->db_->GetUniqueStatement( 314 sql::Statement s(keyword_table->db_->GetUniqueStatement(
432 "UPDATE keywords SET url=? WHERE id=?")); 315 "UPDATE keywords SET url=? WHERE id=?"));
433 s.BindString16(0, string16()); 316 s.BindString16(0, string16());
434 s.BindInt64(1, 2000); 317 s.BindInt64(1, 2000);
435 EXPECT_TRUE(s.Run()); 318 EXPECT_TRUE(s.Run());
436 EXPECT_TRUE(keyword_table->UpdateBackupSignature(
437 WebDatabase::kCurrentVersionNumber));
438 319
439 // GetKeywords() should erase the entry with the empty URL field. 320 // GetKeywords() should erase the entry with the empty URL field.
440 EXPECT_TRUE(keyword_table->GetKeywords(&keywords)); 321 EXPECT_TRUE(keyword_table->GetKeywords(&keywords));
441 EXPECT_EQ(1U, keywords.size()); 322 EXPECT_EQ(1U, keywords.size());
442 } 323 }
OLDNEW
« no previous file with comments | « chrome/browser/webdata/keyword_table.cc ('k') | chrome/browser/webdata/web_data_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698