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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1355 EXPECT_FALSE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); | 1307 EXPECT_FALSE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); |
1356 | 1308 |
1357 // Check if feature is correctly enabled by command-line flag. | 1309 // Check if feature is correctly enabled by command-line flag. |
1358 base::test::ScopedFeatureList scoped_feature_list; | 1310 base::test::ScopedFeatureList scoped_feature_list; |
1359 scoped_feature_list.InitAndEnableFeature( | 1311 scoped_feature_list.InitAndEnableFeature( |
1360 kOfflinePagesSvelteConcurrentLoadingFeature); | 1312 kOfflinePagesSvelteConcurrentLoadingFeature); |
1361 EXPECT_TRUE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); | 1313 EXPECT_TRUE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); |
1362 } | 1314 } |
1363 | 1315 |
1364 } // namespace offline_pages | 1316 } // namespace offline_pages |
OLD | NEW |