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

Unified Diff: chrome/browser/webdata/keyword_table_unittest.cc

Issue 217613002: Misc. cleanup found while mucking with search engines code: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/webdata/keyword_table_unittest.cc
===================================================================
--- chrome/browser/webdata/keyword_table_unittest.cc (revision 259649)
+++ chrome/browser/webdata/keyword_table_unittest.cc (working copy)
@@ -37,38 +37,91 @@
ASSERT_EQ(sql::INIT_OK, db_->Init(file_));
}
+ void AddKeyword(const TemplateURLData& keyword) const {
+ EXPECT_TRUE(table_->AddKeyword(keyword));
+ }
+
+ TemplateURLData CreateAndAddKeyword(TemplateURLID id) const {
+ TemplateURLData keyword;
+ keyword.short_name = ASCIIToUTF16("short_name");
+ keyword.SetKeyword(ASCIIToUTF16("keyword"));
+ keyword.SetURL("http://url/");
+ keyword.suggestions_url = "url2";
+ keyword.instant_url = "http://instant/";
+ keyword.image_url = "http://image-search-url/";
+ keyword.new_tab_url = "http://new-tab-url/";
+ keyword.search_url_post_params = "ie=utf-8,oe=utf-8";
+ keyword.image_url_post_params = "name=1,value=2";
+ keyword.favicon_url = GURL("http://favicon.url/");
+ keyword.originating_url = GURL("http://google.com/");
+ keyword.show_in_default_list = true;
+ keyword.safe_for_autoreplace = true;
+ keyword.input_encodings.push_back("UTF-8");
+ keyword.input_encodings.push_back("UTF-16");
+ keyword.id = id;
+ keyword.date_created = base::Time::UnixEpoch();
+ keyword.last_modified = base::Time::UnixEpoch();
+ keyword.created_by_policy = true;
+ keyword.usage_count = 32;
+ keyword.prepopulate_id = 10;
+ keyword.sync_guid = "1234-5678-90AB-CDEF";
+ keyword.alternate_urls.push_back("a_url1");
+ keyword.alternate_urls.push_back("a_url2");
+ keyword.search_terms_replacement_key = "espv";
+ AddKeyword(keyword);
+ return keyword;
+ }
+
+ void RemoveKeyword(TemplateURLID id) const {
+ EXPECT_TRUE(table_->RemoveKeyword(id));
+ }
+
+ void UpdateKeyword(const TemplateURLData& keyword) const {
+ EXPECT_TRUE(table_->UpdateKeyword(keyword));
+ }
+
+ KeywordTable::Keywords GetKeywords() const {
+ KeywordTable::Keywords keywords;
+ EXPECT_TRUE(table_->GetKeywords(&keywords));
+ return keywords;
+ }
+
+ void KeywordMiscTest() const {
+ EXPECT_EQ(kInvalidTemplateURLID, table_->GetDefaultSearchProviderID());
+ EXPECT_EQ(0, table_->GetBuiltinKeywordVersion());
+
+ EXPECT_TRUE(table_->SetDefaultSearchProviderID(10));
+ EXPECT_TRUE(table_->SetBuiltinKeywordVersion(11));
+
+ EXPECT_EQ(10, table_->GetDefaultSearchProviderID());
+ EXPECT_EQ(11, table_->GetBuiltinKeywordVersion());
+ }
+
+ void CheckTableContents(const std::string& expected_contents) const {
+ std::string table_contents;
+ EXPECT_TRUE(table_->GetTableContents(
+ "keywords", WebDatabase::kCurrentVersionNumber, &table_contents));
+ EXPECT_EQ(expected_contents, table_contents);
+ }
+
+ void GetStatement(const char* sql, sql::Statement* statement) const {
+ statement->Assign(table_->db_->GetUniqueStatement(sql));
+ }
+
+ private:
base::FilePath file_;
base::ScopedTempDir temp_dir_;
scoped_ptr<KeywordTable> table_;
scoped_ptr<WebDatabase> db_;
- private:
DISALLOW_COPY_AND_ASSIGN(KeywordTableTest);
};
TEST_F(KeywordTableTest, Keywords) {
- TemplateURLData keyword;
- keyword.short_name = ASCIIToUTF16("short_name");
- keyword.SetKeyword(ASCIIToUTF16("keyword"));
- keyword.SetURL("http://url/");
- keyword.instant_url = "http://instant/";
- keyword.favicon_url = GURL("http://favicon.url/");
- keyword.originating_url = GURL("http://google.com/");
- keyword.show_in_default_list = true;
- keyword.safe_for_autoreplace = true;
- keyword.input_encodings.push_back("UTF-8");
- keyword.input_encodings.push_back("UTF-16");
- keyword.id = 1;
- keyword.date_created = Time::Now();
- keyword.last_modified = keyword.date_created + TimeDelta::FromSeconds(10);
- keyword.created_by_policy = true;
- keyword.usage_count = 32;
- keyword.prepopulate_id = 10;
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ TemplateURLData keyword(CreateAndAddKeyword(1));
- KeywordTable::Keywords keywords;
- EXPECT_TRUE(table_->GetKeywords(&keywords));
+ KeywordTable::Keywords keywords(GetKeywords());
EXPECT_EQ(1U, keywords.size());
const TemplateURLData& restored_keyword = keywords.front();
@@ -94,62 +147,17 @@
EXPECT_EQ(keyword.usage_count, restored_keyword.usage_count);
EXPECT_EQ(keyword.prepopulate_id, restored_keyword.prepopulate_id);
- EXPECT_TRUE(table_->RemoveKeyword(restored_keyword.id));
+ RemoveKeyword(restored_keyword.id);
- KeywordTable::Keywords empty_keywords;
- EXPECT_TRUE(table_->GetKeywords(&empty_keywords));
- EXPECT_EQ(0U, empty_keywords.size());
+ EXPECT_EQ(0U, GetKeywords().size());
}
TEST_F(KeywordTableTest, KeywordMisc) {
- EXPECT_EQ(kInvalidTemplateURLID, table_->GetDefaultSearchProviderID());
- EXPECT_EQ(0, table_->GetBuiltinKeywordVersion());
-
- TemplateURLData keyword;
- keyword.short_name = ASCIIToUTF16("short_name");
- keyword.SetKeyword(ASCIIToUTF16("keyword"));
- keyword.SetURL("http://url/");
- keyword.instant_url = "http://instant/";
- keyword.favicon_url = GURL("http://favicon.url/");
- keyword.originating_url = GURL("http://google.com/");
- keyword.show_in_default_list = true;
- keyword.safe_for_autoreplace = true;
- keyword.input_encodings.push_back("UTF-8");
- keyword.input_encodings.push_back("UTF-16");
- keyword.id = 10;
- keyword.date_created = Time::Now();
- keyword.last_modified = keyword.date_created + TimeDelta::FromSeconds(10);
- keyword.created_by_policy = true;
- keyword.usage_count = 32;
- keyword.prepopulate_id = 10;
- EXPECT_TRUE(table_->AddKeyword(keyword));
-
- EXPECT_TRUE(table_->SetDefaultSearchProviderID(10));
- EXPECT_TRUE(table_->SetBuiltinKeywordVersion(11));
-
- EXPECT_EQ(10, table_->GetDefaultSearchProviderID());
- EXPECT_EQ(11, table_->GetBuiltinKeywordVersion());
+ KeywordMiscTest();
}
TEST_F(KeywordTableTest, GetTableContents) {
- TemplateURLData keyword;
- keyword.short_name = ASCIIToUTF16("short_name");
- keyword.SetKeyword(ASCIIToUTF16("keyword"));
- keyword.SetURL("http://url/");
- keyword.suggestions_url = "url2";
- keyword.image_url = "http://image-search-url/";
- keyword.new_tab_url = "http://new-tab-url/";
- keyword.favicon_url = GURL("http://favicon.url/");
- keyword.show_in_default_list = true;
- keyword.safe_for_autoreplace = true;
- keyword.id = 1;
- keyword.date_created = base::Time::UnixEpoch();
- keyword.last_modified = base::Time::UnixEpoch();
- keyword.sync_guid = "1234-5678-90AB-CDEF";
- keyword.alternate_urls.push_back("a_url1");
- keyword.alternate_urls.push_back("a_url2");
- keyword.search_terms_replacement_key = "espv";
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ TemplateURLData keyword(CreateAndAddKeyword(1));
keyword.SetKeyword(ASCIIToUTF16("url"));
keyword.instant_url = "http://instant2/";
@@ -162,41 +170,20 @@
keyword.sync_guid = "FEDC-BA09-8765-4321";
keyword.alternate_urls.clear();
keyword.search_terms_replacement_key.clear();
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ AddKeyword(keyword);
const char kTestContents[] = "1short_namekeywordhttp://favicon.url/"
- "http://url/1001url20001234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]espv"
- "http://image-search-url/http://new-tab-url/2short_nameurl"
- "http://favicon.url/http://url/1http://originating.url/00Shift_JIS1url250"
- "http://instant2/0FEDC-BA09-8765-4321[]";
-
- std::string contents;
- EXPECT_TRUE(table_->GetTableContents("keywords",
- WebDatabase::kCurrentVersionNumber, &contents));
- EXPECT_EQ(kTestContents, contents);
+ "http://url/1http://google.com/032UTF-8;UTF-161url2101http://instant/"
+ "01234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]espv"
+ "http://image-search-url/ie=utf-8,oe=utf-8name=1,value=2"
+ "http://new-tab-url/2short_nameurlhttp://favicon.url/http://url/1"
+ "http://originating.url/032UTF-8;UTF-16;Shift_JIS1url251"
+ "http://instant2/0FEDC-BA09-8765-4321[]ie=utf-8,oe=utf-8name=1,value=2";
+ CheckTableContents(kTestContents);
}
TEST_F(KeywordTableTest, GetTableContentsOrdering) {
- TemplateURLData keyword;
- keyword.short_name = ASCIIToUTF16("short_name");
- keyword.SetKeyword(ASCIIToUTF16("keyword"));
- keyword.SetURL("http://url/");
- keyword.suggestions_url = "url2";
- keyword.favicon_url = GURL("http://favicon.url/");
- keyword.show_in_default_list = true;
- keyword.safe_for_autoreplace = true;
- keyword.id = 2;
- keyword.date_created = base::Time::UnixEpoch();
- keyword.last_modified = base::Time::UnixEpoch();
- keyword.sync_guid = "1234-5678-90AB-CDEF";
- keyword.alternate_urls.push_back("a_url1");
- keyword.alternate_urls.push_back("a_url2");
- keyword.search_terms_replacement_key = "espv";
- keyword.image_url = "http://image-search-url/";
- keyword.search_url_post_params = "ie=utf-8,oe=utf-8";
- keyword.image_url_post_params = "name=1,value=2";
- keyword.new_tab_url = "http://new-tab-url";
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ TemplateURLData keyword(CreateAndAddKeyword(2));
keyword.SetKeyword(ASCIIToUTF16("url"));
keyword.instant_url = "http://instant2/";
@@ -211,32 +198,20 @@
keyword.search_url_post_params.clear();
keyword.image_url_post_params.clear();
keyword.new_tab_url.clear();
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ AddKeyword(keyword);
const char kTestContents[] = "1short_nameurlhttp://favicon.url/"
- "http://url/1http://originating.url/00Shift_JIS1url250http://instant2/"
- "0FEDC-BA09-8765-4321[]2short_namekeywordhttp://favicon.url/http://url/"
- "1001url20001234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]espv"
+ "http://url/1http://originating.url/032UTF-8;UTF-16;Shift_JIS1url251"
+ "http://instant2/0FEDC-BA09-8765-4321[]2short_namekeyword"
+ "http://favicon.url/http://url/1http://google.com/032UTF-8;UTF-161url2101"
+ "http://instant/01234-5678-90AB-CDEF[\"a_url1\",\"a_url2\"]espv"
"http://image-search-url/ie=utf-8,oe=utf-8name=1,value=2"
- "http://new-tab-url";
-
- std::string contents;
- EXPECT_TRUE(table_->GetTableContents("keywords",
- WebDatabase::kCurrentVersionNumber, &contents));
- EXPECT_EQ(kTestContents, contents);
+ "http://new-tab-url/";
+ CheckTableContents(kTestContents);
}
TEST_F(KeywordTableTest, UpdateKeyword) {
- TemplateURLData keyword;
- keyword.short_name = ASCIIToUTF16("short_name");
- keyword.SetKeyword(ASCIIToUTF16("keyword"));
- keyword.SetURL("http://url/");
- keyword.suggestions_url = "url2";
- keyword.favicon_url = GURL("http://favicon.url/");
- keyword.show_in_default_list = true;
- keyword.safe_for_autoreplace = true;
- keyword.id = 1;
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ TemplateURLData keyword(CreateAndAddKeyword(1));
keyword.SetKeyword(ASCIIToUTF16("url"));
keyword.instant_url = "http://instant2/";
@@ -243,10 +218,9 @@
keyword.originating_url = GURL("http://originating.url/");
keyword.input_encodings.push_back("Shift_JIS");
keyword.prepopulate_id = 5;
- EXPECT_TRUE(table_->UpdateKeyword(keyword));
+ UpdateKeyword(keyword);
- KeywordTable::Keywords keywords;
- EXPECT_TRUE(table_->GetKeywords(&keywords));
+ KeywordTable::Keywords keywords(GetKeywords());
EXPECT_EQ(1U, keywords.size());
const TemplateURLData& restored_keyword = keywords.front();
@@ -272,10 +246,9 @@
keyword.SetURL("http://url/");
keyword.safe_for_autoreplace = true;
keyword.id = -100;
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ AddKeyword(keyword);
- KeywordTable::Keywords keywords;
- EXPECT_TRUE(table_->GetKeywords(&keywords));
+ KeywordTable::Keywords keywords(GetKeywords());
EXPECT_EQ(1U, keywords.size());
const TemplateURLData& restored_keyword = keywords.front();
@@ -293,27 +266,23 @@
keyword.SetKeyword(ASCIIToUTF16("legit"));
keyword.SetURL("http://url/");
keyword.id = 1000;
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ AddKeyword(keyword);
keyword.short_name = ASCIIToUTF16("bogus");
keyword.SetKeyword(ASCIIToUTF16("bogus"));
keyword.id = 2000;
- EXPECT_TRUE(table_->AddKeyword(keyword));
+ AddKeyword(keyword);
- KeywordTable::Keywords keywords;
- EXPECT_TRUE(table_->GetKeywords(&keywords));
- EXPECT_EQ(2U, keywords.size());
- keywords.clear();
+ EXPECT_EQ(2U, GetKeywords().size());
// Erase the URL field for the second keyword to simulate having bogus data
// previously saved into the database.
- sql::Statement s(table_->db_->GetUniqueStatement(
- "UPDATE keywords SET url=? WHERE id=?"));
+ sql::Statement s;
+ GetStatement("UPDATE keywords SET url=? WHERE id=?", &s);
s.BindString16(0, base::string16());
s.BindInt64(1, 2000);
EXPECT_TRUE(s.Run());
// GetKeywords() should erase the entry with the empty URL field.
- EXPECT_TRUE(table_->GetKeywords(&keywords));
- EXPECT_EQ(1U, keywords.size());
+ EXPECT_EQ(1U, GetKeywords().size());
}

Powered by Google App Engine
This is Rietveld 408576698