| Index: chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
|
| index 272278efceef71bc3828194b07d68eae5d1fc9fc..5e1afca87d17fd99ee34b3eef4b0886cae61b836 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
|
| @@ -9,24 +9,29 @@ import android.location.Location;
|
| import android.location.LocationManager;
|
| import android.os.Build;
|
| import android.os.SystemClock;
|
| -import android.test.InstrumentationTestCase;
|
| import android.test.UiThreadTest;
|
| import android.test.suitebuilder.annotation.SmallTest;
|
|
|
| import org.chromium.base.library_loader.ProcessInitException;
|
| +import org.chromium.base.metrics.RecordHistogram;
|
| import org.chromium.base.test.util.Feature;
|
| +import org.chromium.chrome.browser.ChromeActivity;
|
| import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
|
| import org.chromium.chrome.browser.preferences.website.ContentSetting;
|
| import org.chromium.chrome.browser.preferences.website.GeolocationInfo;
|
| +import org.chromium.chrome.test.ChromeActivityTestCaseBase;
|
|
|
| /**
|
| * Tests for GeolocationHeader and GeolocationTracker.
|
| */
|
| -public class GeolocationHeaderTest extends InstrumentationTestCase {
|
| -
|
| +public class GeolocationHeaderTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| private static final String SEARCH_URL_1 = "https://www.google.com/search?q=potatoes";
|
| private static final String SEARCH_URL_2 = "https://www.google.co.jp/webhp?#q=dinosaurs";
|
|
|
| + public GeolocationHeaderTest() {
|
| + super(ChromeActivity.class);
|
| + }
|
| +
|
| @SmallTest
|
| @Feature({"Location"})
|
| @UiThreadTest
|
| @@ -74,6 +79,12 @@ public class GeolocationHeaderTest extends InstrumentationTestCase {
|
| assertNull(getHeaderWithLocation(20.3, 155.8, now - oneWeek));
|
| GeolocationTracker.setLocationForTesting(null);
|
| assertNullHeader(SEARCH_URL_1, false);
|
| +
|
| + // The values in this Histogram assert will change if the asserts above are altered.
|
| + assertHistogramEquals("Geolocation.Header.PermissionState", 43,
|
| + "0:0 1:4 2:0 3:5 4:9 5:4 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 "
|
| + + "17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 "
|
| + + "30:0 31:0 32:0 33:0 34:0 35:0 36:0 37:0 38:0 39:0 40:0 41:0 42:0 ");
|
| }
|
|
|
| private String getHeaderWithPermissions(ContentSetting httpsPermission,
|
| @@ -83,13 +94,13 @@ public class GeolocationHeaderTest extends InstrumentationTestCase {
|
| infoHttps.setContentSetting(httpsPermission);
|
| infoHttp.setContentSetting(httpPermission);
|
| return GeolocationHeader.getGeoHeader(getInstrumentation().getTargetContext(),
|
| - "https://www.google.de/search?q=kartoffelsalat", false);
|
| + "https://www.google.de/search?q=kartoffelsalat", getActivity().getActivityTab());
|
| }
|
|
|
| private String getHeaderWithLocation(double latitute, double longitude, long time) {
|
| setMockLocation(latitute, longitude, time);
|
| - return GeolocationHeader.getGeoHeader(getInstrumentation().getTargetContext(),
|
| - SEARCH_URL_1, false);
|
| + return GeolocationHeader.getGeoHeader(getInstrumentation().getTargetContext(), SEARCH_URL_1,
|
| + getActivity().getActivityTab());
|
| }
|
|
|
| private void setMockLocation(double latitute, double longitude, long time) {
|
| @@ -106,12 +117,27 @@ public class GeolocationHeaderTest extends InstrumentationTestCase {
|
| }
|
|
|
| private void assertNullHeader(String url, boolean isIncognito) {
|
| - Context targetContext = getInstrumentation().getTargetContext();
|
| - assertNull(GeolocationHeader.getGeoHeader(targetContext, url, isIncognito));
|
| + assertNull(GeolocationHeader.getGeoHeader(
|
| + getInstrumentation().getTargetContext(), url, getActivity().getActivityTab()));
|
| }
|
|
|
| private void assertNonNullHeader(String url, boolean isIncognito) {
|
| - Context targetContext = getInstrumentation().getTargetContext();
|
| - assertNotNull(GeolocationHeader.getGeoHeader(targetContext, url, isIncognito));
|
| + assertNotNull(GeolocationHeader.getGeoHeader(
|
| + getInstrumentation().getTargetContext(), url, getActivity().getActivityTab()));
|
| + }
|
| +
|
| + private void assertHistogramEquals(String name, int buckets, String output) {
|
| + String permissions = "";
|
| + for (int i = 0; i < buckets; i++) {
|
| + int count = RecordHistogram.getHistogramValueCountForTesting(name, i);
|
| + permissions =
|
| + permissions.concat(Integer.toString(i) + ":" + Integer.toString(count) + " ");
|
| + }
|
| + assertEquals(output, permissions);
|
| + }
|
| +
|
| + @Override
|
| + public void startMainActivity() throws InterruptedException {
|
| + startMainActivityOnBlankPage();
|
| }
|
| }
|
|
|