Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Unified Diff: components/offline_pages/offline_page_model_unittest.cc

Issue 1993953002: [Offline pages] Adding expiration capability to OfflinePageModel (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/offline_pages/offline_page_model.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/offline_pages/offline_page_model_unittest.cc
diff --git a/components/offline_pages/offline_page_model_unittest.cc b/components/offline_pages/offline_page_model_unittest.cc
index 62bb1a2920fa2fb4c3cc917d101906870bbd78ee..34840eacfca88a3b004c919ee32106ee66f08c28 100644
--- a/components/offline_pages/offline_page_model_unittest.cc
+++ b/components/offline_pages/offline_page_model_unittest.cc
@@ -956,6 +956,41 @@ TEST_F(OfflinePageModelTest, GetBestPage) {
EXPECT_EQ(std::get<1>(saved_pages[1]), offline_page->offline_id);
}
+TEST_F(OfflinePageModelTest, ExpirePages) {
+ // We will save 3 pages and then expire 2 of them.
+ std::pair<SavePageResult, int64_t> saved_pages[3];
+ saved_pages[0] = SavePage(kTestUrl, kTestClientId1);
+ saved_pages[1] = SavePage(kTestUrl2, kTestClientId2);
+ saved_pages[2] = SavePage(kTestUrl3, kTestClientId3);
+
+ for (const auto& save_result : saved_pages) {
+ ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS,
+ std::get<0>(save_result));
+ }
+
+ // First two pages will be expired.
+ std::vector<int64_t> pages_to_expire = {std::get<1>(saved_pages[0]),
+ std::get<1>(saved_pages[1])};
+ // Pages are marked as expired if they have an expiration_time set.
+ base::Time expiration_time =
+ base::Time::Now() + base::TimeDelta::FromMinutes(5);
+
+ model()->ExpirePages(pages_to_expire, expiration_time);
+ PumpLoop();
+
+ const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
+ for (const auto& offline_page : offline_pages) {
+ if (std::find(pages_to_expire.begin(), pages_to_expire.end(),
+ offline_page.offline_id) != pages_to_expire.end()) {
+ EXPECT_EQ(expiration_time, offline_page.expiration_time);
+ EXPECT_TRUE(offline_page.IsExpired());
+ } else {
+ EXPECT_EQ(base::Time(), offline_page.expiration_time);
+ EXPECT_FALSE(offline_page.IsExpired());
+ }
+ }
+}
+
TEST(CommandLineFlagsTest, OfflineBookmarks) {
// Disabled by default.
EXPECT_FALSE(offline_pages::IsOfflineBookmarksEnabled());
« no previous file with comments | « components/offline_pages/offline_page_model.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698