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 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 } | 133 } |
134 | 134 |
135 bool HasPages(std::string name_space); | 135 bool HasPages(std::string name_space); |
136 | 136 |
137 CheckPagesExistOfflineResult CheckPagesExistOffline(std::set<GURL>); | 137 CheckPagesExistOfflineResult CheckPagesExistOffline(std::set<GURL>); |
138 | 138 |
139 MultipleOfflineIdResult GetOfflineIdsForClientId(const ClientId& client_id); | 139 MultipleOfflineIdResult GetOfflineIdsForClientId(const ClientId& client_id); |
140 | 140 |
141 const OfflinePageItem* GetPageByOfflineId(int64_t offline_id); | 141 const OfflinePageItem* GetPageByOfflineId(int64_t offline_id); |
142 | 142 |
143 MultipleOfflinePageItemResult GetPagesByOnlineURL(const GURL& offline_url); | 143 MultipleOfflinePageItemResult GetPagesByOnlineURL(const GURL& online_url); |
144 | |
145 const OfflinePageItem* GetPageByOfflineURL(const GURL& offline_url); | |
146 | 144 |
147 OfflinePageModelImpl* model() { return model_.get(); } | 145 OfflinePageModelImpl* model() { return model_.get(); } |
148 | 146 |
149 int64_t last_save_offline_id() const { return last_save_offline_id_; } | 147 int64_t last_save_offline_id() const { return last_save_offline_id_; } |
150 | 148 |
151 SavePageResult last_save_result() const { return last_save_result_; } | 149 SavePageResult last_save_result() const { return last_save_result_; } |
152 | 150 |
153 DeletePageResult last_delete_result() const { return last_delete_result_; } | 151 DeletePageResult last_delete_result() const { return last_delete_result_; } |
154 | 152 |
155 int64_t last_deleted_offline_id() const { return last_deleted_offline_id_; } | 153 int64_t last_deleted_offline_id() const { return last_deleted_offline_id_; } |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 int64_t offline_id) { | 366 int64_t offline_id) { |
369 const OfflinePageItem* result = nullptr; | 367 const OfflinePageItem* result = nullptr; |
370 model()->GetPageByOfflineId( | 368 model()->GetPageByOfflineId( |
371 offline_id, | 369 offline_id, |
372 base::Bind(&OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult, | 370 base::Bind(&OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult, |
373 AsWeakPtr(), base::Unretained(&result))); | 371 AsWeakPtr(), base::Unretained(&result))); |
374 PumpLoop(); | 372 PumpLoop(); |
375 return result; | 373 return result; |
376 } | 374 } |
377 | 375 |
378 const OfflinePageItem* OfflinePageModelImplTest::GetPageByOfflineURL( | |
379 const GURL& offline_url) { | |
380 const OfflinePageItem* result = nullptr; | |
381 model()->GetPageByOfflineURL( | |
382 offline_url, | |
383 base::Bind(&OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult, | |
384 AsWeakPtr(), base::Unretained(&result))); | |
385 PumpLoop(); | |
386 return result; | |
387 } | |
388 | |
389 void OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult( | 376 void OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult( |
390 const OfflinePageItem** storage, | 377 const OfflinePageItem** storage, |
391 const OfflinePageItem* result) { | 378 const OfflinePageItem* result) { |
392 *storage = result; | 379 *storage = result; |
393 } | 380 } |
394 | 381 |
395 void OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult( | 382 void OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult( |
396 MultipleOfflinePageItemResult* storage, | 383 MultipleOfflinePageItemResult* storage, |
397 const MultipleOfflinePageItemResult& result) { | 384 const MultipleOfflinePageItemResult& result) { |
398 *storage = result; | 385 *storage = result; |
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
882 page = GetPageByOfflineId(offline2); | 869 page = GetPageByOfflineId(offline2); |
883 EXPECT_TRUE(page); | 870 EXPECT_TRUE(page); |
884 EXPECT_EQ(kTestUrl2, page->url); | 871 EXPECT_EQ(kTestUrl2, page->url); |
885 EXPECT_EQ(kTestClientId2, page->client_id); | 872 EXPECT_EQ(kTestClientId2, page->client_id); |
886 EXPECT_EQ(kTestFileSize, page->file_size); | 873 EXPECT_EQ(kTestFileSize, page->file_size); |
887 | 874 |
888 page = GetPageByOfflineId(-42); | 875 page = GetPageByOfflineId(-42); |
889 EXPECT_FALSE(page); | 876 EXPECT_FALSE(page); |
890 } | 877 } |
891 | 878 |
892 TEST_F(OfflinePageModelImplTest, GetPageByOfflineURL) { | |
893 SavePage(kTestUrl, kTestClientId1); | |
894 int64_t offline1 = last_save_offline_id(); | |
895 | |
896 OfflinePageTestStore* store = GetStore(); | |
897 GURL offline_url = store->last_saved_page().GetOfflineURL(); | |
898 | |
899 SavePage(kTestUrl2, kTestClientId2); | |
900 | |
901 GURL offline_url2 = store->last_saved_page().GetOfflineURL(); | |
902 int64_t offline2 = last_save_offline_id(); | |
903 | |
904 const OfflinePageItem* page = GetPageByOfflineURL(offline_url2); | |
905 EXPECT_TRUE(page); | |
906 EXPECT_EQ(kTestUrl2, page->url); | |
907 EXPECT_EQ(kTestClientId2, page->client_id); | |
908 EXPECT_EQ(offline2, page->offline_id); | |
909 | |
910 page = GetPageByOfflineURL(offline_url); | |
911 EXPECT_TRUE(page); | |
912 EXPECT_EQ(kTestUrl, page->url); | |
913 EXPECT_EQ(kTestClientId1, page->client_id); | |
914 EXPECT_EQ(offline1, page->offline_id); | |
915 | |
916 page = GetPageByOfflineURL(GURL("http://foo")); | |
917 EXPECT_FALSE(page); | |
918 } | |
919 | |
920 TEST_F(OfflinePageModelImplTest, GetPagesByOnlineURL) { | 879 TEST_F(OfflinePageModelImplTest, GetPagesByOnlineURL) { |
921 SavePage(kTestUrl, kTestClientId1); | 880 SavePage(kTestUrl, kTestClientId1); |
922 SavePage(kTestUrl2, kTestClientId2); | 881 SavePage(kTestUrl2, kTestClientId2); |
923 | 882 |
924 MultipleOfflinePageItemResult pages = GetPagesByOnlineURL(kTestUrl2); | 883 MultipleOfflinePageItemResult pages = GetPagesByOnlineURL(kTestUrl2); |
925 EXPECT_EQ(1U, pages.size()); | 884 EXPECT_EQ(1U, pages.size()); |
926 EXPECT_EQ(kTestUrl2, pages[0].url); | 885 EXPECT_EQ(kTestUrl2, pages[0].url); |
927 EXPECT_EQ(kTestClientId2, pages[0].client_id); | 886 EXPECT_EQ(kTestClientId2, pages[0].client_id); |
928 | 887 |
929 pages = GetPagesByOnlineURL(kTestUrl); | 888 pages = GetPagesByOnlineURL(kTestUrl); |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 // Check if feature is correctly enabled by command-line flag. | 1146 // Check if feature is correctly enabled by command-line flag. |
1188 scoped_feature_list.reset(new base::test::ScopedFeatureList); | 1147 scoped_feature_list.reset(new base::test::ScopedFeatureList); |
1189 scoped_feature_list->InitFromCommandLine( | 1148 scoped_feature_list->InitFromCommandLine( |
1190 std::string(kOfflineBookmarksFeature.name) + "," + | 1149 std::string(kOfflineBookmarksFeature.name) + "," + |
1191 kOfflinePagesSharingFeature.name, | 1150 kOfflinePagesSharingFeature.name, |
1192 ""); | 1151 ""); |
1193 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); | 1152 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); |
1194 } | 1153 } |
1195 | 1154 |
1196 } // namespace offline_pages | 1155 } // namespace offline_pages |
OLD | NEW |