| 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 1099 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1110 PumpLoop(); | 1110 PumpLoop(); |
| 1111 // No change when we delete the last page. | 1111 // No change when we delete the last page. |
| 1112 histograms().ExpectTotalCount( | 1112 histograms().ExpectTotalCount( |
| 1113 "OfflinePages.DownloadDeletedPageDuplicateCount", 2); | 1113 "OfflinePages.DownloadDeletedPageDuplicateCount", 2); |
| 1114 histograms().ExpectBucketCount( | 1114 histograms().ExpectBucketCount( |
| 1115 "OfflinePages.DownloadDeletedPageDuplicateCount", 1, 1); | 1115 "OfflinePages.DownloadDeletedPageDuplicateCount", 1, 1); |
| 1116 histograms().ExpectBucketCount( | 1116 histograms().ExpectBucketCount( |
| 1117 "OfflinePages.DownloadDeletedPageDuplicateCount", 2, 1); | 1117 "OfflinePages.DownloadDeletedPageDuplicateCount", 2, 1); |
| 1118 } | 1118 } |
| 1119 | 1119 |
| 1120 TEST_F(OfflinePageModelImplTest, ExpirePages) { | 1120 TEST_F(OfflinePageModelImplTest, GetPagesByClientIds) { |
| 1121 // We will save 3 pages and then expire 2 of them. | 1121 // We will save 2 pages. |
| 1122 std::pair<SavePageResult, int64_t> saved_pages[3]; | 1122 std::pair<SavePageResult, int64_t> saved_pages[3]; |
| 1123 saved_pages[0] = SavePage(kTestUrl, kTestClientId1); | 1123 saved_pages[0] = SavePage(kTestUrl, kTestClientId1); |
| 1124 saved_pages[1] = SavePage(kTestUrl2, kTestClientId2); | 1124 saved_pages[1] = SavePage(kTestUrl2, kTestClientId2); |
| 1125 saved_pages[2] = SavePage(kTestUrl3, kTestClientId3); | |
| 1126 | 1125 |
| 1127 for (const auto& save_result : saved_pages) { | 1126 for (const auto& save_result : saved_pages) { |
| 1128 ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS, | 1127 ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS, |
| 1129 std::get<0>(save_result)); | 1128 std::get<0>(save_result)); |
| 1130 } | 1129 } |
| 1131 | 1130 |
| 1132 // First two pages will be expired. | 1131 std::vector<ClientId> client_ids = {kTestClientId2}; |
| 1133 std::vector<int64_t> pages_to_expire = {std::get<1>(saved_pages[0]), | |
| 1134 std::get<1>(saved_pages[1])}; | |
| 1135 // Pages are marked as expired if they have an expiration_time set. | |
| 1136 base::Time expiration_time = | |
| 1137 base::Time::Now() + base::TimeDelta::FromMinutes(5); | |
| 1138 | |
| 1139 model()->ExpirePages( | |
| 1140 pages_to_expire, expiration_time, | |
| 1141 base::Bind(&OfflinePageModelImplTest::OnPagesExpired, AsWeakPtr())); | |
| 1142 PumpLoop(); | |
| 1143 | |
| 1144 const std::vector<OfflinePageItem>& offline_pages = GetAllPages(); | |
| 1145 for (const auto& offline_page : offline_pages) { | |
| 1146 if (std::find(pages_to_expire.begin(), pages_to_expire.end(), | |
| 1147 offline_page.offline_id) != pages_to_expire.end()) { | |
| 1148 EXPECT_EQ(expiration_time, offline_page.expiration_time); | |
| 1149 EXPECT_TRUE(offline_page.IsExpired()); | |
| 1150 } else { | |
| 1151 EXPECT_EQ(base::Time(), offline_page.expiration_time); | |
| 1152 EXPECT_FALSE(offline_page.IsExpired()); | |
| 1153 } | |
| 1154 } | |
| 1155 EXPECT_TRUE(last_expire_page_result()); | |
| 1156 } | |
| 1157 | |
| 1158 TEST_F(OfflinePageModelImplTest, GetPagesByClientIds) { | |
| 1159 // We will save 3 pages. One will be expired. | |
| 1160 std::pair<SavePageResult, int64_t> saved_pages[3]; | |
| 1161 saved_pages[0] = SavePage(kTestUrl, kTestClientId1); | |
| 1162 saved_pages[1] = SavePage(kTestUrl2, kTestClientId2); | |
| 1163 saved_pages[2] = SavePage(kTestUrl3, kTestClientId3); | |
| 1164 | |
| 1165 for (const auto& save_result : saved_pages) { | |
| 1166 ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS, | |
| 1167 std::get<0>(save_result)); | |
| 1168 } | |
| 1169 | |
| 1170 std::vector<int64_t> pages_to_expire = {std::get<1>(saved_pages[0])}; | |
| 1171 // Pages are marked as expired if they have an expiration_time set. | |
| 1172 base::Time expiration_time = | |
| 1173 base::Time::Now() + base::TimeDelta::FromMinutes(5); | |
| 1174 model()->ExpirePages( | |
| 1175 pages_to_expire, expiration_time, | |
| 1176 base::Bind(&OfflinePageModelImplTest::OnPagesExpired, AsWeakPtr())); | |
| 1177 PumpLoop(); | |
| 1178 | |
| 1179 std::vector<ClientId> client_ids = {kTestClientId1, kTestClientId2}; | |
| 1180 std::vector<OfflinePageItem> offline_pages = GetPagesByClientIds(client_ids); | 1132 std::vector<OfflinePageItem> offline_pages = GetPagesByClientIds(client_ids); |
| 1181 EXPECT_EQ(1U, offline_pages.size()); | 1133 EXPECT_EQ(1U, offline_pages.size()); |
| 1182 | 1134 |
| 1183 const OfflinePageItem& item = offline_pages[0]; | 1135 const OfflinePageItem& item = offline_pages[0]; |
| 1184 EXPECT_EQ(kTestClientId2.name_space, item.client_id.name_space); | 1136 EXPECT_EQ(kTestClientId2.name_space, item.client_id.name_space); |
| 1185 EXPECT_EQ(kTestClientId2.id, item.client_id.id); | 1137 EXPECT_EQ(kTestClientId2.id, item.client_id.id); |
| 1186 EXPECT_EQ(kTestUrl2, item.url); | 1138 EXPECT_EQ(kTestUrl2, item.url); |
| 1187 } | 1139 } |
| 1188 | 1140 |
| 1189 TEST_F(OfflinePageModelImplTest, DeletePagesByClientIds) { | 1141 TEST_F(OfflinePageModelImplTest, DeletePagesByClientIds) { |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1324 EXPECT_FALSE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); | 1276 EXPECT_FALSE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); |
| 1325 | 1277 |
| 1326 // Check if feature is correctly enabled by command-line flag. | 1278 // Check if feature is correctly enabled by command-line flag. |
| 1327 base::test::ScopedFeatureList scoped_feature_list; | 1279 base::test::ScopedFeatureList scoped_feature_list; |
| 1328 scoped_feature_list.InitAndEnableFeature( | 1280 scoped_feature_list.InitAndEnableFeature( |
| 1329 kOfflinePagesSvelteConcurrentLoadingFeature); | 1281 kOfflinePagesSvelteConcurrentLoadingFeature); |
| 1330 EXPECT_TRUE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); | 1282 EXPECT_TRUE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); |
| 1331 } | 1283 } |
| 1332 | 1284 |
| 1333 } // namespace offline_pages | 1285 } // namespace offline_pages |
| OLD | NEW |