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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 void OfflinePageModelChanged(OfflinePageModel* model) override; | 76 void OfflinePageModelChanged(OfflinePageModel* model) override; |
77 void OfflinePageDeleted(int64_t offline_id, | 77 void OfflinePageDeleted(int64_t offline_id, |
78 const ClientId& client_id) override; | 78 const ClientId& client_id) override; |
79 | 79 |
80 // OfflinePageTestArchiver::Observer implementation. | 80 // OfflinePageTestArchiver::Observer implementation. |
81 void SetLastPathCreatedByArchiver(const base::FilePath& file_path) override; | 81 void SetLastPathCreatedByArchiver(const base::FilePath& file_path) override; |
82 | 82 |
83 // OfflinePageModel callbacks. | 83 // OfflinePageModel callbacks. |
84 void OnSavePageDone(SavePageResult result, int64_t offline_id); | 84 void OnSavePageDone(SavePageResult result, int64_t offline_id); |
85 void OnDeletePageDone(DeletePageResult result); | 85 void OnDeletePageDone(DeletePageResult result); |
86 void OnHasPagesDone(bool result); | |
87 void OnCheckPagesExistOfflineDone(const CheckPagesExistOfflineResult& result); | 86 void OnCheckPagesExistOfflineDone(const CheckPagesExistOfflineResult& result); |
88 void OnClearAllDone(); | 87 void OnClearAllDone(); |
89 void OnGetOfflineIdsForClientIdDone(MultipleOfflineIdResult* storage, | 88 void OnGetOfflineIdsForClientIdDone(MultipleOfflineIdResult* storage, |
90 const MultipleOfflineIdResult& result); | 89 const MultipleOfflineIdResult& result); |
91 void OnGetSingleOfflinePageItemResult(const OfflinePageItem** storage, | 90 void OnGetSingleOfflinePageItemResult(const OfflinePageItem** storage, |
92 const OfflinePageItem* result); | 91 const OfflinePageItem* result); |
93 void OnGetMultipleOfflinePageItemsResult( | 92 void OnGetMultipleOfflinePageItemsResult( |
94 MultipleOfflinePageItemResult* storage, | 93 MultipleOfflinePageItemResult* storage, |
95 const MultipleOfflinePageItemResult& result); | 94 const MultipleOfflinePageItemResult& result); |
96 void OnPagesExpired(bool result); | 95 void OnPagesExpired(bool result); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 base::ThreadTaskRunnerHandle task_runner_handle_; | 173 base::ThreadTaskRunnerHandle task_runner_handle_; |
175 base::ScopedTempDir temp_dir_; | 174 base::ScopedTempDir temp_dir_; |
176 | 175 |
177 std::unique_ptr<OfflinePageModelImpl> model_; | 176 std::unique_ptr<OfflinePageModelImpl> model_; |
178 SavePageResult last_save_result_; | 177 SavePageResult last_save_result_; |
179 int64_t last_save_offline_id_; | 178 int64_t last_save_offline_id_; |
180 DeletePageResult last_delete_result_; | 179 DeletePageResult last_delete_result_; |
181 base::FilePath last_archiver_path_; | 180 base::FilePath last_archiver_path_; |
182 int64_t last_deleted_offline_id_; | 181 int64_t last_deleted_offline_id_; |
183 ClientId last_deleted_client_id_; | 182 ClientId last_deleted_client_id_; |
184 bool last_has_pages_result_; | |
185 CheckPagesExistOfflineResult last_pages_exist_result_; | 183 CheckPagesExistOfflineResult last_pages_exist_result_; |
186 int last_cleared_pages_count_; | 184 int last_cleared_pages_count_; |
187 DeletePageResult last_clear_page_result_; | 185 DeletePageResult last_clear_page_result_; |
188 bool last_expire_page_result_; | 186 bool last_expire_page_result_; |
189 | 187 |
190 base::HistogramTester histogram_tester_; | 188 base::HistogramTester histogram_tester_; |
191 }; | 189 }; |
192 | 190 |
193 OfflinePageModelImplTest::OfflinePageModelImplTest() | 191 OfflinePageModelImplTest::OfflinePageModelImplTest() |
194 : task_runner_(new base::TestMockTimeTaskRunner), | 192 : task_runner_(new base::TestMockTimeTaskRunner), |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 void OfflinePageModelImplTest::OnSavePageDone(SavePageResult result, | 234 void OfflinePageModelImplTest::OnSavePageDone(SavePageResult result, |
237 int64_t offline_id) { | 235 int64_t offline_id) { |
238 last_save_result_ = result; | 236 last_save_result_ = result; |
239 last_save_offline_id_ = offline_id; | 237 last_save_offline_id_ = offline_id; |
240 } | 238 } |
241 | 239 |
242 void OfflinePageModelImplTest::OnDeletePageDone(DeletePageResult result) { | 240 void OfflinePageModelImplTest::OnDeletePageDone(DeletePageResult result) { |
243 last_delete_result_ = result; | 241 last_delete_result_ = result; |
244 } | 242 } |
245 | 243 |
246 void OfflinePageModelImplTest::OnHasPagesDone(bool result) { | |
247 last_has_pages_result_ = result; | |
248 } | |
249 | |
250 void OfflinePageModelImplTest::OnCheckPagesExistOfflineDone( | 244 void OfflinePageModelImplTest::OnCheckPagesExistOfflineDone( |
251 const CheckPagesExistOfflineResult& result) { | 245 const CheckPagesExistOfflineResult& result) { |
252 last_pages_exist_result_ = result; | 246 last_pages_exist_result_ = result; |
253 } | 247 } |
254 | 248 |
255 void OfflinePageModelImplTest::OnClearAllDone() { | 249 void OfflinePageModelImplTest::OnClearAllDone() { |
256 PumpLoop(); | 250 PumpLoop(); |
257 } | 251 } |
258 | 252 |
259 void OfflinePageModelImplTest::OnStoreUpdateDone(bool /* success - ignored */) { | 253 void OfflinePageModelImplTest::OnStoreUpdateDone(bool /* success - ignored */) { |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 MultipleOfflinePageItemResult result; | 402 MultipleOfflinePageItemResult result; |
409 model()->GetPagesByOnlineURL( | 403 model()->GetPagesByOnlineURL( |
410 online_url, | 404 online_url, |
411 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult, | 405 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult, |
412 AsWeakPtr(), base::Unretained(&result))); | 406 AsWeakPtr(), base::Unretained(&result))); |
413 PumpLoop(); | 407 PumpLoop(); |
414 return result; | 408 return result; |
415 } | 409 } |
416 | 410 |
417 bool OfflinePageModelImplTest::HasPages(std::string name_space) { | 411 bool OfflinePageModelImplTest::HasPages(std::string name_space) { |
418 model()->HasPages( | 412 MultipleOfflinePageItemResult all_pages = GetAllPages(); |
419 name_space, | 413 for (const auto& page : all_pages) { |
420 base::Bind(&OfflinePageModelImplTest::OnHasPagesDone, AsWeakPtr())); | 414 if (page.client_id.name_space == name_space) |
421 PumpLoop(); | 415 return true; |
422 return last_has_pages_result_; | 416 } |
| 417 |
| 418 return false; |
423 } | 419 } |
424 | 420 |
425 TEST_F(OfflinePageModelImplTest, SavePageSuccessful) { | 421 TEST_F(OfflinePageModelImplTest, SavePageSuccessful) { |
426 EXPECT_FALSE(HasPages(kTestClientNamespace)); | 422 EXPECT_FALSE(HasPages(kTestClientNamespace)); |
427 SavePage(kTestUrl, kTestClientId1); | 423 SavePage(kTestUrl, kTestClientId1); |
428 EXPECT_TRUE(HasPages(kTestClientNamespace)); | 424 EXPECT_TRUE(HasPages(kTestClientNamespace)); |
429 | 425 |
430 OfflinePageTestStore* store = GetStore(); | 426 OfflinePageTestStore* store = GetStore(); |
431 EXPECT_EQ(kTestUrl, store->last_saved_page().url); | 427 EXPECT_EQ(kTestUrl, store->last_saved_page().url); |
432 EXPECT_EQ(kTestClientId1.id, store->last_saved_page().client_id.id); | 428 EXPECT_EQ(kTestClientId1.id, store->last_saved_page().client_id.id); |
(...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1230 // Check if feature is correctly enabled by command-line flag. | 1226 // Check if feature is correctly enabled by command-line flag. |
1231 scoped_feature_list.reset(new base::test::ScopedFeatureList); | 1227 scoped_feature_list.reset(new base::test::ScopedFeatureList); |
1232 scoped_feature_list->InitFromCommandLine( | 1228 scoped_feature_list->InitFromCommandLine( |
1233 std::string(kOfflineBookmarksFeature.name) + "," + | 1229 std::string(kOfflineBookmarksFeature.name) + "," + |
1234 kOfflinePagesSharingFeature.name, | 1230 kOfflinePagesSharingFeature.name, |
1235 ""); | 1231 ""); |
1236 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); | 1232 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); |
1237 } | 1233 } |
1238 | 1234 |
1239 } // namespace offline_pages | 1235 } // namespace offline_pages |
OLD | NEW |