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

Unified Diff: components/offline_pages/offline_page_model_impl_unittest.cc

Issue 2503853004: Support getting offline pages also by original URL (Closed)
Patch Set: Make NTP redirect work per comment Created 4 years, 1 month 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
Index: components/offline_pages/offline_page_model_impl_unittest.cc
diff --git a/components/offline_pages/offline_page_model_impl_unittest.cc b/components/offline_pages/offline_page_model_impl_unittest.cc
index 7dda69644dcfb092d4a954271c11d3f6aa6c2c19..36606b23371846522439c5be0b75633a7d4e12ee 100644
--- a/components/offline_pages/offline_page_model_impl_unittest.cc
+++ b/components/offline_pages/offline_page_model_impl_unittest.cc
@@ -158,7 +158,8 @@ class OfflinePageModelImplTest
std::unique_ptr<OfflinePageItem> GetPageByOfflineId(int64_t offline_id);
- MultipleOfflinePageItemResult GetPagesByOnlineURL(const GURL& online_url);
+ MultipleOfflinePageItemResult GetPagesByFinalURL(const GURL& url);
+ MultipleOfflinePageItemResult GetPagesByAllURLS(const GURL& url);
OfflinePageModelImpl* model() { return model_.get(); }
@@ -444,11 +445,24 @@ void OfflinePageModelImplTest::OnPagesExpired(bool result) {
last_expire_page_result_ = result;
}
-MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByOnlineURL(
- const GURL& online_url) {
+MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByFinalURL(
+ const GURL& url) {
MultipleOfflinePageItemResult result;
- model()->GetPagesByOnlineURL(
- online_url,
+ model()->GetPagesByURL(
+ url,
+ OfflinePageModel::URLSearchMode::SEARCH_BY_FINAL_URL_ONLY,
+ base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult,
+ AsWeakPtr(), base::Unretained(&result)));
+ PumpLoop();
+ return result;
+}
+
+MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByAllURLS(
+ const GURL& url) {
+ MultipleOfflinePageItemResult result;
+ model()->GetPagesByURL(
+ url,
+ OfflinePageModel::URLSearchMode::SEARCH_BY_ALL_URLS,
base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult,
AsWeakPtr(), base::Unretained(&result)));
PumpLoop();
@@ -924,45 +938,71 @@ TEST_F(OfflinePageModelImplTest, GetPageByOfflineId) {
EXPECT_FALSE(page);
}
-TEST_F(OfflinePageModelImplTest, GetPagesByOnlineURL) {
+TEST_F(OfflinePageModelImplTest, GetPagesByFinalURL) {
SavePage(kTestUrl, kTestClientId1);
SavePage(kTestUrl2, kTestClientId2);
- MultipleOfflinePageItemResult pages = GetPagesByOnlineURL(kTestUrl2);
+ MultipleOfflinePageItemResult pages = GetPagesByFinalURL(kTestUrl2);
EXPECT_EQ(1U, pages.size());
EXPECT_EQ(kTestUrl2, pages[0].url);
EXPECT_EQ(kTestClientId2, pages[0].client_id);
- pages = GetPagesByOnlineURL(kTestUrl);
+ pages = GetPagesByFinalURL(kTestUrl);
EXPECT_EQ(1U, pages.size());
EXPECT_EQ(kTestUrl, pages[0].url);
EXPECT_EQ(kTestClientId1, pages[0].client_id);
- pages = GetPagesByOnlineURL(GURL("http://foo"));
+ pages = GetPagesByFinalURL(GURL("http://foo"));
EXPECT_EQ(0U, pages.size());
}
-TEST_F(OfflinePageModelImplTest, GetPagesByOnlineURLWithFragment) {
+TEST_F(OfflinePageModelImplTest, GetPagesByFinalURLWithFragmentStripped) {
SavePage(kTestUrl, kTestClientId1);
SavePage(kTestUrl2WithFragment, kTestClientId2);
MultipleOfflinePageItemResult pages =
- GetPagesByOnlineURL(kTestUrlWithFragment);
+ GetPagesByFinalURL(kTestUrlWithFragment);
EXPECT_EQ(1U, pages.size());
EXPECT_EQ(kTestUrl, pages[0].url);
EXPECT_EQ(kTestClientId1, pages[0].client_id);
- pages = GetPagesByOnlineURL(kTestUrl2);
+ pages = GetPagesByFinalURL(kTestUrl2);
EXPECT_EQ(1U, pages.size());
EXPECT_EQ(kTestUrl2WithFragment, pages[0].url);
EXPECT_EQ(kTestClientId2, pages[0].client_id);
- pages = GetPagesByOnlineURL(kTestUrl2WithFragment2);
+ pages = GetPagesByFinalURL(kTestUrl2WithFragment2);
EXPECT_EQ(1U, pages.size());
EXPECT_EQ(kTestUrl2WithFragment, pages[0].url);
EXPECT_EQ(kTestClientId2, pages[0].client_id);
}
+TEST_F(OfflinePageModelImplTest, GetPagesByAllURLS) {
+ std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(
+ kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
+ SavePageWithArchiverAsync(
+ kTestUrl, kTestClientId1, kTestUrl2, std::move(archiver));
+ PumpLoop();
+
+ SavePage(kTestUrl2, kTestClientId2);
+
+ MultipleOfflinePageItemResult pages = GetPagesByAllURLS(kTestUrl2);
+ ASSERT_EQ(2U, pages.size());
+ // Validates the items regardless their order.
+ int i = -1;
+ if (pages[0].url == kTestUrl2)
+ i = 0;
+ else if (pages[1].url == kTestUrl2)
+ i = 1;
+ ASSERT_NE(-1, i);
+ EXPECT_EQ(kTestUrl2, pages[i].url);
+ EXPECT_EQ(kTestClientId2, pages[i].client_id);
+ EXPECT_EQ(GURL(), pages[i].original_url);
+ EXPECT_EQ(kTestUrl, pages[1 - i].url);
+ EXPECT_EQ(kTestClientId1, pages[1 - i].client_id);
+ EXPECT_EQ(kTestUrl2, pages[1 - i].original_url);
+}
+
TEST_F(OfflinePageModelImplTest, CheckPagesExistOffline) {
SavePage(kTestUrl, kTestClientId1);
SavePage(kTestUrl2, kTestClientId2);
« no previous file with comments | « components/offline_pages/offline_page_model_impl.cc ('k') | components/offline_pages/stub_offline_page_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698