Chromium Code Reviews| 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 99 void FastForwardBy(base::TimeDelta delta); | 99 void FastForwardBy(base::TimeDelta delta); |
| 100 void ResetResults(); | 100 void ResetResults(); |
| 101 | 101 |
| 102 OfflinePageTestStore* GetStore(); | 102 OfflinePageTestStore* GetStore(); |
| 103 | 103 |
| 104 void SavePage(const GURL& url, ClientId client_id); | 104 void SavePage(const GURL& url, ClientId client_id); |
| 105 void SavePageWithArchiverResult(const GURL& url, | 105 void SavePageWithArchiverResult(const GURL& url, |
| 106 ClientId client_id, | 106 ClientId client_id, |
| 107 OfflinePageArchiver::ArchiverResult result); | 107 OfflinePageArchiver::ArchiverResult result); |
| 108 | 108 |
| 109 void DeletePage(int64_t bookmark_id, | |
| 110 const OfflinePageModel::DeletePageCallback& callback) { | |
| 111 std::vector<int64_t> bookmark_ids; | |
|
fgorski
2016/03/28 17:58:46
offline_ids ?
dewittj
2016/03/31 18:43:18
Done.
| |
| 112 bookmark_ids.push_back(bookmark_id); | |
| 113 model()->DeletePagesByOfflineId(bookmark_ids, callback); | |
| 114 } | |
| 115 | |
| 109 OfflinePageModel* model() { return model_.get(); } | 116 OfflinePageModel* model() { return model_.get(); } |
| 110 | 117 |
| 111 int64_t last_save_offline_id() const { return last_save_offline_id_; } | 118 int64_t last_save_offline_id() const { return last_save_offline_id_; } |
| 112 | 119 |
| 113 SavePageResult last_save_result() const { | 120 SavePageResult last_save_result() const { |
| 114 return last_save_result_; | 121 return last_save_result_; |
| 115 } | 122 } |
| 116 | 123 |
| 117 DeletePageResult last_delete_result() const { | 124 DeletePageResult last_delete_result() const { |
| 118 return last_delete_result_; | 125 return last_delete_result_; |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 515 | 522 |
| 516 // Save another page. | 523 // Save another page. |
| 517 SavePage(kTestUrl2, kTestPageBookmarkId2); | 524 SavePage(kTestUrl2, kTestPageBookmarkId2); |
| 518 int64_t offline2 = last_save_offline_id(); | 525 int64_t offline2 = last_save_offline_id(); |
| 519 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); | 526 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); |
| 520 EXPECT_EQ(2u, store->GetAllPages().size()); | 527 EXPECT_EQ(2u, store->GetAllPages().size()); |
| 521 | 528 |
| 522 ResetResults(); | 529 ResetResults(); |
| 523 | 530 |
| 524 // Delete one page. | 531 // Delete one page. |
| 525 model()->DeletePageByOfflineId( | 532 DeletePage(offline1, |
| 526 offline1, | 533 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 527 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); | |
| 528 | 534 |
| 529 PumpLoop(); | 535 PumpLoop(); |
| 530 | 536 |
| 531 EXPECT_EQ(last_deleted_offline_id(), offline1); | 537 EXPECT_EQ(last_deleted_offline_id(), offline1); |
| 532 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId1); | 538 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId1); |
| 533 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); | 539 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); |
| 534 ASSERT_EQ(1u, store->GetAllPages().size()); | 540 ASSERT_EQ(1u, store->GetAllPages().size()); |
| 535 EXPECT_EQ(kTestUrl2, store->GetAllPages()[0].url); | 541 EXPECT_EQ(kTestUrl2, store->GetAllPages()[0].url); |
| 536 | 542 |
| 537 // Delete another page. | 543 // Delete another page. |
| 538 model()->DeletePageByOfflineId( | 544 DeletePage(offline2, |
| 539 offline2, | 545 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 540 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); | |
| 541 | 546 |
| 542 ResetResults(); | 547 ResetResults(); |
| 543 | 548 |
| 544 PumpLoop(); | 549 PumpLoop(); |
| 545 | 550 |
| 546 EXPECT_EQ(last_deleted_offline_id(), offline2); | 551 EXPECT_EQ(last_deleted_offline_id(), offline2); |
| 547 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId2); | 552 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId2); |
| 548 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); | 553 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); |
| 549 EXPECT_EQ(0u, store->GetAllPages().size()); | 554 EXPECT_EQ(0u, store->GetAllPages().size()); |
| 550 } | 555 } |
| 551 | 556 |
| 552 TEST_F(OfflinePageModelTest, DeletePageNotFound) { | 557 TEST_F(OfflinePageModelTest, DeletePageNotFound) { |
| 553 model()->DeletePageByOfflineId( | 558 DeletePage(1234LL, |
| 554 1234LL, base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); | 559 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 555 EXPECT_EQ(DeletePageResult::NOT_FOUND, last_delete_result()); | 560 EXPECT_EQ(DeletePageResult::NOT_FOUND, last_delete_result()); |
| 556 } | 561 } |
| 557 | 562 |
| 558 TEST_F(OfflinePageModelTest, DeletePageStoreFailureOnRemove) { | 563 TEST_F(OfflinePageModelTest, DeletePageStoreFailureOnRemove) { |
| 559 // Save a page. | 564 // Save a page. |
| 560 SavePage(kTestUrl, kTestPageBookmarkId1); | 565 SavePage(kTestUrl, kTestPageBookmarkId1); |
| 561 int64_t offline_id = last_save_offline_id(); | 566 int64_t offline_id = last_save_offline_id(); |
| 562 ResetResults(); | 567 ResetResults(); |
| 563 | 568 |
| 564 // Try to delete this page. | 569 // Try to delete this page. |
| 565 GetStore()->set_test_scenario( | 570 GetStore()->set_test_scenario( |
| 566 OfflinePageTestStore::TestScenario::REMOVE_FAILED); | 571 OfflinePageTestStore::TestScenario::REMOVE_FAILED); |
| 567 model()->DeletePageByOfflineId( | 572 DeletePage(offline_id, |
| 568 offline_id, | 573 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
| 569 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); | |
| 570 PumpLoop(); | 574 PumpLoop(); |
| 571 EXPECT_EQ(DeletePageResult::STORE_FAILURE, last_delete_result()); | 575 EXPECT_EQ(DeletePageResult::STORE_FAILURE, last_delete_result()); |
| 572 } | 576 } |
| 573 | 577 |
| 574 TEST_F(OfflinePageModelTest, DetectThatOfflineCopyIsMissing) { | 578 TEST_F(OfflinePageModelTest, DetectThatOfflineCopyIsMissing) { |
| 575 // Save a page. | 579 // Save a page. |
| 576 SavePage(kTestUrl, kTestPageBookmarkId1); | 580 SavePage(kTestUrl, kTestPageBookmarkId1); |
| 577 int64_t offline_id = last_save_offline_id(); | 581 int64_t offline_id = last_save_offline_id(); |
| 578 | 582 |
| 579 ResetResults(); | 583 ResetResults(); |
| (...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1032 // Check if feature is correctly enabled by command-line flag. | 1036 // Check if feature is correctly enabled by command-line flag. |
| 1033 base::FeatureList::ClearInstanceForTesting(); | 1037 base::FeatureList::ClearInstanceForTesting(); |
| 1034 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList); | 1038 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList); |
| 1035 feature_list->InitializeFromCommandLine( | 1039 feature_list->InitializeFromCommandLine( |
| 1036 offline_pages::kOfflinePagesBackgroundLoadingFeature.name, ""); | 1040 offline_pages::kOfflinePagesBackgroundLoadingFeature.name, ""); |
| 1037 base::FeatureList::SetInstance(std::move(feature_list)); | 1041 base::FeatureList::SetInstance(std::move(feature_list)); |
| 1038 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled()); | 1042 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled()); |
| 1039 } | 1043 } |
| 1040 | 1044 |
| 1041 } // namespace offline_pages | 1045 } // namespace offline_pages |
| OLD | NEW |