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

Side by Side Diff: chrome/browser/history/android/android_provider_backend_unittest.cc

Issue 10802066: Adds support for saving favicon size into history database. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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 | Annotate | Revision Log
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 "chrome/browser/history/android/android_provider_backend.h" 5 #include "chrome/browser/history/android/android_provider_backend.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 URLRow url_row; 244 URLRow url_row;
245 245
246 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); 246 ASSERT_TRUE(history_backend->GetURL(url1, &url_row));
247 url_id1 = url_row.id(); 247 url_id1 = url_row.id();
248 ASSERT_TRUE(history_backend->GetURL(url2, &url_row)); 248 ASSERT_TRUE(history_backend->GetURL(url2, &url_row));
249 url_id2 = url_row.id(); 249 url_id2 = url_row.id();
250 250
251 // Set favicon to url2. 251 // Set favicon to url2.
252 std::vector<unsigned char> data; 252 std::vector<unsigned char> data;
253 data.push_back('1'); 253 data.push_back('1');
254 history_backend->SetFavicon(url2, 254 FaviconDataElement element;
255 GURL(), 255 element.bitmap_data = new base::RefCountedBytes(data);
256 new base::RefCountedBytes(data), 256 element.pixel_size = gfx::Size();
257 FAVICON); 257 element.icon_url = GURL();
258 std::vector<FaviconDataElement> elements;
259 elements.push_back(element);
260
261 IconURLFaviconIDMap icon_url_favicon_ids;
262 icon_url_favicon_ids[GURL()] = FaviconSizes("0 0");
263
264 history_backend->SetFavicons(url2,
265 FAVICON,
266 elements,
267 icon_url_favicon_ids);
258 history_backend->Closing(); 268 history_backend->Closing();
259 } 269 }
260 270
261 // The history_db_name and thumbnail_db_name files should be created by 271 // The history_db_name and thumbnail_db_name files should be created by
262 // HistoryBackend. We need to open the same database files. 272 // HistoryBackend. We need to open the same database files.
263 ASSERT_TRUE(file_util::PathExists(history_db_name_)); 273 ASSERT_TRUE(file_util::PathExists(history_db_name_));
264 ASSERT_TRUE(file_util::PathExists(thumbnail_db_name_)); 274 ASSERT_TRUE(file_util::PathExists(thumbnail_db_name_));
265 275
266 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_, bookmark_temp_)); 276 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_, bookmark_temp_));
267 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL, 277 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL,
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 ASSERT_TRUE(history_backend->UpdateURL(url_id1, url_row)); 400 ASSERT_TRUE(history_backend->UpdateURL(url_id1, url_row));
391 401
392 ASSERT_TRUE(history_backend->GetURL(url2, &url_row)); 402 ASSERT_TRUE(history_backend->GetURL(url2, &url_row));
393 url_id2 = url_row.id(); 403 url_id2 = url_row.id();
394 url_row.set_title(title2); 404 url_row.set_title(title2);
395 ASSERT_TRUE(history_backend->UpdateURL(url_id2, url_row)); 405 ASSERT_TRUE(history_backend->UpdateURL(url_id2, url_row));
396 406
397 // Set favicon to url2. 407 // Set favicon to url2.
398 std::vector<unsigned char> data; 408 std::vector<unsigned char> data;
399 data.push_back('1'); 409 data.push_back('1');
400 history_backend->SetFavicon(url2, 410 FaviconDataElement element;
401 GURL(), 411 element.bitmap_data = new base::RefCountedBytes(data);
402 new base::RefCountedBytes(data), 412 element.pixel_size = gfx::Size();
403 FAVICON); 413 element.icon_url = GURL();
414 std::vector<FaviconDataElement> elements;
415 elements.push_back(element);
416
417 IconURLFaviconIDMap icon_url_favicon_ids;
418 icon_url_favicon_ids[GURL()] = FaviconSizes("0 0");
419
420 history_backend->SetFavicons(url2,
421 FAVICON,
422 elements,
423 icon_url_favicon_ids);
404 history_backend->Closing(); 424 history_backend->Closing();
405 } 425 }
406 426
407 // The history_db_name and thumbnail_db_name files should be created by 427 // The history_db_name and thumbnail_db_name files should be created by
408 // HistoryBackend. We need to open the same database files. 428 // HistoryBackend. We need to open the same database files.
409 ASSERT_TRUE(file_util::PathExists(history_db_name_)); 429 ASSERT_TRUE(file_util::PathExists(history_db_name_));
410 ASSERT_TRUE(file_util::PathExists(thumbnail_db_name_)); 430 ASSERT_TRUE(file_util::PathExists(thumbnail_db_name_));
411 431
412 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_, bookmark_temp_)); 432 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_, bookmark_temp_));
413 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL, 433 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL,
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?", 1164 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?",
1145 update_args, &update_count)); 1165 update_args, &update_count));
1146 // Verify notifications. 1166 // Verify notifications.
1147 EXPECT_FALSE(delegate_.deleted_details()); 1167 EXPECT_FALSE(delegate_.deleted_details());
1148 EXPECT_FALSE(delegate_.modified_details()); 1168 EXPECT_FALSE(delegate_.modified_details());
1149 ASSERT_TRUE(delegate_.favicon_details()); 1169 ASSERT_TRUE(delegate_.favicon_details());
1150 ASSERT_EQ(1u, delegate_.favicon_details()->urls.size()); 1170 ASSERT_EQ(1u, delegate_.favicon_details()->urls.size());
1151 ASSERT_TRUE(delegate_.favicon_details()->urls.end() != 1171 ASSERT_TRUE(delegate_.favicon_details()->urls.end() !=
1152 delegate_.favicon_details()->urls.find(row1.url())); 1172 delegate_.favicon_details()->urls.find(row1.url()));
1153 1173
1154 IconMapping icon_mapping; 1174 std::vector<IconMapping> icon_mappings;
1155 EXPECT_TRUE(thumbnail_db_.GetIconMappingForPageURL(row1.url(), FAVICON, 1175 EXPECT_TRUE(thumbnail_db_.GetIconMappingsForPageURL(row1.url(), FAVICON,
1156 &icon_mapping)); 1176 &icon_mappings));
1157 Time last_updated; 1177 EXPECT_EQ(1u, icon_mappings.size());
1158 scoped_refptr<base::RefCountedMemory> png_icon_data; 1178 std::vector<FaviconBitmap> favicon_bitmaps;
1159 EXPECT_TRUE(thumbnail_db_.GetFavicon(icon_mapping.icon_id, &last_updated, 1179 EXPECT_TRUE(thumbnail_db_.GetFaviconBitmaps(icon_mappings[0].icon_id,
1160 &png_icon_data, NULL, NULL)); 1180 &favicon_bitmaps));
1161 std::string png_icon_data_as_string(png_icon_data->front(), 1181 EXPECT_EQ(1u, favicon_bitmaps.size());
1162 png_icon_data->front() + png_icon_data->size()); 1182 EXPECT_TRUE(favicon_bitmaps[0].bitmap_data.get());
1163 EXPECT_EQ(1u, png_icon_data_as_string.size()); 1183 EXPECT_EQ(1u, favicon_bitmaps[0].bitmap_data->size());
1164 EXPECT_EQ('1', png_icon_data_as_string[0]); 1184 EXPECT_EQ('1', *favicon_bitmaps[0]->front());
1165 1185
1166 // Remove favicon. 1186 // Remove favicon.
1167 HistoryAndBookmarkRow update_row2; 1187 HistoryAndBookmarkRow update_row2;
1168 1188
1169 // Set favicon. 1189 // Set favicon.
1170 update_row1.set_favicon(new base::RefCountedBytes()); 1190 update_row1.set_favicon(new base::RefCountedBytes());
1171 update_args.clear(); 1191 update_args.clear();
1172 update_args.push_back(UTF8ToUTF16(row1.raw_url())); 1192 update_args.push_back(UTF8ToUTF16(row1.raw_url()));
1173 delegate_.ResetDetails(); 1193 delegate_.ResetDetails();
1174 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?", 1194 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?",
1175 update_args, &update_count)); 1195 update_args, &update_count));
1176 // Verify notifications. 1196 // Verify notifications.
1177 EXPECT_FALSE(delegate_.deleted_details()); 1197 EXPECT_FALSE(delegate_.deleted_details());
1178 EXPECT_FALSE(delegate_.modified_details()); 1198 EXPECT_FALSE(delegate_.modified_details());
1179 ASSERT_TRUE(delegate_.favicon_details()); 1199 ASSERT_TRUE(delegate_.favicon_details());
1180 ASSERT_EQ(1u, delegate_.favicon_details()->urls.size()); 1200 ASSERT_EQ(1u, delegate_.favicon_details()->urls.size());
1181 ASSERT_TRUE(delegate_.favicon_details()->urls.end() != 1201 ASSERT_TRUE(delegate_.favicon_details()->urls.end() !=
1182 delegate_.favicon_details()->urls.find(row1.url())); 1202 delegate_.favicon_details()->urls.find(row1.url()));
1183 1203
1184 EXPECT_FALSE(thumbnail_db_.GetIconMappingForPageURL(row1.url(), FAVICON, 1204 EXPECT_FALSE(thumbnail_db_.GetIconMappingsForPageURL(row1.url(), FAVICON,
1185 NULL)); 1205 NULL));
1186 } 1206 }
1187 1207
1188 TEST_F(AndroidProviderBackendTest, UpdateSearchTermTable) { 1208 TEST_F(AndroidProviderBackendTest, UpdateSearchTermTable) {
1189 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_, bookmark_temp_)); 1209 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_, bookmark_temp_));
1190 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL, 1210 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL,
1191 &history_db_)); 1211 &history_db_));
1192 scoped_ptr<AndroidProviderBackend> backend( 1212 scoped_ptr<AndroidProviderBackend> backend(
1193 new AndroidProviderBackend(android_cache_db_name_, &history_db_, 1213 new AndroidProviderBackend(android_cache_db_name_, &history_db_,
1194 &thumbnail_db_, bookmark_model_, &delegate_)); 1214 &thumbnail_db_, bookmark_model_, &delegate_));
1195 // Insert a keyword search item to verify if the update succeeds. 1215 // Insert a keyword search item to verify if the update succeeds.
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
1754 // Query by folder=1, the row2 should returned. 1774 // Query by folder=1, the row2 should returned.
1755 statement.reset(backend->QueryHistoryAndBookmarks( 1775 statement.reset(backend->QueryHistoryAndBookmarks(
1756 projections, std::string("folder=1"), std::vector<string16>(), 1776 projections, std::string("folder=1"), std::vector<string16>(),
1757 std::string("url ASC"))); 1777 std::string("url ASC")));
1758 ASSERT_TRUE(statement->statement()->Step()); 1778 ASSERT_TRUE(statement->statement()->Step());
1759 EXPECT_EQ(row2.url(), GURL(statement->statement()->ColumnString(0))); 1779 EXPECT_EQ(row2.url(), GURL(statement->statement()->ColumnString(0)));
1760 EXPECT_FALSE(statement->statement()->Step()); 1780 EXPECT_FALSE(statement->statement()->Step());
1761 } 1781 }
1762 1782
1763 } // namespace history 1783 } // namespace history
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698