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

Unified Diff: components/offline_pages/background/request_coordinator_unittest.cc

Issue 2546433004: [OfflinePages] Restarts immediate processing if stopped due to no net (Closed)
Patch Set: Added some unittests Created 4 years 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/background/request_coordinator_unittest.cc
diff --git a/components/offline_pages/background/request_coordinator_unittest.cc b/components/offline_pages/background/request_coordinator_unittest.cc
index c91909c80abcc34c0b14921c5293a677312ebc37..354b64d3950b3d94cee3c40297a3af94972316cf 100644
--- a/components/offline_pages/background/request_coordinator_unittest.cc
+++ b/components/offline_pages/background/request_coordinator_unittest.cc
@@ -570,6 +570,34 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceeded) {
observer().last_status());
}
+TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceededButLostNetwork) {
+ // Add a request to the queue and set offliner done callback for it.
+ offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
+ base::Time::Now(), kUserRequested);
+ SetupForOfflinerDoneCallbackTest(&request);
+ EnableOfflinerCallback(false);
+
+ // Add a 2nd request to the queue.
+ AddRequest2();
+
+ // Disconnect network.
+ SetNetworkConnected(false);
+
+ // Call the OfflinerDoneCallback to simulate the page being completed, wait
+ // for callbacks.
+ SendOfflinerDoneCallback(request, Offliner::RequestStatus::SAVED);
+ PumpLoop();
+ EXPECT_TRUE(immediate_schedule_callback_called());
+
+ // Verify not busy with 2nd request (since no connection).
+ EXPECT_FALSE(is_busy());
+
+ // Now connect network and verify processing starts.
+ SetNetworkConnected(true);
+ PumpLoop();
+ EXPECT_TRUE(is_busy());
+}
+
TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailed) {
// Add a request to the queue, wait for callbacks to finish.
offline_pages::SavePageRequest request(
@@ -1243,13 +1271,22 @@ TEST_F(RequestCoordinatorTest,
}
TEST_F(RequestCoordinatorTest, SavePageDoesntStartProcessingWhenDisconnected) {
+ // If low end device, pretend it is not so that immediate start allowed.
+ SetIsLowEndDeviceForTest(false);
+
SetNetworkConnected(false);
+ EnableOfflinerCallback(false);
EXPECT_NE(
coordinator()->SavePageLater(
kUrl1, kClientId1, kUserRequested,
RequestCoordinator::RequestAvailability::ENABLED_FOR_OFFLINER), 0);
PumpLoop();
EXPECT_FALSE(is_busy());
+
+ // Now connect network and verify processing starts.
+ SetNetworkConnected(true);
+ PumpLoop();
+ EXPECT_TRUE(is_busy());
}
TEST_F(RequestCoordinatorTest,

Powered by Google App Engine
This is Rietveld 408576698