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

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

Issue 1198373002: Split HistoryClient in two objects (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@1192403002
Patch Set: Add comments in ChromeHistoryBackendClient Created 5 years, 6 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
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/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
11 #include "base/files/scoped_temp_dir.h" 11 #include "base/files/scoped_temp_dir.h"
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "base/strings/stringprintf.h" 13 #include "base/strings/stringprintf.h"
14 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
15 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 15 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
16 #include "chrome/browser/history/chrome_history_client.h" 16 #include "chrome/browser/history/chrome_history_client.h"
17 #include "chrome/browser/profiles/profile_manager.h" 17 #include "chrome/browser/profiles/profile_manager.h"
18 #include "chrome/common/chrome_constants.h" 18 #include "chrome/common/chrome_constants.h"
19 #include "chrome/test/base/testing_browser_process.h" 19 #include "chrome/test/base/testing_browser_process.h"
20 #include "chrome/test/base/testing_profile.h" 20 #include "chrome/test/base/testing_profile.h"
21 #include "chrome/test/base/testing_profile_manager.h" 21 #include "chrome/test/base/testing_profile_manager.h"
22 #include "components/bookmarks/browser/bookmark_model.h" 22 #include "components/bookmarks/browser/bookmark_model.h"
23 #include "components/bookmarks/test/bookmark_test_helpers.h" 23 #include "components/bookmarks/test/bookmark_test_helpers.h"
24 #include "components/history/core/browser/android/android_time.h" 24 #include "components/history/core/browser/android/android_time.h"
25 #include "components/history/core/browser/history_backend.h" 25 #include "components/history/core/browser/history_backend.h"
26 #include "components/history/core/browser/history_backend_client.h"
26 #include "components/history/core/browser/history_constants.h" 27 #include "components/history/core/browser/history_constants.h"
27 #include "components/history/core/browser/history_database_params.h" 28 #include "components/history/core/browser/history_database_params.h"
28 #include "components/history/core/browser/keyword_search_term.h" 29 #include "components/history/core/browser/keyword_search_term.h"
29 #include "components/history/core/test/test_history_database.h" 30 #include "components/history/core/test/test_history_database.h"
30 #include "content/public/browser/browser_thread.h" 31 #include "content/public/browser/browser_thread.h"
31 #include "content/public/test/test_browser_thread.h" 32 #include "content/public/test/test_browser_thread.h"
32 #include "content/public/test/test_utils.h" 33 #include "content/public/test/test_utils.h"
33 #include "testing/gtest/include/gtest/gtest.h" 34 #include "testing/gtest/include/gtest/gtest.h"
34 #include "third_party/skia/include/core/SkBitmap.h" 35 #include "third_party/skia/include/core/SkBitmap.h"
35 36
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 // Setup the testing profile, so the bookmark_model_sql_handler could 175 // Setup the testing profile, so the bookmark_model_sql_handler could
175 // get the bookmark model from it. 176 // get the bookmark model from it.
176 ASSERT_TRUE(profile_manager_.SetUp()); 177 ASSERT_TRUE(profile_manager_.SetUp());
177 // It seems that the name has to be chrome::kInitialProfile, so it 178 // It seems that the name has to be chrome::kInitialProfile, so it
178 // could be found by ProfileManager::GetLastUsedProfile(). 179 // could be found by ProfileManager::GetLastUsedProfile().
179 TestingProfile* testing_profile = profile_manager_.CreateTestingProfile( 180 TestingProfile* testing_profile = profile_manager_.CreateTestingProfile(
180 chrome::kInitialProfile); 181 chrome::kInitialProfile);
181 testing_profile->CreateBookmarkModel(true); 182 testing_profile->CreateBookmarkModel(true);
182 bookmark_model_ = BookmarkModelFactory::GetForProfile(testing_profile); 183 bookmark_model_ = BookmarkModelFactory::GetForProfile(testing_profile);
183 history_client_.reset(new ChromeHistoryClient(bookmark_model_)); 184 history_client_.reset(new ChromeHistoryClient(bookmark_model_));
185 history_backend_client_ = history_client_->CreateBackendClient();
184 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model_); 186 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model_);
185 ASSERT_TRUE(bookmark_model_); 187 ASSERT_TRUE(bookmark_model_);
186 188
187 // Get the BookmarkModel from LastUsedProfile, this is the same way that 189 // Get the BookmarkModel from LastUsedProfile, this is the same way that
188 // how the BookmarkModelSQLHandler gets the BookmarkModel. 190 // how the BookmarkModelSQLHandler gets the BookmarkModel.
189 Profile* profile = ProfileManager::GetLastUsedProfile(); 191 Profile* profile = ProfileManager::GetLastUsedProfile();
190 ASSERT_TRUE(profile); 192 ASSERT_TRUE(profile);
191 193
192 // Setup the database directory and files. 194 // Setup the database directory and files.
193 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 195 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 base::FilePath android_cache_db_name_; 247 base::FilePath android_cache_db_name_;
246 base::FilePath history_db_name_; 248 base::FilePath history_db_name_;
247 base::FilePath thumbnail_db_name_; 249 base::FilePath thumbnail_db_name_;
248 250
249 TestingProfileManager profile_manager_; 251 TestingProfileManager profile_manager_;
250 BookmarkModel* bookmark_model_; 252 BookmarkModel* bookmark_model_;
251 base::MessageLoopForUI message_loop_; 253 base::MessageLoopForUI message_loop_;
252 content::TestBrowserThread ui_thread_; 254 content::TestBrowserThread ui_thread_;
253 content::TestBrowserThread file_thread_; 255 content::TestBrowserThread file_thread_;
254 scoped_ptr<history::HistoryClient> history_client_; 256 scoped_ptr<history::HistoryClient> history_client_;
257 scoped_ptr<history::HistoryBackendClient> history_backend_client_;
255 258
256 DISALLOW_COPY_AND_ASSIGN(AndroidProviderBackendTest); 259 DISALLOW_COPY_AND_ASSIGN(AndroidProviderBackendTest);
257 }; 260 };
258 261
259 TEST_F(AndroidProviderBackendTest, UpdateTables) { 262 TEST_F(AndroidProviderBackendTest, UpdateTables) {
260 GURL url1("http://www.cnn.com"); 263 GURL url1("http://www.cnn.com");
261 URLID url_id1 = 0; 264 URLID url_id1 = 0;
262 std::vector<VisitInfo> visits1; 265 std::vector<VisitInfo> visits1;
263 Time last_visited1 = Time::Now() - TimeDelta::FromDays(1); 266 Time last_visited1 = Time::Now() - TimeDelta::FromDays(1);
264 Time created1 = last_visited1 - TimeDelta::FromDays(20); 267 Time created1 = last_visited1 - TimeDelta::FromDays(20);
(...skipping 14 matching lines...) Expand all
279 282
280 // Add a bookmark which is not in the history. 283 // Add a bookmark which is not in the history.
281 GURL url3("http://www.bookmark.com"); 284 GURL url3("http://www.bookmark.com");
282 base::string16 title3(UTF8ToUTF16("bookmark")); 285 base::string16 title3(UTF8ToUTF16("bookmark"));
283 ASSERT_TRUE(bookmark_model_->AddURL(bookmark_model_->bookmark_bar_node(), 0, 286 ASSERT_TRUE(bookmark_model_->AddURL(bookmark_model_->bookmark_bar_node(), 0,
284 title3, url3)); 287 title3, url3));
285 // Only use the HistoryBackend to generate the test data. 288 // Only use the HistoryBackend to generate the test data.
286 // HistoryBackend will shutdown after that. 289 // HistoryBackend will shutdown after that.
287 { 290 {
288 scoped_refptr<HistoryBackend> history_backend; 291 scoped_refptr<HistoryBackend> history_backend;
289 history_backend = 292 history_backend = new HistoryBackend(new AndroidProviderBackendDelegate(),
290 new HistoryBackend(new AndroidProviderBackendDelegate(), 293 history_client_->CreateBackendClient(),
291 history_client_.get(), message_loop_.task_runner()); 294 message_loop_.task_runner());
292 history_backend->Init(std::string(), false, 295 history_backend->Init(std::string(), false,
293 TestHistoryDatabaseParamsForPath(temp_dir_.path())); 296 TestHistoryDatabaseParamsForPath(temp_dir_.path()));
294 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); 297 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED);
295 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); 298 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED);
296 URLRow url_row; 299 URLRow url_row;
297 300
298 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); 301 ASSERT_TRUE(history_backend->GetURL(url1, &url_row));
299 url_id1 = url_row.id(); 302 url_id1 = url_row.id();
300 ASSERT_TRUE(history_backend->GetURL(url2, &url_row)); 303 ASSERT_TRUE(history_backend->GetURL(url2, &url_row));
301 url_id2 = url_row.id(); 304 url_id2 = url_row.id();
(...skipping 10 matching lines...) Expand all
312 ASSERT_TRUE(base::PathExists(thumbnail_db_name_)); 315 ASSERT_TRUE(base::PathExists(thumbnail_db_name_));
313 316
314 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 317 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
315 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 318 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
316 // Set url1 as bookmark. 319 // Set url1 as bookmark.
317 AddBookmark(url1); 320 AddBookmark(url1);
318 scoped_ptr<AndroidProviderBackend> backend( 321 scoped_ptr<AndroidProviderBackend> backend(
319 new AndroidProviderBackend(android_cache_db_name_, 322 new AndroidProviderBackend(android_cache_db_name_,
320 &history_db_, 323 &history_db_,
321 &thumbnail_db_, 324 &thumbnail_db_,
322 history_client_.get(), 325 history_backend_client_.get(),
323 &notifier_)); 326 &notifier_));
324 327
325 ASSERT_TRUE(backend->EnsureInitializedAndUpdated()); 328 ASSERT_TRUE(backend->EnsureInitializedAndUpdated());
326 329
327 // First verify that the bookmark which was not in the history has been added 330 // First verify that the bookmark which was not in the history has been added
328 // to history database. 331 // to history database.
329 URLRow url_row; 332 URLRow url_row;
330 ASSERT_TRUE(history_db_.GetRowForURL(url3, &url_row)); 333 ASSERT_TRUE(history_db_.GetRowForURL(url3, &url_row));
331 URLID url_id3 = url_row.id(); 334 URLID url_id3 = url_row.id();
332 ASSERT_EQ(url3, url_row.url()); 335 ASSERT_EQ(url3, url_row.url());
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 Time created2 = last_visited2 - TimeDelta::FromDays(10); 421 Time created2 = last_visited2 - TimeDelta::FromDays(10);
419 visits2.push_back(VisitInfo(created2, ui::PAGE_TRANSITION_LINK)); 422 visits2.push_back(VisitInfo(created2, ui::PAGE_TRANSITION_LINK));
420 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5), 423 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5),
421 ui::PAGE_TRANSITION_LINK)); 424 ui::PAGE_TRANSITION_LINK));
422 visits2.push_back(VisitInfo(last_visited2, ui::PAGE_TRANSITION_LINK)); 425 visits2.push_back(VisitInfo(last_visited2, ui::PAGE_TRANSITION_LINK));
423 426
424 // Only use the HistoryBackend to generate the test data. 427 // Only use the HistoryBackend to generate the test data.
425 // HistoryBackend will shutdown after that. 428 // HistoryBackend will shutdown after that.
426 { 429 {
427 scoped_refptr<HistoryBackend> history_backend; 430 scoped_refptr<HistoryBackend> history_backend;
428 history_backend = 431 history_backend = new HistoryBackend(new AndroidProviderBackendDelegate(),
429 new HistoryBackend(new AndroidProviderBackendDelegate(), 432 history_client_->CreateBackendClient(),
430 history_client_.get(), message_loop_.task_runner()); 433 message_loop_.task_runner());
431 history_backend->Init(std::string(), false, 434 history_backend->Init(std::string(), false,
432 TestHistoryDatabaseParamsForPath(temp_dir_.path())); 435 TestHistoryDatabaseParamsForPath(temp_dir_.path()));
433 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); 436 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED);
434 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); 437 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED);
435 438
436 history::URLRows url_rows(2u); 439 history::URLRows url_rows(2u);
437 ASSERT_TRUE(history_backend->GetURL(url1, &url_rows[0])); 440 ASSERT_TRUE(history_backend->GetURL(url1, &url_rows[0]));
438 ASSERT_TRUE(history_backend->GetURL(url2, &url_rows[1])); 441 ASSERT_TRUE(history_backend->GetURL(url2, &url_rows[1]));
439 url_rows[0].set_title(title1); 442 url_rows[0].set_title(title1);
440 url_rows[1].set_title(title2); 443 url_rows[1].set_title(title2);
(...skipping 12 matching lines...) Expand all
453 456
454 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 457 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
455 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 458 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
456 // Set url1 as bookmark. 459 // Set url1 as bookmark.
457 AddBookmark(url1); 460 AddBookmark(url1);
458 461
459 scoped_ptr<AndroidProviderBackend> backend( 462 scoped_ptr<AndroidProviderBackend> backend(
460 new AndroidProviderBackend(android_cache_db_name_, 463 new AndroidProviderBackend(android_cache_db_name_,
461 &history_db_, 464 &history_db_,
462 &thumbnail_db_, 465 &thumbnail_db_,
463 history_client_.get(), 466 history_backend_client_.get(),
464 &notifier_)); 467 &notifier_));
465 468
466 std::vector<HistoryAndBookmarkRow::ColumnID> projections; 469 std::vector<HistoryAndBookmarkRow::ColumnID> projections;
467 470
468 projections.push_back(HistoryAndBookmarkRow::ID); 471 projections.push_back(HistoryAndBookmarkRow::ID);
469 projections.push_back(HistoryAndBookmarkRow::URL); 472 projections.push_back(HistoryAndBookmarkRow::URL);
470 projections.push_back(HistoryAndBookmarkRow::TITLE); 473 projections.push_back(HistoryAndBookmarkRow::TITLE);
471 projections.push_back(HistoryAndBookmarkRow::CREATED); 474 projections.push_back(HistoryAndBookmarkRow::CREATED);
472 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME); 475 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME);
473 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT); 476 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 std::vector<unsigned char> data; 545 std::vector<unsigned char> data;
543 data.push_back('1'); 546 data.push_back('1');
544 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); 547 row2.set_favicon(base::RefCountedBytes::TakeVector(&data));
545 548
546 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 549 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
547 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 550 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
548 scoped_ptr<AndroidProviderBackend> backend( 551 scoped_ptr<AndroidProviderBackend> backend(
549 new AndroidProviderBackend(android_cache_db_name_, 552 new AndroidProviderBackend(android_cache_db_name_,
550 &history_db_, 553 &history_db_,
551 &thumbnail_db_, 554 &thumbnail_db_,
552 history_client_.get(), 555 history_backend_client_.get(),
553 &notifier_)); 556 &notifier_));
554 557
555 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 558 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
556 EXPECT_FALSE(notifier_.deleted_details()); 559 EXPECT_FALSE(notifier_.deleted_details());
557 ASSERT_TRUE(notifier_.modified_details()); 560 ASSERT_TRUE(notifier_.modified_details());
558 ASSERT_EQ(1u, notifier_.modified_details()->size()); 561 ASSERT_EQ(1u, notifier_.modified_details()->size());
559 EXPECT_EQ(row1.url(), (*notifier_.modified_details())[0].url()); 562 EXPECT_EQ(row1.url(), (*notifier_.modified_details())[0].url());
560 EXPECT_EQ(row1.last_visit_time(), 563 EXPECT_EQ(row1.last_visit_time(),
561 (*notifier_.modified_details())[0].last_visit()); 564 (*notifier_.modified_details())[0].last_visit());
562 EXPECT_EQ(row1.visit_count(), 565 EXPECT_EQ(row1.visit_count(),
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 data.push_back('1'); 657 data.push_back('1');
655 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); 658 row2.set_favicon(base::RefCountedBytes::TakeVector(&data));
656 659
657 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 660 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
658 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 661 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
659 662
660 scoped_ptr<AndroidProviderBackend> backend( 663 scoped_ptr<AndroidProviderBackend> backend(
661 new AndroidProviderBackend(android_cache_db_name_, 664 new AndroidProviderBackend(android_cache_db_name_,
662 &history_db_, 665 &history_db_,
663 &thumbnail_db_, 666 &thumbnail_db_,
664 history_client_.get(), 667 history_backend_client_.get(),
665 &notifier_)); 668 &notifier_));
666 669
667 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 670 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
668 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2)); 671 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2));
669 // Verify the row1 has been added in bookmark model. 672 // Verify the row1 has been added in bookmark model.
670 content::RunAllPendingInMessageLoop(); 673 content::RunAllPendingInMessageLoop();
671 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); 674 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count());
672 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); 675 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0);
673 ASSERT_TRUE(child); 676 ASSERT_TRUE(child);
674 EXPECT_EQ(row1.title(), child->GetTitle()); 677 EXPECT_EQ(row1.title(), child->GetTitle());
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 ASSERT_FALSE(statement1->statement()->Step()); 756 ASSERT_FALSE(statement1->statement()->Step());
754 } 757 }
755 758
756 TEST_F(AndroidProviderBackendTest, IsValidHistoryAndBookmarkRow) { 759 TEST_F(AndroidProviderBackendTest, IsValidHistoryAndBookmarkRow) {
757 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 760 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
758 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 761 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
759 scoped_ptr<AndroidProviderBackend> backend( 762 scoped_ptr<AndroidProviderBackend> backend(
760 new AndroidProviderBackend(android_cache_db_name_, 763 new AndroidProviderBackend(android_cache_db_name_,
761 &history_db_, 764 &history_db_,
762 &thumbnail_db_, 765 &thumbnail_db_,
763 history_client_.get(), 766 history_backend_client_.get(),
764 &notifier_)); 767 &notifier_));
765 768
766 // The created time and last visit time are too close to have required visit 769 // The created time and last visit time are too close to have required visit
767 // count. 770 // count.
768 HistoryAndBookmarkRow row1; 771 HistoryAndBookmarkRow row1;
769 row1.set_raw_url("cnn.com"); 772 row1.set_raw_url("cnn.com");
770 row1.set_url(GURL("http://cnn.com")); 773 row1.set_url(GURL("http://cnn.com"));
771 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); 774 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1));
772 row1.set_created(Time::FromInternalValue( 775 row1.set_created(Time::FromInternalValue(
773 row1.last_visit_time().ToInternalValue() - 1)); 776 row1.last_visit_time().ToInternalValue() - 1));
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 std::vector<unsigned char> data; 849 std::vector<unsigned char> data;
847 data.push_back('1'); 850 data.push_back('1');
848 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); 851 row2.set_favicon(base::RefCountedBytes::TakeVector(&data));
849 852
850 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 853 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
851 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 854 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
852 scoped_ptr<AndroidProviderBackend> backend( 855 scoped_ptr<AndroidProviderBackend> backend(
853 new AndroidProviderBackend(android_cache_db_name_, 856 new AndroidProviderBackend(android_cache_db_name_,
854 &history_db_, 857 &history_db_,
855 &thumbnail_db_, 858 &thumbnail_db_,
856 history_client_.get(), 859 history_backend_client_.get(),
857 &notifier_)); 860 &notifier_));
858 861
859 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); 862 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1);
860 ASSERT_TRUE(id1); 863 ASSERT_TRUE(id1);
861 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); 864 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2);
862 ASSERT_TRUE(id2); 865 ASSERT_TRUE(id2);
863 866
864 // Verify the row1 has been added in bookmark model. 867 // Verify the row1 has been added in bookmark model.
865 content::RunAllPendingInMessageLoop(); 868 content::RunAllPendingInMessageLoop();
866 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); 869 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count());
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1028 std::vector<unsigned char> data; 1031 std::vector<unsigned char> data;
1029 data.push_back('1'); 1032 data.push_back('1');
1030 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); 1033 row2.set_favicon(base::RefCountedBytes::TakeVector(&data));
1031 1034
1032 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1035 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1033 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1036 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1034 scoped_ptr<AndroidProviderBackend> backend( 1037 scoped_ptr<AndroidProviderBackend> backend(
1035 new AndroidProviderBackend(android_cache_db_name_, 1038 new AndroidProviderBackend(android_cache_db_name_,
1036 &history_db_, 1039 &history_db_,
1037 &thumbnail_db_, 1040 &thumbnail_db_,
1038 history_client_.get(), 1041 history_backend_client_.get(),
1039 &notifier_)); 1042 &notifier_));
1040 1043
1041 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); 1044 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1);
1042 ASSERT_TRUE(id1); 1045 ASSERT_TRUE(id1);
1043 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); 1046 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2);
1044 ASSERT_TRUE(id2); 1047 ASSERT_TRUE(id2);
1045 1048
1046 int update_count; 1049 int update_count;
1047 std::vector<base::string16> update_args; 1050 std::vector<base::string16> update_args;
1048 // Update the visit_count to a value less than current one. 1051 // Update the visit_count to a value less than current one.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 std::vector<unsigned char> data; 1114 std::vector<unsigned char> data;
1112 data.push_back('1'); 1115 data.push_back('1');
1113 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); 1116 row2.set_favicon(base::RefCountedBytes::TakeVector(&data));
1114 1117
1115 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1118 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1116 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1119 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1117 scoped_ptr<AndroidProviderBackend> backend( 1120 scoped_ptr<AndroidProviderBackend> backend(
1118 new AndroidProviderBackend(android_cache_db_name_, 1121 new AndroidProviderBackend(android_cache_db_name_,
1119 &history_db_, 1122 &history_db_,
1120 &thumbnail_db_, 1123 &thumbnail_db_,
1121 history_client_.get(), 1124 history_backend_client_.get(),
1122 &notifier_)); 1125 &notifier_));
1123 1126
1124 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); 1127 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1);
1125 ASSERT_TRUE(id1); 1128 ASSERT_TRUE(id1);
1126 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); 1129 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2);
1127 ASSERT_TRUE(id2); 1130 ASSERT_TRUE(id2);
1128 1131
1129 int update_count; 1132 int update_count;
1130 std::vector<base::string16> update_args; 1133 std::vector<base::string16> update_args;
1131 // Update the last visit time to a value greater than current one. 1134 // Update the last visit time to a value greater than current one.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 row1.set_visit_count(10); 1178 row1.set_visit_count(10);
1176 row1.set_is_bookmark(true); 1179 row1.set_is_bookmark(true);
1177 row1.set_title(UTF8ToUTF16("cnn")); 1180 row1.set_title(UTF8ToUTF16("cnn"));
1178 1181
1179 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1182 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1180 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1183 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1181 scoped_ptr<AndroidProviderBackend> backend( 1184 scoped_ptr<AndroidProviderBackend> backend(
1182 new AndroidProviderBackend(android_cache_db_name_, 1185 new AndroidProviderBackend(android_cache_db_name_,
1183 &history_db_, 1186 &history_db_,
1184 &thumbnail_db_, 1187 &thumbnail_db_,
1185 history_client_.get(), 1188 history_backend_client_.get(),
1186 &notifier_)); 1189 &notifier_));
1187 1190
1188 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); 1191 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1);
1189 ASSERT_TRUE(id1); 1192 ASSERT_TRUE(id1);
1190 1193
1191 int update_count; 1194 int update_count;
1192 std::vector<base::string16> update_args; 1195 std::vector<base::string16> update_args;
1193 // Update the last visit time to a value greater than current one. 1196 // Update the last visit time to a value greater than current one.
1194 HistoryAndBookmarkRow update_row1; 1197 HistoryAndBookmarkRow update_row1;
1195 1198
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1243 row1.url(), favicon_base::FAVICON, NULL)); 1246 row1.url(), favicon_base::FAVICON, NULL));
1244 } 1247 }
1245 1248
1246 TEST_F(AndroidProviderBackendTest, UpdateSearchTermTable) { 1249 TEST_F(AndroidProviderBackendTest, UpdateSearchTermTable) {
1247 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1250 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1248 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1251 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1249 scoped_ptr<AndroidProviderBackend> backend( 1252 scoped_ptr<AndroidProviderBackend> backend(
1250 new AndroidProviderBackend(android_cache_db_name_, 1253 new AndroidProviderBackend(android_cache_db_name_,
1251 &history_db_, 1254 &history_db_,
1252 &thumbnail_db_, 1255 &thumbnail_db_,
1253 history_client_.get(), 1256 history_backend_client_.get(),
1254 &notifier_)); 1257 &notifier_));
1255 // Insert a keyword search item to verify if the update succeeds. 1258 // Insert a keyword search item to verify if the update succeeds.
1256 HistoryAndBookmarkRow row1; 1259 HistoryAndBookmarkRow row1;
1257 row1.set_raw_url("cnn.com"); 1260 row1.set_raw_url("cnn.com");
1258 row1.set_url(GURL("http://cnn.com")); 1261 row1.set_url(GURL("http://cnn.com"));
1259 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); 1262 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1));
1260 row1.set_title(UTF8ToUTF16("cnn")); 1263 row1.set_title(UTF8ToUTF16("cnn"));
1261 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 1264 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
1262 base::string16 term = UTF8ToUTF16("Search term 1"); 1265 base::string16 term = UTF8ToUTF16("Search term 1");
1263 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); 1266 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL);
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1324 EXPECT_EQ(id2, history_db_.GetSearchTerm(term2, NULL)); 1327 EXPECT_EQ(id2, history_db_.GetSearchTerm(term2, NULL));
1325 } 1328 }
1326 1329
1327 TEST_F(AndroidProviderBackendTest, QuerySearchTerms) { 1330 TEST_F(AndroidProviderBackendTest, QuerySearchTerms) {
1328 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1331 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1329 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1332 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1330 scoped_ptr<AndroidProviderBackend> backend( 1333 scoped_ptr<AndroidProviderBackend> backend(
1331 new AndroidProviderBackend(android_cache_db_name_, 1334 new AndroidProviderBackend(android_cache_db_name_,
1332 &history_db_, 1335 &history_db_,
1333 &thumbnail_db_, 1336 &thumbnail_db_,
1334 history_client_.get(), 1337 history_backend_client_.get(),
1335 &notifier_)); 1338 &notifier_));
1336 // Insert a keyword search item to verify if we can find it. 1339 // Insert a keyword search item to verify if we can find it.
1337 HistoryAndBookmarkRow row1; 1340 HistoryAndBookmarkRow row1;
1338 row1.set_raw_url("cnn.com"); 1341 row1.set_raw_url("cnn.com");
1339 row1.set_url(GURL("http://cnn.com")); 1342 row1.set_url(GURL("http://cnn.com"));
1340 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); 1343 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1));
1341 row1.set_title(UTF8ToUTF16("cnn")); 1344 row1.set_title(UTF8ToUTF16("cnn"));
1342 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 1345 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
1343 base::string16 term = UTF8ToUTF16("Search term 1"); 1346 base::string16 term = UTF8ToUTF16("Search term 1");
1344 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); 1347 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL);
(...skipping 16 matching lines...) Expand all
1361 EXPECT_FALSE(statement->statement()->Step()); 1364 EXPECT_FALSE(statement->statement()->Step());
1362 } 1365 }
1363 1366
1364 TEST_F(AndroidProviderBackendTest, UpdateSearchTerms) { 1367 TEST_F(AndroidProviderBackendTest, UpdateSearchTerms) {
1365 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1368 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1366 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1369 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1367 scoped_ptr<AndroidProviderBackend> backend( 1370 scoped_ptr<AndroidProviderBackend> backend(
1368 new AndroidProviderBackend(android_cache_db_name_, 1371 new AndroidProviderBackend(android_cache_db_name_,
1369 &history_db_, 1372 &history_db_,
1370 &thumbnail_db_, 1373 &thumbnail_db_,
1371 history_client_.get(), 1374 history_backend_client_.get(),
1372 &notifier_)); 1375 &notifier_));
1373 // Insert a keyword. 1376 // Insert a keyword.
1374 HistoryAndBookmarkRow row1; 1377 HistoryAndBookmarkRow row1;
1375 row1.set_raw_url("cnn.com"); 1378 row1.set_raw_url("cnn.com");
1376 row1.set_url(GURL("http://cnn.com")); 1379 row1.set_url(GURL("http://cnn.com"));
1377 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); 1380 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1));
1378 row1.set_title(UTF8ToUTF16("cnn")); 1381 row1.set_title(UTF8ToUTF16("cnn"));
1379 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 1382 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
1380 base::string16 term = UTF8ToUTF16("Search term 1"); 1383 base::string16 term = UTF8ToUTF16("Search term 1");
1381 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); 1384 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1468 EXPECT_FALSE(statement->statement()->Step()); 1471 EXPECT_FALSE(statement->statement()->Step());
1469 } 1472 }
1470 1473
1471 TEST_F(AndroidProviderBackendTest, DeleteSearchTerms) { 1474 TEST_F(AndroidProviderBackendTest, DeleteSearchTerms) {
1472 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1475 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1473 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1476 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1474 scoped_ptr<AndroidProviderBackend> backend( 1477 scoped_ptr<AndroidProviderBackend> backend(
1475 new AndroidProviderBackend(android_cache_db_name_, 1478 new AndroidProviderBackend(android_cache_db_name_,
1476 &history_db_, 1479 &history_db_,
1477 &thumbnail_db_, 1480 &thumbnail_db_,
1478 history_client_.get(), 1481 history_backend_client_.get(),
1479 &notifier_)); 1482 &notifier_));
1480 // Insert a keyword. 1483 // Insert a keyword.
1481 HistoryAndBookmarkRow row1; 1484 HistoryAndBookmarkRow row1;
1482 row1.set_raw_url("cnn.com"); 1485 row1.set_raw_url("cnn.com");
1483 row1.set_url(GURL("http://cnn.com")); 1486 row1.set_url(GURL("http://cnn.com"));
1484 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); 1487 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1));
1485 row1.set_title(UTF8ToUTF16("cnn")); 1488 row1.set_title(UTF8ToUTF16("cnn"));
1486 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 1489 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
1487 base::string16 term = UTF8ToUTF16("Search term 1"); 1490 base::string16 term = UTF8ToUTF16("Search term 1");
1488 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); 1491 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
1577 EXPECT_FALSE(statement->statement()->Step()); 1580 EXPECT_FALSE(statement->statement()->Step());
1578 } 1581 }
1579 1582
1580 TEST_F(AndroidProviderBackendTest, InsertSearchTerm) { 1583 TEST_F(AndroidProviderBackendTest, InsertSearchTerm) {
1581 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1584 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1582 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1585 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1583 scoped_ptr<AndroidProviderBackend> backend( 1586 scoped_ptr<AndroidProviderBackend> backend(
1584 new AndroidProviderBackend(android_cache_db_name_, 1587 new AndroidProviderBackend(android_cache_db_name_,
1585 &history_db_, 1588 &history_db_,
1586 &thumbnail_db_, 1589 &thumbnail_db_,
1587 history_client_.get(), 1590 history_backend_client_.get(),
1588 &notifier_)); 1591 &notifier_));
1589 SearchRow search_row; 1592 SearchRow search_row;
1590 search_row.set_search_term(UTF8ToUTF16("google")); 1593 search_row.set_search_term(UTF8ToUTF16("google"));
1591 search_row.set_url(GURL("http://google.com")); 1594 search_row.set_url(GURL("http://google.com"));
1592 search_row.set_keyword_id(1); 1595 search_row.set_keyword_id(1);
1593 search_row.set_search_time(Time::Now() - TimeDelta::FromHours(1)); 1596 search_row.set_search_time(Time::Now() - TimeDelta::FromHours(1));
1594 1597
1595 SearchTermID id = backend->InsertSearchTerm(search_row); 1598 SearchTermID id = backend->InsertSearchTerm(search_row);
1596 ASSERT_TRUE(id); 1599 ASSERT_TRUE(id);
1597 1600
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1634 std::vector<unsigned char> data; 1637 std::vector<unsigned char> data;
1635 data.push_back('1'); 1638 data.push_back('1');
1636 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); 1639 row2.set_favicon(base::RefCountedBytes::TakeVector(&data));
1637 1640
1638 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1641 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1639 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1642 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1640 scoped_ptr<AndroidProviderBackend> backend( 1643 scoped_ptr<AndroidProviderBackend> backend(
1641 new AndroidProviderBackend(android_cache_db_name_, 1644 new AndroidProviderBackend(android_cache_db_name_,
1642 &history_db_, 1645 &history_db_,
1643 &thumbnail_db_, 1646 &thumbnail_db_,
1644 history_client_.get(), 1647 history_backend_client_.get(),
1645 &notifier_)); 1648 &notifier_));
1646 1649
1647 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); 1650 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1);
1648 ASSERT_TRUE(id1); 1651 ASSERT_TRUE(id1);
1649 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); 1652 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2);
1650 ASSERT_TRUE(id2); 1653 ASSERT_TRUE(id2);
1651 1654
1652 // Verify the row1 has been added in bookmark model. 1655 // Verify the row1 has been added in bookmark model.
1653 content::RunAllPendingInMessageLoop(); 1656 content::RunAllPendingInMessageLoop();
1654 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); 1657 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1690 EXPECT_EQ(1u, notifier_.favicon_changed()->size()); 1693 EXPECT_EQ(1u, notifier_.favicon_changed()->size());
1691 } 1694 }
1692 1695
1693 TEST_F(AndroidProviderBackendTest, TestMultipleNestingTransaction) { 1696 TEST_F(AndroidProviderBackendTest, TestMultipleNestingTransaction) {
1694 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1697 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1695 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1698 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1696 scoped_ptr<AndroidProviderBackend> backend( 1699 scoped_ptr<AndroidProviderBackend> backend(
1697 new AndroidProviderBackend(android_cache_db_name_, 1700 new AndroidProviderBackend(android_cache_db_name_,
1698 &history_db_, 1701 &history_db_,
1699 &thumbnail_db_, 1702 &thumbnail_db_,
1700 history_client_.get(), 1703 history_backend_client_.get(),
1701 &notifier_)); 1704 &notifier_));
1702 1705
1703 // Create the nested transactions. 1706 // Create the nested transactions.
1704 history_db_.BeginTransaction(); 1707 history_db_.BeginTransaction();
1705 history_db_.BeginTransaction(); 1708 history_db_.BeginTransaction();
1706 history_db_.BeginTransaction(); 1709 history_db_.BeginTransaction();
1707 thumbnail_db_.BeginTransaction(); 1710 thumbnail_db_.BeginTransaction();
1708 thumbnail_db_.BeginTransaction(); 1711 thumbnail_db_.BeginTransaction();
1709 int history_transaction = history_db_.transaction_nesting(); 1712 int history_transaction = history_db_.transaction_nesting();
1710 int thumbnail_transaction = thumbnail_db_.transaction_nesting(); 1713 int thumbnail_transaction = thumbnail_db_.transaction_nesting();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1743 1746
1744 TEST_F(AndroidProviderBackendTest, TestAndroidCTSComplianceForZeroVisitCount) { 1747 TEST_F(AndroidProviderBackendTest, TestAndroidCTSComplianceForZeroVisitCount) {
1745 // This is to verify the last visit time and created time are same when visit 1748 // This is to verify the last visit time and created time are same when visit
1746 // count is 0. 1749 // count is 0.
1747 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1750 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1748 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1751 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1749 scoped_ptr<AndroidProviderBackend> backend( 1752 scoped_ptr<AndroidProviderBackend> backend(
1750 new AndroidProviderBackend(android_cache_db_name_, 1753 new AndroidProviderBackend(android_cache_db_name_,
1751 &history_db_, 1754 &history_db_,
1752 &thumbnail_db_, 1755 &thumbnail_db_,
1753 history_client_.get(), 1756 history_backend_client_.get(),
1754 &notifier_)); 1757 &notifier_));
1755 URLRow url_row(GURL("http://www.google.com")); 1758 URLRow url_row(GURL("http://www.google.com"));
1756 url_row.set_last_visit(Time::Now()); 1759 url_row.set_last_visit(Time::Now());
1757 url_row.set_visit_count(0); 1760 url_row.set_visit_count(0);
1758 history_db_.AddURL(url_row); 1761 history_db_.AddURL(url_row);
1759 1762
1760 std::vector<HistoryAndBookmarkRow::ColumnID> projections; 1763 std::vector<HistoryAndBookmarkRow::ColumnID> projections;
1761 1764
1762 projections.push_back(HistoryAndBookmarkRow::ID); 1765 projections.push_back(HistoryAndBookmarkRow::ID);
1763 projections.push_back(HistoryAndBookmarkRow::URL); 1766 projections.push_back(HistoryAndBookmarkRow::URL);
(...skipping 19 matching lines...) Expand all
1783 TEST_F(AndroidProviderBackendTest, AndroidCTSComplianceFolderColumnExists) { 1786 TEST_F(AndroidProviderBackendTest, AndroidCTSComplianceFolderColumnExists) {
1784 // This is test is used to verify the 'folder' column exists, all bookmarks 1787 // This is test is used to verify the 'folder' column exists, all bookmarks
1785 // returned when folder is 0 and the non bookmark rows returned when folder 1788 // returned when folder is 0 and the non bookmark rows returned when folder
1786 // is 1. 1789 // is 1.
1787 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1790 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1788 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); 1791 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_));
1789 scoped_ptr<AndroidProviderBackend> backend( 1792 scoped_ptr<AndroidProviderBackend> backend(
1790 new AndroidProviderBackend(android_cache_db_name_, 1793 new AndroidProviderBackend(android_cache_db_name_,
1791 &history_db_, 1794 &history_db_,
1792 &thumbnail_db_, 1795 &thumbnail_db_,
1793 history_client_.get(), 1796 history_backend_client_.get(),
1794 &notifier_)); 1797 &notifier_));
1795 HistoryAndBookmarkRow row1; 1798 HistoryAndBookmarkRow row1;
1796 row1.set_raw_url("cnn.com"); 1799 row1.set_raw_url("cnn.com");
1797 row1.set_url(GURL("http://cnn.com")); 1800 row1.set_url(GURL("http://cnn.com"));
1798 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); 1801 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1));
1799 row1.set_created(Time::Now() - TimeDelta::FromDays(20)); 1802 row1.set_created(Time::Now() - TimeDelta::FromDays(20));
1800 row1.set_visit_count(10); 1803 row1.set_visit_count(10);
1801 row1.set_is_bookmark(true); 1804 row1.set_is_bookmark(true);
1802 row1.set_title(UTF8ToUTF16("cnn")); 1805 row1.set_title(UTF8ToUTF16("cnn"));
1803 1806
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1856 Time created2 = last_visited2 - TimeDelta::FromDays(10); 1859 Time created2 = last_visited2 - TimeDelta::FromDays(10);
1857 visits2.push_back(VisitInfo(created2, ui::PAGE_TRANSITION_LINK)); 1860 visits2.push_back(VisitInfo(created2, ui::PAGE_TRANSITION_LINK));
1858 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5), 1861 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5),
1859 ui::PAGE_TRANSITION_LINK)); 1862 ui::PAGE_TRANSITION_LINK));
1860 visits2.push_back(VisitInfo(last_visited2, ui::PAGE_TRANSITION_LINK)); 1863 visits2.push_back(VisitInfo(last_visited2, ui::PAGE_TRANSITION_LINK));
1861 1864
1862 // Only use the HistoryBackend to generate the test data. 1865 // Only use the HistoryBackend to generate the test data.
1863 // HistoryBackend will shutdown after that. 1866 // HistoryBackend will shutdown after that.
1864 { 1867 {
1865 scoped_refptr<HistoryBackend> history_backend; 1868 scoped_refptr<HistoryBackend> history_backend;
1866 history_backend = 1869 history_backend = new HistoryBackend(new AndroidProviderBackendDelegate(),
1867 new HistoryBackend(new AndroidProviderBackendDelegate(), 1870 history_client_->CreateBackendClient(),
1868 history_client_.get(), message_loop_.task_runner()); 1871 message_loop_.task_runner());
1869 history_backend->Init(std::string(), false, 1872 history_backend->Init(std::string(), false,
1870 TestHistoryDatabaseParamsForPath(temp_dir_.path())); 1873 TestHistoryDatabaseParamsForPath(temp_dir_.path()));
1871 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); 1874 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED);
1872 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); 1875 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED);
1873 URLRow url_row; 1876 URLRow url_row;
1874 1877
1875 history::URLRows url_rows(2u); 1878 history::URLRows url_rows(2u);
1876 ASSERT_TRUE(history_backend->GetURL(url1, &url_rows[0])); 1879 ASSERT_TRUE(history_backend->GetURL(url1, &url_rows[0]));
1877 ASSERT_TRUE(history_backend->GetURL(url2, &url_rows[1])); 1880 ASSERT_TRUE(history_backend->GetURL(url2, &url_rows[1]));
1878 url_rows[0].set_title(title1); 1881 url_rows[0].set_title(title1);
(...skipping 14 matching lines...) Expand all
1893 // Only creates the history database 1896 // Only creates the history database
1894 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1897 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1895 1898
1896 // Set url1 as bookmark. 1899 // Set url1 as bookmark.
1897 AddBookmark(url1); 1900 AddBookmark(url1);
1898 1901
1899 scoped_ptr<AndroidProviderBackend> backend( 1902 scoped_ptr<AndroidProviderBackend> backend(
1900 new AndroidProviderBackend(android_cache_db_name_, 1903 new AndroidProviderBackend(android_cache_db_name_,
1901 &history_db_, 1904 &history_db_,
1902 NULL, 1905 NULL,
1903 history_client_.get(), 1906 history_backend_client_.get(),
1904 &notifier_)); 1907 &notifier_));
1905 1908
1906 std::vector<HistoryAndBookmarkRow::ColumnID> projections; 1909 std::vector<HistoryAndBookmarkRow::ColumnID> projections;
1907 1910
1908 projections.push_back(HistoryAndBookmarkRow::ID); 1911 projections.push_back(HistoryAndBookmarkRow::ID);
1909 projections.push_back(HistoryAndBookmarkRow::URL); 1912 projections.push_back(HistoryAndBookmarkRow::URL);
1910 projections.push_back(HistoryAndBookmarkRow::TITLE); 1913 projections.push_back(HistoryAndBookmarkRow::TITLE);
1911 projections.push_back(HistoryAndBookmarkRow::CREATED); 1914 projections.push_back(HistoryAndBookmarkRow::CREATED);
1912 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME); 1915 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME);
1913 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT); 1916 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1966 row2.set_title(UTF8ToUTF16("example")); 1969 row2.set_title(UTF8ToUTF16("example"));
1967 std::vector<unsigned char> data; 1970 std::vector<unsigned char> data;
1968 data.push_back('1'); 1971 data.push_back('1');
1969 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); 1972 row2.set_favicon(base::RefCountedBytes::TakeVector(&data));
1970 1973
1971 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 1974 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
1972 scoped_ptr<AndroidProviderBackend> backend( 1975 scoped_ptr<AndroidProviderBackend> backend(
1973 new AndroidProviderBackend(android_cache_db_name_, 1976 new AndroidProviderBackend(android_cache_db_name_,
1974 &history_db_, 1977 &history_db_,
1975 NULL, 1978 NULL,
1976 history_client_.get(), 1979 history_backend_client_.get(),
1977 &notifier_)); 1980 &notifier_));
1978 1981
1979 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 1982 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
1980 EXPECT_FALSE(notifier_.deleted_details()); 1983 EXPECT_FALSE(notifier_.deleted_details());
1981 ASSERT_TRUE(notifier_.modified_details()); 1984 ASSERT_TRUE(notifier_.modified_details());
1982 ASSERT_EQ(1u, notifier_.modified_details()->size()); 1985 ASSERT_EQ(1u, notifier_.modified_details()->size());
1983 EXPECT_EQ(row1.url(), (*notifier_.modified_details())[0].url()); 1986 EXPECT_EQ(row1.url(), (*notifier_.modified_details())[0].url());
1984 EXPECT_EQ(row1.last_visit_time(), 1987 EXPECT_EQ(row1.last_visit_time(),
1985 (*notifier_.modified_details())[0].last_visit()); 1988 (*notifier_.modified_details())[0].last_visit());
1986 EXPECT_EQ(row1.visit_count(), 1989 EXPECT_EQ(row1.visit_count(),
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
2033 { 2036 {
2034 TestHistoryDatabase history_db; 2037 TestHistoryDatabase history_db;
2035 ThumbnailDatabase thumbnail_db(NULL); 2038 ThumbnailDatabase thumbnail_db(NULL);
2036 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_)); 2039 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_));
2037 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_)); 2040 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_));
2038 2041
2039 scoped_ptr<AndroidProviderBackend> backend( 2042 scoped_ptr<AndroidProviderBackend> backend(
2040 new AndroidProviderBackend(android_cache_db_name_, 2043 new AndroidProviderBackend(android_cache_db_name_,
2041 &history_db, 2044 &history_db,
2042 &thumbnail_db, 2045 &thumbnail_db,
2043 history_client_.get(), 2046 history_backend_client_.get(),
2044 &notifier_)); 2047 &notifier_));
2045 2048
2046 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); 2049 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1));
2047 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2)); 2050 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2));
2048 // Verify the row1 has been added in bookmark model. 2051 // Verify the row1 has been added in bookmark model.
2049 content::RunAllPendingInMessageLoop(); 2052 content::RunAllPendingInMessageLoop();
2050 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); 2053 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count());
2051 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); 2054 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0);
2052 ASSERT_TRUE(child); 2055 ASSERT_TRUE(child);
2053 EXPECT_EQ(row1.title(), child->GetTitle()); 2056 EXPECT_EQ(row1.title(), child->GetTitle());
2054 EXPECT_EQ(row1.url(), child->url()); 2057 EXPECT_EQ(row1.url(), child->url());
2055 } 2058 }
2056 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 2059 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
2057 scoped_ptr<AndroidProviderBackend> backend( 2060 scoped_ptr<AndroidProviderBackend> backend(
2058 new AndroidProviderBackend(android_cache_db_name_, 2061 new AndroidProviderBackend(android_cache_db_name_,
2059 &history_db_, 2062 &history_db_,
2060 NULL, 2063 NULL,
2061 history_client_.get(), 2064 history_backend_client_.get(),
2062 &notifier_)); 2065 &notifier_));
2063 2066
2064 // Delete all rows. 2067 // Delete all rows.
2065 std::vector<base::string16> args; 2068 std::vector<base::string16> args;
2066 int deleted_count = 0; 2069 int deleted_count = 0;
2067 notifier_.ResetDetails(); 2070 notifier_.ResetDetails();
2068 ASSERT_TRUE(backend->DeleteHistoryAndBookmarks("Favicon IS NULL", args, 2071 ASSERT_TRUE(backend->DeleteHistoryAndBookmarks("Favicon IS NULL", args,
2069 &deleted_count)); 2072 &deleted_count));
2070 // All rows were deleted. 2073 // All rows were deleted.
2071 EXPECT_EQ(2, deleted_count); 2074 EXPECT_EQ(2, deleted_count);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2109 2112
2110 { 2113 {
2111 TestHistoryDatabase history_db; 2114 TestHistoryDatabase history_db;
2112 ThumbnailDatabase thumbnail_db(NULL); 2115 ThumbnailDatabase thumbnail_db(NULL);
2113 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_)); 2116 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_));
2114 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_)); 2117 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_));
2115 scoped_ptr<AndroidProviderBackend> backend( 2118 scoped_ptr<AndroidProviderBackend> backend(
2116 new AndroidProviderBackend(android_cache_db_name_, 2119 new AndroidProviderBackend(android_cache_db_name_,
2117 &history_db, 2120 &history_db,
2118 &thumbnail_db, 2121 &thumbnail_db,
2119 history_client_.get(), 2122 history_backend_client_.get(),
2120 &notifier_)); 2123 &notifier_));
2121 2124
2122 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); 2125 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1);
2123 ASSERT_TRUE(id1); 2126 ASSERT_TRUE(id1);
2124 } 2127 }
2125 2128
2126 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); 2129 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_));
2127 scoped_ptr<AndroidProviderBackend> backend( 2130 scoped_ptr<AndroidProviderBackend> backend(
2128 new AndroidProviderBackend(android_cache_db_name_, 2131 new AndroidProviderBackend(android_cache_db_name_,
2129 &history_db_, 2132 &history_db_,
2130 NULL, 2133 NULL,
2131 history_client_.get(), 2134 history_backend_client_.get(),
2132 &notifier_)); 2135 &notifier_));
2133 2136
2134 int update_count; 2137 int update_count;
2135 std::vector<base::string16> update_args; 2138 std::vector<base::string16> update_args;
2136 // Update the last visit time to a value greater than current one. 2139 // Update the last visit time to a value greater than current one.
2137 HistoryAndBookmarkRow update_row1; 2140 HistoryAndBookmarkRow update_row1;
2138 2141
2139 // Set visit count. 2142 // Set visit count.
2140 update_row1.set_visit_count(5); 2143 update_row1.set_visit_count(5);
2141 // Set favicon. 2144 // Set favicon.
2142 std::vector<unsigned char> data; 2145 std::vector<unsigned char> data;
2143 data.push_back('1'); 2146 data.push_back('1');
2144 update_row1.set_favicon(base::RefCountedBytes::TakeVector(&data)); 2147 update_row1.set_favicon(base::RefCountedBytes::TakeVector(&data));
2145 update_args.push_back(UTF8ToUTF16(row1.raw_url())); 2148 update_args.push_back(UTF8ToUTF16(row1.raw_url()));
2146 notifier_.ResetDetails(); 2149 notifier_.ResetDetails();
2147 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?", 2150 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?",
2148 update_args, &update_count)); 2151 update_args, &update_count));
2149 // Verify notifications. 2152 // Verify notifications.
2150 EXPECT_FALSE(notifier_.deleted_details()); 2153 EXPECT_FALSE(notifier_.deleted_details());
2151 ASSERT_TRUE(notifier_.modified_details()); 2154 ASSERT_TRUE(notifier_.modified_details());
2152 ASSERT_EQ(1u, notifier_.modified_details()->size()); 2155 ASSERT_EQ(1u, notifier_.modified_details()->size());
2153 // No favicon will be updated as thumbnail database is missing. 2156 // No favicon will be updated as thumbnail database is missing.
2154 EXPECT_FALSE(notifier_.favicon_changed()); 2157 EXPECT_FALSE(notifier_.favicon_changed());
2155 } 2158 }
2156 2159
2157 } // namespace history 2160 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/history/android/android_provider_backend.cc ('k') | chrome/browser/history/chrome_history_backend_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698