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