| 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 |