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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 } | 132 } |
133 | 133 |
134 bool HasPages(std::string name_space); | 134 bool HasPages(std::string name_space); |
135 | 135 |
136 CheckPagesExistOfflineResult CheckPagesExistOffline(std::set<GURL>); | 136 CheckPagesExistOfflineResult CheckPagesExistOffline(std::set<GURL>); |
137 | 137 |
138 MultipleOfflineIdResult GetOfflineIdsForClientId(const ClientId& client_id); | 138 MultipleOfflineIdResult GetOfflineIdsForClientId(const ClientId& client_id); |
139 | 139 |
140 const OfflinePageItem* GetPageByOfflineId(int64_t offline_id); | 140 const OfflinePageItem* GetPageByOfflineId(int64_t offline_id); |
141 | 141 |
142 MultipleOfflinePageItemResult GetPagesByOnlineURL(const GURL& offline_url); | 142 MultipleOfflinePageItemResult GetPagesByOnlineURL(const GURL& online_url); |
143 | |
144 const OfflinePageItem* GetPageByOfflineURL(const GURL& offline_url); | |
145 | 143 |
146 OfflinePageModelImpl* model() { return model_.get(); } | 144 OfflinePageModelImpl* model() { return model_.get(); } |
147 | 145 |
148 int64_t last_save_offline_id() const { return last_save_offline_id_; } | 146 int64_t last_save_offline_id() const { return last_save_offline_id_; } |
149 | 147 |
150 SavePageResult last_save_result() const { return last_save_result_; } | 148 SavePageResult last_save_result() const { return last_save_result_; } |
151 | 149 |
152 DeletePageResult last_delete_result() const { return last_delete_result_; } | 150 DeletePageResult last_delete_result() const { return last_delete_result_; } |
153 | 151 |
154 int64_t last_deleted_offline_id() const { return last_deleted_offline_id_; } | 152 int64_t last_deleted_offline_id() const { return last_deleted_offline_id_; } |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 int64_t offline_id) { | 357 int64_t offline_id) { |
360 const OfflinePageItem* result = nullptr; | 358 const OfflinePageItem* result = nullptr; |
361 model()->GetPageByOfflineId( | 359 model()->GetPageByOfflineId( |
362 offline_id, | 360 offline_id, |
363 base::Bind(&OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult, | 361 base::Bind(&OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult, |
364 AsWeakPtr(), base::Unretained(&result))); | 362 AsWeakPtr(), base::Unretained(&result))); |
365 PumpLoop(); | 363 PumpLoop(); |
366 return result; | 364 return result; |
367 } | 365 } |
368 | 366 |
369 const OfflinePageItem* OfflinePageModelImplTest::GetPageByOfflineURL( | |
370 const GURL& offline_url) { | |
371 const OfflinePageItem* result = nullptr; | |
372 model()->GetPageByOfflineURL( | |
373 offline_url, | |
374 base::Bind(&OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult, | |
375 AsWeakPtr(), base::Unretained(&result))); | |
376 PumpLoop(); | |
377 return result; | |
378 } | |
379 | |
380 void OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult( | 367 void OfflinePageModelImplTest::OnGetSingleOfflinePageItemResult( |
381 const OfflinePageItem** storage, | 368 const OfflinePageItem** storage, |
382 const OfflinePageItem* result) { | 369 const OfflinePageItem* result) { |
383 *storage = result; | 370 *storage = result; |
384 } | 371 } |
385 | 372 |
386 void OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult( | 373 void OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult( |
387 MultipleOfflinePageItemResult* storage, | 374 MultipleOfflinePageItemResult* storage, |
388 const MultipleOfflinePageItemResult& result) { | 375 const MultipleOfflinePageItemResult& result) { |
389 *storage = result; | 376 *storage = result; |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
878 page = GetPageByOfflineId(offline2); | 865 page = GetPageByOfflineId(offline2); |
879 EXPECT_TRUE(page); | 866 EXPECT_TRUE(page); |
880 EXPECT_EQ(kTestUrl2, page->url); | 867 EXPECT_EQ(kTestUrl2, page->url); |
881 EXPECT_EQ(kTestClientId2, page->client_id); | 868 EXPECT_EQ(kTestClientId2, page->client_id); |
882 EXPECT_EQ(kTestFileSize, page->file_size); | 869 EXPECT_EQ(kTestFileSize, page->file_size); |
883 | 870 |
884 page = GetPageByOfflineId(-42); | 871 page = GetPageByOfflineId(-42); |
885 EXPECT_FALSE(page); | 872 EXPECT_FALSE(page); |
886 } | 873 } |
887 | 874 |
888 TEST_F(OfflinePageModelImplTest, GetPageByOfflineURL) { | |
889 SavePage(kTestUrl, kTestClientId1); | |
890 int64_t offline1 = last_save_offline_id(); | |
891 | |
892 OfflinePageTestStore* store = GetStore(); | |
893 GURL offline_url = store->last_saved_page().GetOfflineURL(); | |
894 | |
895 SavePage(kTestUrl2, kTestClientId2); | |
896 | |
897 GURL offline_url2 = store->last_saved_page().GetOfflineURL(); | |
898 int64_t offline2 = last_save_offline_id(); | |
899 | |
900 const OfflinePageItem* page = GetPageByOfflineURL(offline_url2); | |
901 EXPECT_TRUE(page); | |
902 EXPECT_EQ(kTestUrl2, page->url); | |
903 EXPECT_EQ(kTestClientId2, page->client_id); | |
904 EXPECT_EQ(offline2, page->offline_id); | |
905 | |
906 page = GetPageByOfflineURL(offline_url); | |
907 EXPECT_TRUE(page); | |
908 EXPECT_EQ(kTestUrl, page->url); | |
909 EXPECT_EQ(kTestClientId1, page->client_id); | |
910 EXPECT_EQ(offline1, page->offline_id); | |
911 | |
912 page = GetPageByOfflineURL(GURL("http://foo")); | |
913 EXPECT_FALSE(page); | |
914 } | |
915 | |
916 TEST_F(OfflinePageModelImplTest, GetPagesByOnlineURL) { | 875 TEST_F(OfflinePageModelImplTest, GetPagesByOnlineURL) { |
917 SavePage(kTestUrl, kTestClientId1); | 876 SavePage(kTestUrl, kTestClientId1); |
918 SavePage(kTestUrl2, kTestClientId2); | 877 SavePage(kTestUrl2, kTestClientId2); |
919 | 878 |
920 MultipleOfflinePageItemResult pages = GetPagesByOnlineURL(kTestUrl2); | 879 MultipleOfflinePageItemResult pages = GetPagesByOnlineURL(kTestUrl2); |
921 EXPECT_EQ(1U, pages.size()); | 880 EXPECT_EQ(1U, pages.size()); |
922 EXPECT_EQ(kTestUrl2, pages[0].url); | 881 EXPECT_EQ(kTestUrl2, pages[0].url); |
923 EXPECT_EQ(kTestClientId2, pages[0].client_id); | 882 EXPECT_EQ(kTestClientId2, pages[0].client_id); |
924 | 883 |
925 pages = GetPagesByOnlineURL(kTestUrl); | 884 pages = GetPagesByOnlineURL(kTestUrl); |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1200 // Check if feature is correctly enabled by command-line flag. | 1159 // Check if feature is correctly enabled by command-line flag. |
1201 scoped_feature_list.reset(new base::test::ScopedFeatureList); | 1160 scoped_feature_list.reset(new base::test::ScopedFeatureList); |
1202 scoped_feature_list->InitFromCommandLine( | 1161 scoped_feature_list->InitFromCommandLine( |
1203 std::string(kOfflineBookmarksFeature.name) + "," + | 1162 std::string(kOfflineBookmarksFeature.name) + "," + |
1204 kOfflinePagesSharingFeature.name, | 1163 kOfflinePagesSharingFeature.name, |
1205 ""); | 1164 ""); |
1206 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); | 1165 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); |
1207 } | 1166 } |
1208 | 1167 |
1209 } // namespace offline_pages | 1168 } // namespace offline_pages |
OLD | NEW |