| 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 offline_id, | 
 |   110                   const OfflinePageModel::DeletePageCallback& callback) { | 
 |   111     std::vector<int64_t> offline_ids; | 
 |   112     offline_ids.push_back(offline_id); | 
 |   113     model()->DeletePagesByOfflineId(offline_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 |