| 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();
|
| }
|
| }
|
|
|