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.h" | 5 #include "components/offline_pages/offline_page_model.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 EXPECT_EQ(kTestPageBookmarkId1, page->bookmark_id); | 707 EXPECT_EQ(kTestPageBookmarkId1, page->bookmark_id); |
708 | 708 |
709 page = model()->GetPageByOfflineURL(GURL("http://foo")); | 709 page = model()->GetPageByOfflineURL(GURL("http://foo")); |
710 EXPECT_FALSE(page); | 710 EXPECT_FALSE(page); |
711 } | 711 } |
712 | 712 |
713 // Test that model returns pages that are older than 30 days as candidates for | 713 // Test that model returns pages that are older than 30 days as candidates for |
714 // clean up, hence the numbers in time delta. | 714 // clean up, hence the numbers in time delta. |
715 TEST_F(OfflinePageModelTest, GetPagesToCleanUp) { | 715 TEST_F(OfflinePageModelTest, GetPagesToCleanUp) { |
716 base::Time now = base::Time::Now(); | 716 base::Time now = base::Time::Now(); |
| 717 base::Time forty_days_ago = now - base::TimeDelta::FromDays(40); |
717 OfflinePageItem page_1( | 718 OfflinePageItem page_1( |
718 GURL(kTestUrl), kTestPageBookmarkId1, | 719 GURL(kTestUrl), kTestPageBookmarkId1, |
719 base::FilePath(FILE_PATH_LITERAL("/test/location/page1.mhtml")), | 720 base::FilePath(FILE_PATH_LITERAL("/test/location/page1.mhtml")), |
720 kTestFileSize, now - base::TimeDelta::FromDays(40)); | 721 kTestFileSize, forty_days_ago); |
721 GetStore()->AddOrUpdateOfflinePage( | 722 GetStore()->AddOrUpdateOfflinePage( |
722 page_1, | 723 page_1, |
723 base::Bind(&OfflinePageModelTest::OnStoreUpdateDone, AsWeakPtr())); | 724 base::Bind(&OfflinePageModelTest::OnStoreUpdateDone, AsWeakPtr())); |
724 PumpLoop(); | 725 PumpLoop(); |
725 | 726 |
726 OfflinePageItem page_2( | 727 OfflinePageItem page_2( |
727 GURL(kTestUrl2), kTestPageBookmarkId2, | 728 GURL(kTestUrl2), kTestPageBookmarkId2, |
728 base::FilePath(FILE_PATH_LITERAL("/test/location/page2.mhtml")), | 729 base::FilePath(FILE_PATH_LITERAL("/test/location/page2.mhtml")), |
729 kTestFileSize, now - base::TimeDelta::FromDays(31)); | 730 kTestFileSize, forty_days_ago); |
| 731 page_2.last_access_time = now - base::TimeDelta::FromDays(31); |
730 GetStore()->AddOrUpdateOfflinePage( | 732 GetStore()->AddOrUpdateOfflinePage( |
731 page_2, | 733 page_2, |
732 base::Bind(&OfflinePageModelTest::OnStoreUpdateDone, AsWeakPtr())); | 734 base::Bind(&OfflinePageModelTest::OnStoreUpdateDone, AsWeakPtr())); |
733 PumpLoop(); | 735 PumpLoop(); |
734 | 736 |
735 OfflinePageItem page_3( | 737 OfflinePageItem page_3( |
736 GURL("http://test.xyz"), 42, | 738 GURL("http://test.xyz"), 42, |
737 base::FilePath(FILE_PATH_LITERAL("/test/location/page3.mhtml")), | 739 base::FilePath(FILE_PATH_LITERAL("/test/location/page3.mhtml")), |
738 kTestFileSize, now - base::TimeDelta::FromDays(29)); | 740 kTestFileSize, forty_days_ago); |
| 741 page_3.last_access_time = now - base::TimeDelta::FromDays(29); |
739 GetStore()->AddOrUpdateOfflinePage( | 742 GetStore()->AddOrUpdateOfflinePage( |
740 page_3, | 743 page_3, |
741 base::Bind(&OfflinePageModelTest::OnStoreUpdateDone, AsWeakPtr())); | 744 base::Bind(&OfflinePageModelTest::OnStoreUpdateDone, AsWeakPtr())); |
742 PumpLoop(); | 745 PumpLoop(); |
743 | 746 |
744 ResetModel(); | 747 ResetModel(); |
745 | 748 |
746 // Only page_1 and page_2 are expected to be picked up by the model as page_3 | 749 // Only page_1 and page_2 are expected to be picked up by the model as page_3 |
747 // has not been in the store long enough. | 750 // has not been in the store long enough. |
748 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp(); | 751 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp(); |
749 EXPECT_EQ(2UL, pages_to_clean_up.size()); | 752 EXPECT_EQ(2UL, pages_to_clean_up.size()); |
750 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url); | 753 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url); |
751 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id); | 754 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id); |
752 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url); | 755 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url); |
753 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id); | 756 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id); |
754 } | 757 } |
755 | 758 |
756 } // namespace offline_pages | 759 } // namespace offline_pages |
OLD | NEW |