Chromium Code Reviews| 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( |
|
mikecase (-- gone --)
2016/07/31 04:21:09
They seemed to have made it waay harder to create
jbudorick
2016/08/01 13:52:04
Can you write up a brief doc in https://chromium.g
|
| + 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)); |
| } |
| } |