| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/offline_pages/offline_page_model.h" | 5 #include "components/offline_pages/offline_page_model.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 ResetResults(); | 364 ResetResults(); |
| 365 | 365 |
| 366 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); | 366 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); |
| 367 | 367 |
| 368 EXPECT_EQ(1UL, offline_pages.size()); | 368 EXPECT_EQ(1UL, offline_pages.size()); |
| 369 EXPECT_EQ(kTestUrl, offline_pages[0].url); | 369 EXPECT_EQ(kTestUrl, offline_pages[0].url); |
| 370 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); | 370 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); |
| 371 EXPECT_EQ(archiver_path, offline_pages[0].file_path); | 371 EXPECT_EQ(archiver_path, offline_pages[0].file_path); |
| 372 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); | 372 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); |
| 373 EXPECT_EQ(0, offline_pages[0].access_count); | 373 EXPECT_EQ(0, offline_pages[0].access_count); |
| 374 EXPECT_EQ(0, offline_pages[0].flags); |
| 374 } | 375 } |
| 375 | 376 |
| 376 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverCancelled) { | 377 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverCancelled) { |
| 377 scoped_ptr<OfflinePageTestArchiver> archiver( | 378 scoped_ptr<OfflinePageTestArchiver> archiver( |
| 378 BuildArchiver(kTestUrl, | 379 BuildArchiver(kTestUrl, |
| 379 OfflinePageArchiver::ArchiverResult::ERROR_CANCELED) | 380 OfflinePageArchiver::ArchiverResult::ERROR_CANCELED) |
| 380 .Pass()); | 381 .Pass()); |
| 381 model()->SavePage( | 382 model()->SavePage( |
| 382 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), | 383 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), |
| 383 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 384 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 498 ResetResults(); | 499 ResetResults(); |
| 499 | 500 |
| 500 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); | 501 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); |
| 501 | 502 |
| 502 EXPECT_EQ(2UL, offline_pages.size()); | 503 EXPECT_EQ(2UL, offline_pages.size()); |
| 503 EXPECT_EQ(kTestUrl, offline_pages[0].url); | 504 EXPECT_EQ(kTestUrl, offline_pages[0].url); |
| 504 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); | 505 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); |
| 505 EXPECT_EQ(archiver_path, offline_pages[0].file_path); | 506 EXPECT_EQ(archiver_path, offline_pages[0].file_path); |
| 506 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); | 507 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); |
| 507 EXPECT_EQ(0, offline_pages[0].access_count); | 508 EXPECT_EQ(0, offline_pages[0].access_count); |
| 509 EXPECT_EQ(0, offline_pages[0].flags); |
| 508 EXPECT_EQ(kTestUrl2, offline_pages[1].url); | 510 EXPECT_EQ(kTestUrl2, offline_pages[1].url); |
| 509 EXPECT_EQ(kTestPageBookmarkId2, offline_pages[1].bookmark_id); | 511 EXPECT_EQ(kTestPageBookmarkId2, offline_pages[1].bookmark_id); |
| 510 EXPECT_EQ(archiver_path2, offline_pages[1].file_path); | 512 EXPECT_EQ(archiver_path2, offline_pages[1].file_path); |
| 511 EXPECT_EQ(kTestFileSize, offline_pages[1].file_size); | 513 EXPECT_EQ(kTestFileSize, offline_pages[1].file_size); |
| 512 EXPECT_EQ(0, offline_pages[1].access_count); | 514 EXPECT_EQ(0, offline_pages[1].access_count); |
| 515 EXPECT_EQ(0, offline_pages[1].flags); |
| 513 } | 516 } |
| 514 | 517 |
| 515 TEST_F(OfflinePageModelTest, MarkPageAccessed) { | 518 TEST_F(OfflinePageModelTest, MarkPageAccessed) { |
| 516 scoped_ptr<OfflinePageTestArchiver> archiver( | 519 scoped_ptr<OfflinePageTestArchiver> archiver( |
| 517 BuildArchiver(kTestUrl, | 520 BuildArchiver(kTestUrl, |
| 518 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) | 521 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) |
| 519 .Pass()); | 522 .Pass()); |
| 520 model()->SavePage( | 523 model()->SavePage( |
| 521 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), | 524 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), |
| 522 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 525 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
| 523 PumpLoop(); | 526 PumpLoop(); |
| 524 | 527 |
| 525 // This will increase access_count by one. | 528 // This will increase access_count by one. |
| 526 model()->MarkPageAccessed(kTestPageBookmarkId1); | 529 model()->MarkPageAccessed(kTestPageBookmarkId1); |
| 527 base::RunLoop().RunUntilIdle(); | 530 base::RunLoop().RunUntilIdle(); |
| 528 | 531 |
| 529 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); | 532 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); |
| 530 | 533 |
| 531 EXPECT_EQ(1UL, offline_pages.size()); | 534 EXPECT_EQ(1UL, offline_pages.size()); |
| 532 EXPECT_EQ(kTestUrl, offline_pages[0].url); | 535 EXPECT_EQ(kTestUrl, offline_pages[0].url); |
| 533 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); | 536 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); |
| 534 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); | 537 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); |
| 535 EXPECT_EQ(1, offline_pages[0].access_count); | 538 EXPECT_EQ(1, offline_pages[0].access_count); |
| 536 } | 539 } |
| 537 | 540 |
| 541 TEST_F(OfflinePageModelTest, MarkPageForDeletion) { |
| 542 scoped_ptr<OfflinePageTestArchiver> archiver( |
| 543 BuildArchiver(kTestUrl, |
| 544 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) |
| 545 .Pass()); |
| 546 model()->SavePage( |
| 547 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), |
| 548 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
| 549 PumpLoop(); |
| 550 |
| 551 // This will increase access_count by one. |
| 552 model()->MarkPageForDeletion( |
| 553 kTestPageBookmarkId1, |
| 554 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 555 PumpLoop(); |
| 556 |
| 557 // GetAllPages will not return the page that is marked for deletion. |
| 558 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); |
| 559 EXPECT_EQ(0UL, offline_pages.size()); |
| 560 } |
| 561 |
| 538 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) { | 562 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) { |
| 539 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); | 563 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); |
| 540 | 564 |
| 541 EXPECT_EQ(0UL, offline_pages.size()); | 565 EXPECT_EQ(0UL, offline_pages.size()); |
| 542 } | 566 } |
| 543 | 567 |
| 544 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) { | 568 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) { |
| 545 GetStore()->set_test_scenario( | 569 GetStore()->set_test_scenario( |
| 546 OfflinePageTestStore::TestScenario::LOAD_FAILED); | 570 OfflinePageTestStore::TestScenario::LOAD_FAILED); |
| 547 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); | 571 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 // has not been in the store long enough. | 771 // has not been in the store long enough. |
| 748 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp(); | 772 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp(); |
| 749 EXPECT_EQ(2UL, pages_to_clean_up.size()); | 773 EXPECT_EQ(2UL, pages_to_clean_up.size()); |
| 750 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url); | 774 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url); |
| 751 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id); | 775 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id); |
| 752 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url); | 776 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url); |
| 753 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id); | 777 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id); |
| 754 } | 778 } |
| 755 | 779 |
| 756 } // namespace offline_pages | 780 } // namespace offline_pages |
| OLD | NEW |