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

Side by Side Diff: components/offline_pages/background/request_coordinator_unittest.cc

Issue 2342803003: [Offline Pages] Gates immediate triggering (non scheduled) of background (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « components/offline_pages/background/request_coordinator.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/background/request_coordinator.h" 5 #include "components/offline_pages/background/request_coordinator.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/location.h" 12 #include "base/location.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/synchronization/waitable_event.h" 14 #include "base/synchronization/waitable_event.h"
15 #include "base/sys_info.h"
15 #include "base/test/test_mock_time_task_runner.h" 16 #include "base/test/test_mock_time_task_runner.h"
16 #include "base/threading/thread_task_runner_handle.h" 17 #include "base/threading/thread_task_runner_handle.h"
17 #include "base/time/time.h" 18 #include "base/time/time.h"
18 #include "components/offline_pages/background/device_conditions.h" 19 #include "components/offline_pages/background/device_conditions.h"
19 #include "components/offline_pages/background/offliner.h" 20 #include "components/offline_pages/background/offliner.h"
20 #include "components/offline_pages/background/offliner_factory.h" 21 #include "components/offline_pages/background/offliner_factory.h"
21 #include "components/offline_pages/background/offliner_policy.h" 22 #include "components/offline_pages/background/offliner_policy.h"
22 #include "components/offline_pages/background/request_queue.h" 23 #include "components/offline_pages/background/request_queue.h"
23 #include "components/offline_pages/background/request_queue_in_memory_store.h" 24 #include "components/offline_pages/background/request_queue_in_memory_store.h"
24 #include "components/offline_pages/background/save_page_request.h" 25 #include "components/offline_pages/background/save_page_request.h"
(...skipping 850 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 WaitForCallback(); 876 WaitForCallback();
876 PumpLoop(); 877 PumpLoop();
877 878
878 EXPECT_TRUE(observer().completed_called()); 879 EXPECT_TRUE(observer().completed_called());
879 EXPECT_EQ(RequestCoordinator::SavePageStatus::REMOVED, 880 EXPECT_EQ(RequestCoordinator::SavePageStatus::REMOVED,
880 observer().last_status()); 881 observer().last_status());
881 EXPECT_EQ(1UL, last_remove_results().size()); 882 EXPECT_EQ(1UL, last_remove_results().size());
882 EXPECT_EQ(kRequestId1, std::get<0>(last_remove_results().at(0))); 883 EXPECT_EQ(kRequestId1, std::get<0>(last_remove_results().at(0)));
883 } 884 }
884 885
885 TEST_F(RequestCoordinatorTest, SavePageStartsProcessingWhenConnected) { 886 TEST_F(RequestCoordinatorTest,
887 SavePageStartsProcessingWhenConnectedAndNotLowEndDevice) {
886 SetNetworkConditionsForTest( 888 SetNetworkConditionsForTest(
887 net::NetworkChangeNotifier::ConnectionType::CONNECTION_3G); 889 net::NetworkChangeNotifier::ConnectionType::CONNECTION_3G);
888 EXPECT_TRUE(coordinator()->SavePageLater(kUrl1, kClientId1, kUserRequested)); 890 EXPECT_TRUE(coordinator()->SavePageLater(kUrl1, kClientId1, kUserRequested));
889 PumpLoop(); 891 PumpLoop();
890 EXPECT_TRUE(is_busy()); 892
893 // Now whether processing triggered immediately depends on whether test
894 // is run on svelte device or not.
895 if (base::SysInfo::IsLowEndDevice()) {
896 EXPECT_FALSE(is_busy());
897 } else {
898 EXPECT_TRUE(is_busy());
899 }
891 } 900 }
892 901
893 TEST_F(RequestCoordinatorTest, SavePageDoesntStartProcessingWhenDisconnected) { 902 TEST_F(RequestCoordinatorTest, SavePageDoesntStartProcessingWhenDisconnected) {
894 SetNetworkConditionsForTest( 903 SetNetworkConditionsForTest(
895 net::NetworkChangeNotifier::ConnectionType::CONNECTION_NONE); 904 net::NetworkChangeNotifier::ConnectionType::CONNECTION_NONE);
896 EXPECT_TRUE(coordinator()->SavePageLater(kUrl1, kClientId1, kUserRequested)); 905 EXPECT_TRUE(coordinator()->SavePageLater(kUrl1, kClientId1, kUserRequested));
897 PumpLoop(); 906 PumpLoop();
898 EXPECT_FALSE(is_busy()); 907 EXPECT_FALSE(is_busy());
899 } 908 }
900 909
901 TEST_F(RequestCoordinatorTest, ResumeStartsProcessingWhenConnected) { 910 TEST_F(RequestCoordinatorTest,
911 ResumeStartsProcessingWhenConnectedAndNotLowEndDevice) {
902 SetNetworkConditionsForTest( 912 SetNetworkConditionsForTest(
903 net::NetworkChangeNotifier::ConnectionType::CONNECTION_NONE); 913 net::NetworkChangeNotifier::ConnectionType::CONNECTION_NONE);
904 914
905 // Add a request to the queue. 915 // Add a request to the queue.
906 offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1, 916 offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1,
907 base::Time::Now(), kUserRequested); 917 base::Time::Now(), kUserRequested);
908 coordinator()->queue()->AddRequest( 918 coordinator()->queue()->AddRequest(
909 request1, base::Bind(&RequestCoordinatorTest::AddRequestDone, 919 request1, base::Bind(&RequestCoordinatorTest::AddRequestDone,
910 base::Unretained(this))); 920 base::Unretained(this)));
911 PumpLoop(); 921 PumpLoop();
(...skipping 15 matching lines...) Expand all
927 PumpLoop(); 937 PumpLoop();
928 938
929 // Now simulate being connected. 939 // Now simulate being connected.
930 SetNetworkConditionsForTest( 940 SetNetworkConditionsForTest(
931 net::NetworkChangeNotifier::ConnectionType::CONNECTION_3G); 941 net::NetworkChangeNotifier::ConnectionType::CONNECTION_3G);
932 942
933 // Resume the request while connected. 943 // Resume the request while connected.
934 coordinator()->ResumeRequests(request_ids); 944 coordinator()->ResumeRequests(request_ids);
935 EXPECT_FALSE(is_busy()); 945 EXPECT_FALSE(is_busy());
936 PumpLoop(); 946 PumpLoop();
937 EXPECT_TRUE(is_busy()); 947
948 // Now whether processing triggered immediately depends on whether test
949 // is run on svelte device or not.
950 if (base::SysInfo::IsLowEndDevice()) {
951 EXPECT_FALSE(is_busy());
952 } else {
953 EXPECT_TRUE(is_busy());
954 }
938 } 955 }
939 956
940 } // namespace offline_pages 957 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/background/request_coordinator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698