| 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_impl.h" | 5 #include "components/offline_pages/offline_page_model_impl.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 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); | 317 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); |
| 318 return std::make_pair(last_save_result_, last_save_offline_id_); | 318 return std::make_pair(last_save_result_, last_save_offline_id_); |
| 319 } | 319 } |
| 320 | 320 |
| 321 void OfflinePageModelImplTest::SavePageWithArchiverResult( | 321 void OfflinePageModelImplTest::SavePageWithArchiverResult( |
| 322 const GURL& url, | 322 const GURL& url, |
| 323 ClientId client_id, | 323 ClientId client_id, |
| 324 OfflinePageArchiver::ArchiverResult result) { | 324 OfflinePageArchiver::ArchiverResult result) { |
| 325 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(url, result)); | 325 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(url, result)); |
| 326 model()->SavePage( | 326 model()->SavePage( |
| 327 url, client_id, 0ul, std::move(archiver), | 327 url, client_id, 0l, std::move(archiver), |
| 328 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | 328 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); |
| 329 PumpLoop(); | 329 PumpLoop(); |
| 330 } | 330 } |
| 331 | 331 |
| 332 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetAllPages() { | 332 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetAllPages() { |
| 333 MultipleOfflinePageItemResult result; | 333 MultipleOfflinePageItemResult result; |
| 334 model()->GetAllPages( | 334 model()->GetAllPages( |
| 335 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult, | 335 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult, |
| 336 AsWeakPtr(), base::Unretained(&result))); | 336 AsWeakPtr(), base::Unretained(&result))); |
| 337 PumpLoop(); | 337 PumpLoop(); |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 kTestUrl, kTestClientId1, | 477 kTestUrl, kTestClientId1, |
| 478 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED); | 478 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED); |
| 479 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); | 479 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); |
| 480 } | 480 } |
| 481 | 481 |
| 482 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverReturnedWrongUrl) { | 482 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverReturnedWrongUrl) { |
| 483 std::unique_ptr<OfflinePageTestArchiver> archiver( | 483 std::unique_ptr<OfflinePageTestArchiver> archiver( |
| 484 BuildArchiver(GURL("http://other.random.url.com"), | 484 BuildArchiver(GURL("http://other.random.url.com"), |
| 485 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | 485 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
| 486 model()->SavePage( | 486 model()->SavePage( |
| 487 kTestUrl, kTestClientId1, 0ul, std::move(archiver), | 487 kTestUrl, kTestClientId1, 0l, std::move(archiver), |
| 488 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | 488 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); |
| 489 PumpLoop(); | 489 PumpLoop(); |
| 490 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); | 490 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); |
| 491 } | 491 } |
| 492 | 492 |
| 493 TEST_F(OfflinePageModelImplTest, SavePageOfflineCreationStoreWriteFailure) { | 493 TEST_F(OfflinePageModelImplTest, SavePageOfflineCreationStoreWriteFailure) { |
| 494 GetStore()->set_test_scenario( | 494 GetStore()->set_test_scenario( |
| 495 OfflinePageTestStore::TestScenario::WRITE_FAILED); | 495 OfflinePageTestStore::TestScenario::WRITE_FAILED); |
| 496 SavePage(kTestUrl, kTestClientId1); | 496 SavePage(kTestUrl, kTestClientId1); |
| 497 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result()); | 497 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result()); |
| 498 } | 498 } |
| 499 | 499 |
| 500 TEST_F(OfflinePageModelImplTest, SavePageLocalFileFailed) { | 500 TEST_F(OfflinePageModelImplTest, SavePageLocalFileFailed) { |
| 501 // Don't create archiver since it will not be needed for pages that are not | 501 // Don't create archiver since it will not be needed for pages that are not |
| 502 // going to be saved. | 502 // going to be saved. |
| 503 model()->SavePage( | 503 model()->SavePage( |
| 504 kFileUrl, kTestClientId1, 0ul, std::unique_ptr<OfflinePageTestArchiver>(), | 504 kFileUrl, kTestClientId1, 0l, std::unique_ptr<OfflinePageTestArchiver>(), |
| 505 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | 505 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); |
| 506 PumpLoop(); | 506 PumpLoop(); |
| 507 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result()); | 507 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result()); |
| 508 } | 508 } |
| 509 | 509 |
| 510 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverTwoPages) { | 510 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverTwoPages) { |
| 511 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( | 511 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( |
| 512 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | 512 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
| 513 // archiver_ptr will be valid until after first PumpLoop() call after | 513 // archiver_ptr will be valid until after first PumpLoop() call after |
| 514 // CompleteCreateArchive() is called. | 514 // CompleteCreateArchive() is called. |
| 515 OfflinePageTestArchiver* archiver_ptr = archiver.get(); | 515 OfflinePageTestArchiver* archiver_ptr = archiver.get(); |
| 516 archiver_ptr->set_delayed(true); | 516 archiver_ptr->set_delayed(true); |
| 517 model()->SavePage( | 517 model()->SavePage( |
| 518 kTestUrl, kTestClientId1, 0ul, std::move(archiver), | 518 kTestUrl, kTestClientId1, 0l, std::move(archiver), |
| 519 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | 519 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); |
| 520 EXPECT_TRUE(archiver_ptr->create_archive_called()); | 520 EXPECT_TRUE(archiver_ptr->create_archive_called()); |
| 521 | 521 |
| 522 // Request to save another page. | 522 // Request to save another page. |
| 523 SavePage(kTestUrl2, kTestClientId2); | 523 SavePage(kTestUrl2, kTestClientId2); |
| 524 | 524 |
| 525 OfflinePageTestStore* store = GetStore(); | 525 OfflinePageTestStore* store = GetStore(); |
| 526 | 526 |
| 527 EXPECT_EQ(kTestUrl2, store->last_saved_page().url); | 527 EXPECT_EQ(kTestUrl2, store->last_saved_page().url); |
| 528 EXPECT_EQ(kTestClientId2, store->last_saved_page().client_id); | 528 EXPECT_EQ(kTestClientId2, store->last_saved_page().client_id); |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 823 EXPECT_FALSE(base::PathExists(path)); | 823 EXPECT_FALSE(base::PathExists(path)); |
| 824 } | 824 } |
| 825 | 825 |
| 826 TEST_F(OfflinePageModelImplTest, DeleteMultiplePages) { | 826 TEST_F(OfflinePageModelImplTest, DeleteMultiplePages) { |
| 827 OfflinePageTestStore* store = GetStore(); | 827 OfflinePageTestStore* store = GetStore(); |
| 828 | 828 |
| 829 // Save 3 pages. | 829 // Save 3 pages. |
| 830 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( | 830 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( |
| 831 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | 831 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
| 832 model()->SavePage( | 832 model()->SavePage( |
| 833 kTestUrl, kTestClientId1, 0ul, std::move(archiver), | 833 kTestUrl, kTestClientId1, 0l, std::move(archiver), |
| 834 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | 834 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); |
| 835 PumpLoop(); | 835 PumpLoop(); |
| 836 int64_t offline1 = last_save_offline_id(); | 836 int64_t offline1 = last_save_offline_id(); |
| 837 | 837 |
| 838 std::unique_ptr<OfflinePageTestArchiver> archiver2(BuildArchiver( | 838 std::unique_ptr<OfflinePageTestArchiver> archiver2(BuildArchiver( |
| 839 kTestUrl2, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | 839 kTestUrl2, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
| 840 model()->SavePage( | 840 model()->SavePage( |
| 841 kTestUrl2, kTestClientId2, 0ul, std::move(archiver2), | 841 kTestUrl2, kTestClientId2, 0l, std::move(archiver2), |
| 842 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | 842 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); |
| 843 PumpLoop(); | 843 PumpLoop(); |
| 844 int64_t offline2 = last_save_offline_id(); | 844 int64_t offline2 = last_save_offline_id(); |
| 845 | 845 |
| 846 std::unique_ptr<OfflinePageTestArchiver> archiver3(BuildArchiver( | 846 std::unique_ptr<OfflinePageTestArchiver> archiver3(BuildArchiver( |
| 847 kTestUrl3, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | 847 kTestUrl3, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
| 848 model()->SavePage( | 848 model()->SavePage( |
| 849 kTestUrl3, kTestClientId3, 0ul, std::move(archiver3), | 849 kTestUrl3, kTestClientId3, 0l, std::move(archiver3), |
| 850 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | 850 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); |
| 851 PumpLoop(); | 851 PumpLoop(); |
| 852 | 852 |
| 853 EXPECT_EQ(3u, store->GetAllPages().size()); | 853 EXPECT_EQ(3u, store->GetAllPages().size()); |
| 854 | 854 |
| 855 // Delete multiple pages. | 855 // Delete multiple pages. |
| 856 std::vector<int64_t> ids_to_delete; | 856 std::vector<int64_t> ids_to_delete; |
| 857 ids_to_delete.push_back(offline2); | 857 ids_to_delete.push_back(offline2); |
| 858 ids_to_delete.push_back(offline1); | 858 ids_to_delete.push_back(offline1); |
| 859 ids_to_delete.push_back(23434LL); // Non-existent ID. | 859 ids_to_delete.push_back(23434LL); // Non-existent ID. |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1187 // Check if feature is correctly enabled by command-line flag. | 1187 // Check if feature is correctly enabled by command-line flag. |
| 1188 scoped_feature_list.reset(new base::test::ScopedFeatureList); | 1188 scoped_feature_list.reset(new base::test::ScopedFeatureList); |
| 1189 scoped_feature_list->InitFromCommandLine( | 1189 scoped_feature_list->InitFromCommandLine( |
| 1190 std::string(kOfflineBookmarksFeature.name) + "," + | 1190 std::string(kOfflineBookmarksFeature.name) + "," + |
| 1191 kOfflinePagesSharingFeature.name, | 1191 kOfflinePagesSharingFeature.name, |
| 1192 ""); | 1192 ""); |
| 1193 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); | 1193 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); |
| 1194 } | 1194 } |
| 1195 | 1195 |
| 1196 } // namespace offline_pages | 1196 } // namespace offline_pages |
| OLD | NEW |