| 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 ec39b81db381b59da37de6fe793f13f1d103f43d..f0a670be9ca79c1627a71c4127bd420858988b97 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
|
| @@ -17,6 +17,7 @@ import android.app.Activity;
|
| import android.content.Context;
|
| import android.os.Bundle;
|
|
|
| +import com.google.android.gms.gcm.GcmNetworkManager;
|
| import com.google.android.gms.gcm.Task;
|
|
|
| import org.chromium.base.ActivityState;
|
| @@ -29,20 +30,20 @@ import org.chromium.base.metrics.RecordHistogram;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.chrome.browser.ChromeBackgroundServiceWaiter;
|
| import org.chromium.net.ConnectionType;
|
| -import org.chromium.testing.local.LocalRobolectricTestRunner;
|
| import org.junit.After;
|
| import org.junit.Before;
|
| import org.junit.Test;
|
| import org.junit.runner.RunWith;
|
| import org.mockito.Mock;
|
| import org.mockito.MockitoAnnotations;
|
| -import org.robolectric.Robolectric;
|
| +import org.robolectric.RuntimeEnvironment;
|
| import org.robolectric.annotation.Config;
|
| +import org.robolectric.internal.ShadowExtractor;
|
|
|
| /**
|
| * Unit tests for BackgroundOfflinerTask.
|
| */
|
| -@RunWith(LocalRobolectricTestRunner.class)
|
| +@RunWith(OfflinePageTestRunner.class)
|
| @Config(manifest = Config.NONE,
|
| application = BaseChromiumApplication.class,
|
| shadows = { ShadowGcmNetworkManager.class })
|
| @@ -66,6 +67,9 @@ public class BackgroundOfflinerTaskTest {
|
| !POWER_CONNECTED, MINIMUM_BATTERY_LEVEL + 5, ConnectionType.CONNECTION_3G);
|
| private Activity mTestActivity;
|
|
|
| + private Context mContext;
|
| + private ShadowGcmNetworkManager mGcmNetworkManager;
|
| +
|
| @Before
|
| public void setUp() throws Exception {
|
| MockitoAnnotations.initMocks(this);
|
| @@ -80,7 +84,10 @@ public class BackgroundOfflinerTaskTest {
|
| OfflinePageUtils.setInstanceForTesting(mOfflinePageUtils);
|
| mStubBackgroundSchedulerProcessor = new StubBackgroundSchedulerProcessor();
|
| RecordHistogram.disableForTests();
|
| - ShadowGcmNetworkManager.clear();
|
| + mContext = RuntimeEnvironment.application;
|
| + mGcmNetworkManager = (ShadowGcmNetworkManager) ShadowExtractor.extract(
|
| + GcmNetworkManager.getInstance(mContext));
|
| + mGcmNetworkManager.clear();
|
|
|
| // Run tests as a low-end device.
|
| CommandLine.init(new String[] {"testcommand", IS_LOW_END_DEVICE_SWITCH});
|
| @@ -120,11 +127,12 @@ public class BackgroundOfflinerTaskTest {
|
| public void testStartBackgroundRequests() {
|
| BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
|
| ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
|
| - assertNull("Nothing scheduled", ShadowGcmNetworkManager.getScheduledTask());
|
| - assertTrue(task.startBackgroundRequests(Robolectric.application, mTaskExtras, waiter));
|
| + assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
|
| + assertTrue(task.startBackgroundRequests(
|
| + RuntimeEnvironment.application, mTaskExtras, waiter));
|
|
|
| // Check that the backup task was scheduled.
|
| - Task gcmTask = ShadowGcmNetworkManager.getScheduledTask();
|
| + Task gcmTask = mGcmNetworkManager.getScheduledTask();
|
| assertNotNull("Backup task scheduled", gcmTask);
|
| assertEquals(mTriggerConditions,
|
| TaskExtrasPacker.unpackTriggerConditionsFromBundle(gcmTask.getExtras()));
|
| @@ -143,11 +151,12 @@ public class BackgroundOfflinerTaskTest {
|
| .thenReturn(deviceConditionsLowBattery);
|
| BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
|
| ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
|
| - assertNull("Nothing scheduled", ShadowGcmNetworkManager.getScheduledTask());
|
| - assertFalse(task.startBackgroundRequests(Robolectric.application, mTaskExtras, waiter));
|
| + assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
|
| + assertFalse(task.startBackgroundRequests(
|
| + RuntimeEnvironment.application, mTaskExtras, waiter));
|
|
|
| // Check that the backup task was scheduled.
|
| - Task gcmTask = ShadowGcmNetworkManager.getScheduledTask();
|
| + Task gcmTask = mGcmNetworkManager.getScheduledTask();
|
| assertNotNull("Backup task scheduled", gcmTask);
|
| assertEquals(mTriggerConditions,
|
| TaskExtrasPacker.unpackTriggerConditionsFromBundle(gcmTask.getExtras()));
|
| @@ -163,7 +172,8 @@ public class BackgroundOfflinerTaskTest {
|
| BackgroundOfflinerTask task2 =
|
| new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
|
| ChromeBackgroundServiceWaiter waiter2 = new ChromeBackgroundServiceWaiter(1);
|
| - assertTrue(task2.startBackgroundRequests(Robolectric.application, mTaskExtras, waiter2));
|
| + assertTrue(task2.startBackgroundRequests(
|
| + RuntimeEnvironment.application, mTaskExtras, waiter2));
|
| }
|
|
|
| @Test
|
| @@ -171,15 +181,16 @@ public class BackgroundOfflinerTaskTest {
|
| public void testStartBackgroundRequestsForRunningActivityOnLowEndDevice() {
|
| BackgroundOfflinerTask task = new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
|
| ChromeBackgroundServiceWaiter waiter = new ChromeBackgroundServiceWaiter(1);
|
| - assertNull("Nothing scheduled", ShadowGcmNetworkManager.getScheduledTask());
|
| + assertNull("Nothing scheduled", mGcmNetworkManager.getScheduledTask());
|
|
|
| // Transition the test Activity to a running state.
|
| ApplicationStatus.onStateChangeForTesting(mTestActivity, ActivityState.STARTED);
|
|
|
| - assertFalse(task.startBackgroundRequests(Robolectric.application, mTaskExtras, waiter));
|
| + assertFalse(task.startBackgroundRequests(
|
| + RuntimeEnvironment.application, mTaskExtras, waiter));
|
|
|
| // Check that the backup task was scheduled.
|
| - Task gcmTask = ShadowGcmNetworkManager.getScheduledTask();
|
| + Task gcmTask = mGcmNetworkManager.getScheduledTask();
|
| assertNotNull("Backup task scheduled", gcmTask);
|
| assertEquals(mTriggerConditions,
|
| TaskExtrasPacker.unpackTriggerConditionsFromBundle(gcmTask.getExtras()));
|
| @@ -192,6 +203,7 @@ public class BackgroundOfflinerTaskTest {
|
| BackgroundOfflinerTask task2 =
|
| new BackgroundOfflinerTask(mStubBackgroundSchedulerProcessor);
|
| ChromeBackgroundServiceWaiter waiter2 = new ChromeBackgroundServiceWaiter(1);
|
| - assertTrue(task2.startBackgroundRequests(Robolectric.application, mTaskExtras, waiter2));
|
| + assertTrue(task2.startBackgroundRequests(
|
| + RuntimeEnvironment.application, mTaskExtras, waiter2));
|
| }
|
| }
|
|
|