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

Unified Diff: chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc

Issue 2818783002: [Offline pages]: Implement background loader to save on last retry, and record last retry success U… (Closed)
Patch Set: Resolving code review comments Created 3 years, 8 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
Index: chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc b/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc
index d338b3c03176ebd38f12b7d3582b71c3f9cdb24d..db41ab63b65efb5ea9a6ddb1e80fe45be4dd0f24 100644
--- a/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc
+++ b/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc
@@ -66,7 +66,15 @@ class MockPrerenderingLoader : public PrerenderingLoader {
bool IsLoaded() override { return mock_loaded_; }
bool IsLowbarMet() override { return mock_is_lowbar_met_; }
- void StartSnapshot() override { start_snapshot_called_ = true; }
+ void StartSnapshot() override {
+ start_snapshot_called_ = true;
+ // Call start saving process.
+ web_contents_ = content::WebContentsTester::CreateTestWebContents(
+ new TestingProfile(), NULL);
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::Bind(load_page_callback_,
+ Offliner::RequestStatus::LOADED, web_contents_));
+ }
void CompleteLoadingAsFailed() {
DCHECK(mock_loading_);
@@ -472,6 +480,12 @@ TEST_F(PrerenderingOfflinerTest, HandleTimeoutWithLowbarAndCompletedTriesMet) {
loader()->set_is_lowbar_met(true);
EXPECT_TRUE(offliner()->HandleTimeout(request));
EXPECT_TRUE(loader()->start_snapshot_called());
+ PumpLoop();
+ // EXPECT_TRUE(SaveInProgress());
+ model()->CompleteSavingAsSuccess();
+ PumpLoop();
+ EXPECT_TRUE(completion_callback_called());
+ EXPECT_EQ(Offliner::RequestStatus::SAVED_ON_LAST_RETRY, request_status());
}
TEST_F(PrerenderingOfflinerTest,
@@ -504,6 +518,20 @@ TEST_F(PrerenderingOfflinerTest,
EXPECT_FALSE(loader()->start_snapshot_called());
}
+TEST_F(PrerenderingOfflinerTest, HandleTimeoutStartedTriesMetWithoutLowbarMet) {
+ offliner()->SetLowEndDeviceForTesting(false);
+
+ base::Time creation_time = base::Time::Now();
+ SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time,
+ kUserRequested);
+ request.set_started_attempt_count(policy()->GetMaxStartedTries() - 1);
+ EXPECT_TRUE(offliner()->LoadAndSave(request, completion_callback(),
+ progress_callback()));
+ loader()->set_is_lowbar_met(false);
+ EXPECT_FALSE(offliner()->HandleTimeout(request));
+ EXPECT_FALSE(loader()->start_snapshot_called());
+}
+
TEST_F(PrerenderingOfflinerTest, HandleTimeoutWithLowbarAndStartedTriesMet) {
offliner()->SetLowEndDeviceForTesting(false);
« no previous file with comments | « chrome/browser/android/offline_pages/prerendering_offliner.cc ('k') | components/offline_pages/core/background/offliner.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698