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

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

Issue 10825214: AndroidProvider: Add history for bookmarks if it doesn't exist. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add set_hidden 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
« no previous file with comments | « chrome/browser/history/android/android_provider_backend.cc ('k') | no next file » | 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 "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 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 GURL url2("http://www.example.com"); 220 GURL url2("http://www.example.com");
221 URLID url_id2 = 0; 221 URLID url_id2 = 0;
222 std::vector<VisitInfo> visits2; 222 std::vector<VisitInfo> visits2;
223 Time last_visited2 = Time::Now(); 223 Time last_visited2 = Time::Now();
224 Time created2 = last_visited2 - TimeDelta::FromDays(10); 224 Time created2 = last_visited2 - TimeDelta::FromDays(10);
225 visits2.push_back(VisitInfo(created2, content::PAGE_TRANSITION_LINK)); 225 visits2.push_back(VisitInfo(created2, content::PAGE_TRANSITION_LINK));
226 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5), 226 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5),
227 content::PAGE_TRANSITION_LINK)); 227 content::PAGE_TRANSITION_LINK));
228 visits2.push_back(VisitInfo(last_visited2, content::PAGE_TRANSITION_LINK)); 228 visits2.push_back(VisitInfo(last_visited2, content::PAGE_TRANSITION_LINK));
229 229
230 // Add a bookmark which is not in the history.
231 GURL url3("http://www.bookmark.com");
232 string16 title3(UTF8ToUTF16("bookmark"));
233 ASSERT_TRUE(bookmark_model_->AddURL(bookmark_model_->bookmark_bar_node(), 0,
234 title3, url3));
230 // Only use the HistoryBackend to generate the test data. 235 // Only use the HistoryBackend to generate the test data.
231 // HistoryBackend will shutdown after that. 236 // HistoryBackend will shutdown after that.
232 { 237 {
233 scoped_refptr<HistoryBackend> history_backend; 238 scoped_refptr<HistoryBackend> history_backend;
234 history_backend = new HistoryBackend(temp_dir_.path(), 0, 239 history_backend = new HistoryBackend(temp_dir_.path(), 0,
235 new AndroidProviderBackendDelegate(), bookmark_model_); 240 new AndroidProviderBackendDelegate(), bookmark_model_);
236 history_backend->Init(std::string(), false); 241 history_backend->Init(std::string(), false);
237 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); 242 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED);
238 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); 243 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED);
239 URLRow url_row; 244 URLRow url_row;
(...skipping 22 matching lines...) Expand all
262 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL, 267 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL,
263 &history_db_)); 268 &history_db_));
264 // Set url1 as bookmark. 269 // Set url1 as bookmark.
265 AddBookmark(url1); 270 AddBookmark(url1);
266 scoped_ptr<AndroidProviderBackend> backend( 271 scoped_ptr<AndroidProviderBackend> backend(
267 new AndroidProviderBackend(android_cache_db_name_, &history_db_, 272 new AndroidProviderBackend(android_cache_db_name_, &history_db_,
268 &thumbnail_db_, bookmark_model_, &delegate_)); 273 &thumbnail_db_, bookmark_model_, &delegate_));
269 274
270 ASSERT_TRUE(backend->EnsureInitializedAndUpdated()); 275 ASSERT_TRUE(backend->EnsureInitializedAndUpdated());
271 276
277 // First verify that the bookmark which was not in the history has been added
278 // to history database.
279 URLRow url_row;
280 ASSERT_TRUE(history_db_.GetRowForURL(url3, &url_row));
281 URLID url_id3 = url_row.id();
282 ASSERT_EQ(url3, url_row.url());
283 ASSERT_EQ(title3, url_row.title());
284
272 std::vector<AndroidURLRow> android_url_rows; 285 std::vector<AndroidURLRow> android_url_rows;
273 ASSERT_TRUE(GetAndroidURLsRows(&android_url_rows, backend.get())); 286 ASSERT_TRUE(GetAndroidURLsRows(&android_url_rows, backend.get()));
274 ASSERT_EQ(2u, android_url_rows.size()); 287 ASSERT_EQ(3u, android_url_rows.size());
275 std::vector<AndroidURLRow>::iterator i = android_url_rows.begin(); 288 std::vector<AndroidURLRow>::iterator i = android_url_rows.begin();
276 EXPECT_EQ(url_id1, i->url_id); 289 EXPECT_EQ(url_id1, i->url_id);
277 EXPECT_EQ(url1.spec(), i->raw_url); 290 EXPECT_EQ(url1.spec(), i->raw_url);
278 i++; 291 i++;
279 EXPECT_EQ(url_id2, i->url_id); 292 EXPECT_EQ(url_id2, i->url_id);
280 EXPECT_EQ(url2.spec(), i->raw_url); 293 EXPECT_EQ(url2.spec(), i->raw_url);
294 i++;
295 EXPECT_EQ(url_id3, i->url_id);
296 EXPECT_EQ(url3.spec(), i->raw_url);
281 297
282 std::vector<BookmarkCacheRow> bookmark_cache_rows; 298 std::vector<BookmarkCacheRow> bookmark_cache_rows;
283 ASSERT_TRUE(GetBookmarkCacheRows(&bookmark_cache_rows, backend.get())); 299 ASSERT_TRUE(GetBookmarkCacheRows(&bookmark_cache_rows, backend.get()));
284 ASSERT_EQ(2u, bookmark_cache_rows.size()); 300 ASSERT_EQ(3u, bookmark_cache_rows.size());
285 std::vector<BookmarkCacheRow>::const_iterator j = bookmark_cache_rows.begin(); 301 std::vector<BookmarkCacheRow>::const_iterator j = bookmark_cache_rows.begin();
286 EXPECT_EQ(url_id1, j->url_id_); 302 EXPECT_EQ(url_id1, j->url_id_);
287 EXPECT_EQ(ToDatabaseTime(last_visited1), ToDatabaseTime(j->last_visit_time_)); 303 EXPECT_EQ(ToDatabaseTime(last_visited1), ToDatabaseTime(j->last_visit_time_));
288 EXPECT_EQ(ToDatabaseTime(created1), ToDatabaseTime(j->create_time_)); 304 EXPECT_EQ(ToDatabaseTime(created1), ToDatabaseTime(j->create_time_));
289 EXPECT_EQ(0, j->favicon_id_); 305 EXPECT_EQ(0, j->favicon_id_);
290 EXPECT_TRUE(j->bookmark_); 306 EXPECT_TRUE(j->bookmark_);
291 j++; 307 j++;
292 EXPECT_EQ(url_id2, j->url_id_); 308 EXPECT_EQ(url_id2, j->url_id_);
293 EXPECT_EQ(ToDatabaseTime(last_visited2), ToDatabaseTime(j->last_visit_time_)); 309 EXPECT_EQ(ToDatabaseTime(last_visited2), ToDatabaseTime(j->last_visit_time_));
294 EXPECT_EQ(ToDatabaseTime(created2), ToDatabaseTime(j->create_time_)); 310 EXPECT_EQ(ToDatabaseTime(created2), ToDatabaseTime(j->create_time_));
295 EXPECT_NE(0, j->favicon_id_); 311 EXPECT_NE(0, j->favicon_id_);
296 EXPECT_FALSE(j->bookmark_); 312 EXPECT_FALSE(j->bookmark_);
297 313
298 // Delete url2 from database. 314 // Delete url2 from database.
299 ASSERT_TRUE(history_db_.DeleteURLRow(url_id2)); 315 ASSERT_TRUE(history_db_.DeleteURLRow(url_id2));
300 VisitVector visit_rows; 316 VisitVector visit_rows;
301 ASSERT_TRUE(history_db_.GetMostRecentVisitsForURL(url_id2, 10, 317 ASSERT_TRUE(history_db_.GetMostRecentVisitsForURL(url_id2, 10,
302 &visit_rows)); 318 &visit_rows));
303 ASSERT_EQ(3u, visit_rows.size()); 319 ASSERT_EQ(3u, visit_rows.size());
304 for (VisitVector::const_iterator v = visit_rows.begin(); 320 for (VisitVector::const_iterator v = visit_rows.begin();
305 v != visit_rows.end(); v++) 321 v != visit_rows.end(); v++)
306 history_db_.DeleteVisit(*v); 322 history_db_.DeleteVisit(*v);
307 323
308 backend->UpdateTables(); 324 backend->UpdateTables();
309 325
310 android_url_rows.clear(); 326 android_url_rows.clear();
311 ASSERT_TRUE(GetAndroidURLsRows(&android_url_rows, backend.get())); 327 ASSERT_TRUE(GetAndroidURLsRows(&android_url_rows, backend.get()));
312 ASSERT_EQ(1u, android_url_rows.size()); 328 ASSERT_EQ(2u, android_url_rows.size());
313 i = android_url_rows.begin(); 329 i = android_url_rows.begin();
314 EXPECT_EQ(url_id1, i->url_id); 330 EXPECT_EQ(url_id1, i->url_id);
315 EXPECT_EQ(url1.spec(), i->raw_url); 331 EXPECT_EQ(url1.spec(), i->raw_url);
332 ++i;
333 EXPECT_EQ(url_id3, i->url_id);
334 EXPECT_EQ(url3.spec(), i->raw_url);
316 335
317 bookmark_cache_rows.clear(); 336 bookmark_cache_rows.clear();
318 ASSERT_TRUE(GetBookmarkCacheRows(&bookmark_cache_rows, backend.get())); 337 ASSERT_TRUE(GetBookmarkCacheRows(&bookmark_cache_rows, backend.get()));
319 ASSERT_EQ(1u, bookmark_cache_rows.size()); 338 ASSERT_EQ(2u, bookmark_cache_rows.size());
320 j = bookmark_cache_rows.begin(); 339 j = bookmark_cache_rows.begin();
321 EXPECT_EQ(url_id1, j->url_id_); 340 EXPECT_EQ(url_id1, j->url_id_);
322 EXPECT_EQ(ToDatabaseTime(last_visited1), ToDatabaseTime(j->last_visit_time_)); 341 EXPECT_EQ(ToDatabaseTime(last_visited1), ToDatabaseTime(j->last_visit_time_));
323 EXPECT_EQ(ToDatabaseTime(created1), ToDatabaseTime(j->create_time_)); 342 EXPECT_EQ(ToDatabaseTime(created1), ToDatabaseTime(j->create_time_));
324 EXPECT_EQ(0, j->favicon_id_); 343 EXPECT_EQ(0, j->favicon_id_);
325 EXPECT_TRUE(j->bookmark_); 344 EXPECT_TRUE(j->bookmark_);
345 ++j;
346 EXPECT_EQ(url_id3, j->url_id_);
347 EXPECT_EQ(base::Time::UnixEpoch(), j->last_visit_time_);
348 EXPECT_EQ(base::Time::UnixEpoch(), j->create_time_);
349 EXPECT_EQ(0, j->favicon_id_);
350 EXPECT_TRUE(j->bookmark_);
326 } 351 }
327 352
328 TEST_F(AndroidProviderBackendTest, QueryHistoryAndBookmarks) { 353 TEST_F(AndroidProviderBackendTest, QueryHistoryAndBookmarks) {
329 GURL url1("http://www.cnn.com"); 354 GURL url1("http://www.cnn.com");
330 URLID url_id1 = 0; 355 URLID url_id1 = 0;
331 const string16 title1(UTF8ToUTF16("cnn")); 356 const string16 title1(UTF8ToUTF16("cnn"));
332 std::vector<VisitInfo> visits1; 357 std::vector<VisitInfo> visits1;
333 Time last_visited1 = Time::Now() - TimeDelta::FromDays(1); 358 Time last_visited1 = Time::Now() - TimeDelta::FromDays(1);
334 Time created1 = last_visited1 - TimeDelta::FromDays(20); 359 Time created1 = last_visited1 - TimeDelta::FromDays(20);
335 visits1.push_back(VisitInfo(created1, content::PAGE_TRANSITION_LINK)); 360 visits1.push_back(VisitInfo(created1, content::PAGE_TRANSITION_LINK));
(...skipping 1390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1726 // Query by folder=1, the row2 should returned. 1751 // Query by folder=1, the row2 should returned.
1727 statement.reset(backend->QueryHistoryAndBookmarks( 1752 statement.reset(backend->QueryHistoryAndBookmarks(
1728 projections, std::string("folder=1"), std::vector<string16>(), 1753 projections, std::string("folder=1"), std::vector<string16>(),
1729 std::string("url ASC"))); 1754 std::string("url ASC")));
1730 ASSERT_TRUE(statement->statement()->Step()); 1755 ASSERT_TRUE(statement->statement()->Step());
1731 EXPECT_EQ(row2.url(), GURL(statement->statement()->ColumnString(0))); 1756 EXPECT_EQ(row2.url(), GURL(statement->statement()->ColumnString(0)));
1732 EXPECT_FALSE(statement->statement()->Step()); 1757 EXPECT_FALSE(statement->statement()->Step());
1733 } 1758 }
1734 1759
1735 } // namespace history 1760 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/history/android/android_provider_backend.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698