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

Unified Diff: chrome/browser/history/thumbnail_database_unittest.cc

Issue 10815068: Changes favicon database to support storing bitmaps of different sizes for the same icon_url (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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/history/thumbnail_database_unittest.cc
diff --git a/chrome/browser/history/thumbnail_database_unittest.cc b/chrome/browser/history/thumbnail_database_unittest.cc
index 011772907e47d200bde7f0f38e317793d9ad3f29..0d8297f4b9f07e325a4dd5ea295d0184bafe424e 100644
--- a/chrome/browser/history/thumbnail_database_unittest.cc
+++ b/chrome/browser/history/thumbnail_database_unittest.cc
@@ -275,19 +275,20 @@ TEST_F(ThumbnailDatabaseTest, UpgradeToVersion4) {
EXPECT_TRUE(db.UpgradeToVersion4());
- std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1));
- scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data));
-
GURL url("http://google.com");
- FaviconID id = db.AddFavicon(url, TOUCH_ICON);
- base::Time time = base::Time::Now();
- db.SetFavicon(id, favicon, time);
- EXPECT_TRUE(0 < db.AddIconMapping(url, id));
- IconMapping icon_mapping;
- EXPECT_TRUE(db.GetIconMappingForPageURL(url, TOUCH_ICON, &icon_mapping));
- EXPECT_EQ(url, icon_mapping.page_url);
- EXPECT_EQ(id, icon_mapping.icon_id);
+ sql::Statement statement;
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE,
+ "INSERT INTO favicons (url, icon_type) VALUES (?, ?)"));
+ statement.BindString(0, URLDatabase::GURLToDatabaseURL(url));
+ statement.BindInt(1, TOUCH_ICON);
+ EXPECT_TRUE(statement.Run());
+
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE,
+ "SELECT icon_type FROM favicons"));
+ EXPECT_TRUE(statement.Step());
+
+ EXPECT_EQ(TOUCH_ICON, static_cast<IconType>(statement.ColumnInt(0)));
}
TEST_F(ThumbnailDatabaseTest, UpgradeToVersion5) {
@@ -318,6 +319,58 @@ TEST_F(ThumbnailDatabaseTest, UpgradeToVersion5) {
EXPECT_TRUE(db.db_.Execute(sql.c_str()));
}
+TEST_F(ThumbnailDatabaseTest, UpgradeToVersion6) {
+ ThumbnailDatabase db;
+ ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL));
+ db.BeginTransaction();
+
+ const char* name = "favicons";
+ std::string sql;
+ sql.append("DROP TABLE IF EXISTS ");
+ sql.append(name);
+ EXPECT_TRUE(db.db_.Execute(sql.c_str()));
+
+ sql.resize(0);
+ sql.append("CREATE TABLE ");
+ sql.append(name);
+ sql.append("("
+ "id INTEGER PRIMARY KEY,"
+ "url LONGVARCHAR NOT NULL,"
+ "last_updated INTEGER DEFAULT 0,"
+ "image_data BLOB,"
+ "icon_type INTEGER DEFAULT 1,"
+ "sizes LONGVARCHAR)");
+ EXPECT_TRUE(db.db_.Execute(sql.c_str()));
+
+ GURL url("http://google.com");
+
+ sql::Statement statement;
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE,
+ "INSERT INTO favicons (url, icon_type) VALUES (?, ?)"));
+ statement.BindString(0, URLDatabase::GURLToDatabaseURL(url));
+ statement.BindInt(1, FAVICON);
+ EXPECT_TRUE(statement.Run());
+
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE,
+ "INSERT INTO favicons (url, icon_type) VALUES (?, ?)"));
+ statement.BindString(0, URLDatabase::GURLToDatabaseURL(url));
+ statement.BindInt(1, TOUCH_ICON);
+ EXPECT_TRUE(statement.Run());
+
+ EXPECT_TRUE(db.UpgradeToVersion6());
+
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE,
+ "SELECT icon_type, size FROM favicons ORDER BY icon_type ASC"));
+
+ EXPECT_TRUE(statement.Step());
+ EXPECT_EQ(FAVICON, statement.ColumnInt(0));
+ EXPECT_EQ(16, statement.ColumnInt(1));
+
+ EXPECT_TRUE(statement.Step());
+ EXPECT_EQ(TOUCH_ICON, statement.ColumnInt(0));
+ EXPECT_EQ(0, statement.ColumnInt(1));
+}
+
TEST_F(ThumbnailDatabaseTest, TemporayIconMapping) {
ThumbnailDatabase db;
« chrome/browser/history/thumbnail_database.cc ('K') | « chrome/browser/history/thumbnail_database.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698