| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 ¬ifier_)); | 326 ¬ifier_)); |
| 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 Loading... |
| 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 Loading... |
| 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 ¬ifier_)); | 467 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 556 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 668 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 767 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 860 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1042 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1125 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1189 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1257 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1338 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1375 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1482 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1591 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1648 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1704 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1757 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1797 ¬ifier_)); |
| 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 Loading... |
| 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 Loading... |
| 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 ¬ifier_)); | 1907 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 1980 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 2047 ¬ifier_)); |
| 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 ¬ifier_)); | 2065 ¬ifier_)); |
| 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 Loading... |
| 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 ¬ifier_)); | 2123 ¬ifier_)); |
| 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 ¬ifier_)); | 2135 ¬ifier_)); |
| 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 |
| OLD | NEW |