| Index: content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
|
| diff --git a/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java b/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
|
| index 5dde1f2fda5acea0b520f6a8ed5a215dba40d1f1..0e417f5c52bf715ae03662ba6e21beffa3171826 100644
|
| --- a/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
|
| +++ b/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
|
| @@ -4,6 +4,7 @@
|
|
|
| package org.chromium.content.browser;
|
|
|
| +import android.app.Activity;
|
| import android.test.UiThreadTest;
|
| import android.test.InstrumentationTestCase;
|
| import android.test.suitebuilder.annotation.SmallTest;
|
| @@ -15,10 +16,12 @@ import org.chromium.base.test.util.Feature;
|
| * Test suite for LocationProvider.
|
| */
|
| public class LocationProviderTest extends InstrumentationTestCase {
|
| + private Activity mActivity;
|
| private LocationProvider mLocationProvider;
|
|
|
| @Override
|
| public void setUp() {
|
| + mActivity = new Activity();
|
| mLocationProvider = LocationProvider.create(getInstrumentation().getTargetContext());
|
| }
|
|
|
| @@ -29,6 +32,7 @@ public class LocationProviderTest extends InstrumentationTestCase {
|
| @UiThreadTest
|
| @Feature({"Location"})
|
| public void testStartStop() throws Exception {
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| mLocationProvider.start(false);
|
| assertTrue("Should be running", mLocationProvider.isRunning());
|
| mLocationProvider.stop();
|
| @@ -42,6 +46,7 @@ public class LocationProviderTest extends InstrumentationTestCase {
|
| @UiThreadTest
|
| @Feature({"Location"})
|
| public void testStartUpgradeStop() throws Exception {
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| mLocationProvider.start(false);
|
| assertTrue("Should be running", mLocationProvider.isRunning());
|
| mLocationProvider.start(true);
|
| @@ -58,11 +63,12 @@ public class LocationProviderTest extends InstrumentationTestCase {
|
| @UiThreadTest
|
| @Feature({"Location"})
|
| public void testStartPauseResumeStop() throws Exception {
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| mLocationProvider.start(false);
|
| assertTrue("Should be running", mLocationProvider.isRunning());
|
| - ActivityStatus.onStateChange(null, ActivityStatus.PAUSED);
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.PAUSED);
|
| assertFalse("Should have paused", mLocationProvider.isRunning());
|
| - ActivityStatus.onStateChange(null, ActivityStatus.RESUMED);
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| assertTrue("Should have resumed", mLocationProvider.isRunning());
|
| mLocationProvider.stop();
|
| assertFalse("Should have stopped", mLocationProvider.isRunning());
|
| @@ -76,10 +82,27 @@ public class LocationProviderTest extends InstrumentationTestCase {
|
| @UiThreadTest
|
| @Feature({"Location"})
|
| public void testPauseStartResumeStop() throws Exception {
|
| - ActivityStatus.onStateChange(null, ActivityStatus.PAUSED);
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.PAUSED);
|
| mLocationProvider.start(false);
|
| assertFalse("Should not be running", mLocationProvider.isRunning());
|
| - ActivityStatus.onStateChange(null, ActivityStatus.RESUMED);
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| + assertTrue("Should have resumed", mLocationProvider.isRunning());
|
| + mLocationProvider.stop();
|
| + assertFalse("Should have stopped", mLocationProvider.isRunning());
|
| + }
|
| +
|
| + /**
|
| + * Verify that calling start when the activity is stopped doesn't start listening
|
| + * for location updates until activity resumes.
|
| + */
|
| + @SmallTest
|
| + @UiThreadTest
|
| + @Feature({"Location"})
|
| + public void testPauseStopStartResumeStop() throws Exception {
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.STOPPED);
|
| + mLocationProvider.start(false);
|
| + assertFalse("Should not be running", mLocationProvider.isRunning());
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| assertTrue("Should have resumed", mLocationProvider.isRunning());
|
| mLocationProvider.stop();
|
| assertFalse("Should have stopped", mLocationProvider.isRunning());
|
| @@ -92,13 +115,14 @@ public class LocationProviderTest extends InstrumentationTestCase {
|
| @UiThreadTest
|
| @Feature({"Location"})
|
| public void testStartPauseUpgradeResumeStop() throws Exception {
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| mLocationProvider.start(false);
|
| assertTrue("Should be running", mLocationProvider.isRunning());
|
| - ActivityStatus.onStateChange(null, ActivityStatus.PAUSED);
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.PAUSED);
|
| assertFalse("Should have paused", mLocationProvider.isRunning());
|
| mLocationProvider.start(true);
|
| assertFalse("Should be paused", mLocationProvider.isRunning());
|
| - ActivityStatus.onStateChange(null, ActivityStatus.RESUMED);
|
| + ActivityStatus.onStateChangeForTesting(mActivity, ActivityStatus.RESUMED);
|
| assertTrue("Should have resumed", mLocationProvider.isRunning());
|
| mLocationProvider.stop();
|
| assertFalse("Should have stopped", mLocationProvider.isRunning());
|
|
|