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

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java

Issue 2692853011: [Offline pages] Refactoring and code fix in BackgroundOffinerTask (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
index 078783556aec0f8812147da4b5db51955e0afaf6..c1a288f45ed5561296736291429b55e04e491e9d 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTaskTest.java
@@ -110,44 +110,38 @@ public class BackgroundOfflinerTaskTest {
@Test
@Feature({"OfflinePages"})
- public void testIncomingTask() {
- BackgroundOfflinerTask task =
- new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
- ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1000);
- task.processBackgroundRequests(mTaskExtras, mDeviceConditions, waiter);
+ public void testStartBackgroundRequests() {
+ BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
+ ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
+ assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
+
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
- // Check with BackgroundSchedulerProcessor that it started processing.
+ // Check that the backup task was scheduled.
+ Task gcmTask = mGcmNetworkManager.getScheduledTask();
+ assertNotNull("Backup task scheduled", gcmTask);
+ assertEquals(mTriggerConditions,
+ TaskExtrasPacker.unpackTriggerConditionsFromBundle(gcmTask.getExtras()));
+
+ // Check with BackgroundSchedulerProcessor that processing stated.
assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
assertSame(mDeviceConditions, mStubBackgroundSchedulerProcessor.getDeviceConditions());
- // Call the callback and then waiter should not block.
+ // Waiter is only released at the end of the test, when the processing concludes.
mStubBackgroundSchedulerProcessor.callback();
waiter.startWaiting();
}
@Test
@Feature({"OfflinePages"})
- public void testIncomingTaskNotStarted() {
+ public void testStartBackgroundRequestsNotStarted() {
mStubBackgroundSchedulerProcessor.setFailToStart(true);
BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
- ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1000);
- task.processBackgroundRequests(mTaskExtras, mDeviceConditions, waiter);
-
- // Check with BackgroundSchedulerProcessor that it did not start.
- assertFalse(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
-
- // The waiter should not block if startScheduledProcessing returned false.
- waiter.startWaiting();
- }
-
- @Test
- @Feature({"OfflinePages"})
- public void testStartBackgroundRequests() {
- BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
- assertTrue(task.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter));
+
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
+ waiter.startWaiting();
// Check that the backup task was scheduled.
Task gcmTask = mGcmNetworkManager.getScheduledTask();
@@ -155,23 +149,24 @@ public class BackgroundOfflinerTaskTest {
assertEquals(mTriggerConditions,
TaskExtrasPacker.unpackTriggerConditionsFromBundle(gcmTask.getExtras()));
- // Check with BackgroundSchedulerProcessor that startScheduledProcessing got called.
- assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
- assertSame(mDeviceConditions, mStubBackgroundSchedulerProcessor.getDeviceConditions());
+ // Check with BackgroundSchedulerProcessor that it did not start.
+ assertFalse(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
}
@Test
@Feature({"OfflinePages"})
public void testStartBackgroundRequestsForLowBatteryLevel() {
+ // Setup low battery conditions.
DeviceConditions deviceConditionsLowBattery = new DeviceConditions(
!POWER_CONNECTED, MINIMUM_BATTERY_LEVEL - 1, ConnectionType.CONNECTION_WIFI);
when(mOfflinePageUtils.getDeviceConditionsImpl(any(Context.class)))
.thenReturn(deviceConditionsLowBattery);
+
BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
- assertFalse(task.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter));
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
+ waiter.startWaiting();
// Check that the backup task was scheduled.
Task gcmTask = mGcmNetworkManager.getScheduledTask();
@@ -187,11 +182,16 @@ public class BackgroundOfflinerTaskTest {
POWER_CONNECTED, MINIMUM_BATTERY_LEVEL - 1, ConnectionType.CONNECTION_WIFI);
when(mOfflinePageUtils.getDeviceConditionsImpl(any(Context.class)))
.thenReturn(deviceConditionsPowerConnected);
+
BackgroundOfflinerTask task2 =
new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter2 = new ChromeBackgroundServiceWaiter(1);
- assertTrue(task2.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter2));
+ task2.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter2);
+
+ assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
+
+ mStubBackgroundSchedulerProcessor.callback();
+ waiter2.startWaiting();
}
@Test
@@ -204,8 +204,8 @@ public class BackgroundOfflinerTaskTest {
// Transition the test Activity to a running state.
ApplicationStatus.onStateChangeForTesting(mTestActivity, ActivityState.STARTED);
- assertFalse(task.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter));
+ task.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter);
+ waiter.startWaiting();
// Check that the backup task was scheduled.
Task gcmTask = mGcmNetworkManager.getScheduledTask();
@@ -221,7 +221,11 @@ public class BackgroundOfflinerTaskTest {
BackgroundOfflinerTask task2 =
new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
ChromeBackgroundServiceWaiter waiter2 = new ChromeBackgroundServiceWaiter(1);
- assertTrue(task2.startBackgroundRequests(
- RuntimeEnvironment.application, mTaskExtras, waiter2));
+ task2.startBackgroundRequests(RuntimeEnvironment.application, mTaskExtras, waiter2);
+
+ assertTrue(mStubBackgroundSchedulerProcessor.getDidStartProcessing());
+
+ mStubBackgroundSchedulerProcessor.callback();
+ waiter2.startWaiting();
}
}
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698