| 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 <stdint.h> | 7 #include <stdint.h> |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 void FastForwardBy(base::TimeDelta delta); | 92 void FastForwardBy(base::TimeDelta delta); |
| 93 void ResetResults(); | 93 void ResetResults(); |
| 94 | 94 |
| 95 OfflinePageTestStore* GetStore(); | 95 OfflinePageTestStore* GetStore(); |
| 96 | 96 |
| 97 void SavePage(const GURL& url, int64_t bookmark_id); | 97 void SavePage(const GURL& url, int64_t bookmark_id); |
| 98 void SavePageWithArchiverResult(const GURL& url, | 98 void SavePageWithArchiverResult(const GURL& url, |
| 99 int64_t bookmark_id, | 99 int64_t bookmark_id, |
| 100 OfflinePageArchiver::ArchiverResult result); | 100 OfflinePageArchiver::ArchiverResult result); |
| 101 | 101 |
| 102 void DeletePage(int64_t bookmark_id, |
| 103 const OfflinePageModel::DeletePageCallback& callback) { |
| 104 model()->DeletePagesByBookmarkId(std::vector<int64_t>(1, bookmark_id), |
| 105 callback); |
| 106 } |
| 107 |
| 102 OfflinePageModel* model() { return model_.get(); } | 108 OfflinePageModel* model() { return model_.get(); } |
| 103 | 109 |
| 104 SavePageResult last_save_result() const { | 110 SavePageResult last_save_result() const { |
| 105 return last_save_result_; | 111 return last_save_result_; |
| 106 } | 112 } |
| 107 | 113 |
| 108 DeletePageResult last_delete_result() const { | 114 DeletePageResult last_delete_result() const { |
| 109 return last_delete_result_; | 115 return last_delete_result_; |
| 110 } | 116 } |
| 111 | 117 |
| (...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 ResetResults(); | 487 ResetResults(); |
| 482 | 488 |
| 483 // Save another page. | 489 // Save another page. |
| 484 SavePage(kTestUrl2, kTestPageBookmarkId2); | 490 SavePage(kTestUrl2, kTestPageBookmarkId2); |
| 485 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); | 491 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); |
| 486 EXPECT_EQ(2u, store->GetAllPages().size()); | 492 EXPECT_EQ(2u, store->GetAllPages().size()); |
| 487 | 493 |
| 488 ResetResults(); | 494 ResetResults(); |
| 489 | 495 |
| 490 // Delete one page. | 496 // Delete one page. |
| 491 model()->DeletePageByBookmarkId( | 497 DeletePage(kTestPageBookmarkId1, |
| 492 kTestPageBookmarkId1, base::Bind(&OfflinePageModelTest::OnDeletePageDone, | 498 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 493 AsWeakPtr())); | |
| 494 | 499 |
| 495 PumpLoop(); | 500 PumpLoop(); |
| 496 | 501 |
| 497 EXPECT_EQ(last_deleted_bookmark_id(), kTestPageBookmarkId1); | 502 EXPECT_EQ(last_deleted_bookmark_id(), kTestPageBookmarkId1); |
| 498 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); | 503 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); |
| 499 ASSERT_EQ(1u, store->GetAllPages().size()); | 504 ASSERT_EQ(1u, store->GetAllPages().size()); |
| 500 EXPECT_EQ(kTestUrl2, store->GetAllPages()[0].url); | 505 EXPECT_EQ(kTestUrl2, store->GetAllPages()[0].url); |
| 501 | 506 |
| 502 // Delete another page. | 507 // Delete another page. |
| 503 model()->DeletePageByBookmarkId( | 508 DeletePage(kTestPageBookmarkId2, |
| 504 kTestPageBookmarkId2, base::Bind(&OfflinePageModelTest::OnDeletePageDone, | 509 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 505 AsWeakPtr())); | |
| 506 | 510 |
| 507 ResetResults(); | 511 ResetResults(); |
| 508 | 512 |
| 509 PumpLoop(); | 513 PumpLoop(); |
| 510 | 514 |
| 511 EXPECT_EQ(last_deleted_bookmark_id(), kTestPageBookmarkId2); | 515 EXPECT_EQ(last_deleted_bookmark_id(), kTestPageBookmarkId2); |
| 512 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); | 516 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); |
| 513 EXPECT_EQ(0u, store->GetAllPages().size()); | 517 EXPECT_EQ(0u, store->GetAllPages().size()); |
| 514 } | 518 } |
| 515 | 519 |
| 516 TEST_F(OfflinePageModelTest, DeletePageNotFound) { | 520 TEST_F(OfflinePageModelTest, DeletePageNotFound) { |
| 517 model()->DeletePageByBookmarkId( | 521 DeletePage(kTestPageBookmarkId1, |
| 518 kTestPageBookmarkId1, base::Bind(&OfflinePageModelTest::OnDeletePageDone, | 522 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 519 AsWeakPtr())); | |
| 520 EXPECT_EQ(DeletePageResult::NOT_FOUND, last_delete_result()); | 523 EXPECT_EQ(DeletePageResult::NOT_FOUND, last_delete_result()); |
| 521 } | 524 } |
| 522 | 525 |
| 523 TEST_F(OfflinePageModelTest, DeletePageStoreFailureOnRemove) { | 526 TEST_F(OfflinePageModelTest, DeletePageStoreFailureOnRemove) { |
| 524 // Save a page. | 527 // Save a page. |
| 525 SavePage(kTestUrl, kTestPageBookmarkId1); | 528 SavePage(kTestUrl, kTestPageBookmarkId1); |
| 526 | 529 |
| 527 ResetResults(); | 530 ResetResults(); |
| 528 | 531 |
| 529 // Try to delete this page. | 532 // Try to delete this page. |
| 530 GetStore()->set_test_scenario( | 533 GetStore()->set_test_scenario( |
| 531 OfflinePageTestStore::TestScenario::REMOVE_FAILED); | 534 OfflinePageTestStore::TestScenario::REMOVE_FAILED); |
| 532 model()->DeletePageByBookmarkId( | 535 DeletePage(kTestPageBookmarkId1, |
| 533 kTestPageBookmarkId1, base::Bind(&OfflinePageModelTest::OnDeletePageDone, | 536 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 534 AsWeakPtr())); | |
| 535 PumpLoop(); | 537 PumpLoop(); |
| 536 EXPECT_EQ(DeletePageResult::STORE_FAILURE, last_delete_result()); | 538 EXPECT_EQ(DeletePageResult::STORE_FAILURE, last_delete_result()); |
| 537 } | 539 } |
| 538 | 540 |
| 539 TEST_F(OfflinePageModelTest, DetectThatOfflineCopyIsMissing) { | 541 TEST_F(OfflinePageModelTest, DetectThatOfflineCopyIsMissing) { |
| 540 // Save a page. | 542 // Save a page. |
| 541 SavePage(kTestUrl, kTestPageBookmarkId1); | 543 SavePage(kTestUrl, kTestPageBookmarkId1); |
| 542 | 544 |
| 543 ResetResults(); | 545 ResetResults(); |
| 544 | 546 |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 911 PumpLoop(); | 913 PumpLoop(); |
| 912 EXPECT_EQ(0UL, model()->GetAllPages().size()); | 914 EXPECT_EQ(0UL, model()->GetAllPages().size()); |
| 913 | 915 |
| 914 // The offline copy should be restored upon the bookmark restore. | 916 // The offline copy should be restored upon the bookmark restore. |
| 915 UndoBookmarkRemoval(); | 917 UndoBookmarkRemoval(); |
| 916 PumpLoop(); | 918 PumpLoop(); |
| 917 EXPECT_EQ(1UL, model()->GetAllPages().size()); | 919 EXPECT_EQ(1UL, model()->GetAllPages().size()); |
| 918 } | 920 } |
| 919 | 921 |
| 920 } // namespace offline_pages | 922 } // namespace offline_pages |
| OLD | NEW |