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 |