summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java71
1 files changed, 35 insertions, 36 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java
index 1c225204e5..d37c6db2d5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java
@@ -3,11 +3,9 @@ package com.mapbox.mapboxsdk.testapp.maps.widgets;
import android.app.Instrumentation;
import android.content.Intent;
import android.net.Uri;
-import android.support.test.espresso.Espresso;
import android.support.test.espresso.UiController;
import android.support.test.espresso.ViewAction;
import android.support.test.espresso.intent.Intents;
-import android.support.test.rule.ActivityTestRule;
import android.text.Html;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
@@ -17,14 +15,12 @@ import android.view.View;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.style.sources.Source;
import com.mapbox.mapboxsdk.testapp.R;
+import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
-import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource;
-import com.mapbox.mapboxsdk.testapp.utils.ViewUtils;
import org.hamcrest.Matcher;
import org.junit.After;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
import static android.support.test.espresso.Espresso.onData;
@@ -42,39 +38,25 @@ import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.anything;
import static org.hamcrest.core.IsNot.not;
-public class AttributionTest {
+public class AttributionTest extends BaseActivityTest {
- @Rule
- public final ActivityTestRule<EspressoTestActivity> rule = new ActivityTestRule<>(EspressoTestActivity.class);
-
- private OnMapReadyIdlingResource idlingResource;
-
- private MapboxMap mapboxMap;
private URLSpan[] urlSpans;
+ @Override
+ protected Class getActivityClass() {
+ return EspressoTestActivity.class;
+ }
+
@Before
public void beforeTest() {
- idlingResource = new OnMapReadyIdlingResource(rule.getActivity());
- Espresso.registerIdlingResources(idlingResource);
+ super.beforeTest();
Intents.init();
- ViewUtils.checkViewIsDisplayed(R.id.mapView);
- mapboxMap = rule.getActivity().getMapboxMap();
- onView(withId(R.id.mapView)).perform(new MapboxMapAction(new InvokeViewAction() {
- @Override
- public void onViewAction(UiController uiController, View view) {
- for (Source source : mapboxMap.getSources()) {
- String attributionSource = source.getAttribution();
- if (!TextUtils.isEmpty(attributionSource)) {
- SpannableStringBuilder htmlBuilder = (SpannableStringBuilder) Html.fromHtml(attributionSource);
- urlSpans = htmlBuilder.getSpans(0, htmlBuilder.length(), URLSpan.class);
- }
- }
- }
- }));
}
@Test
public void testDisabled() {
+ validateTestSetup();
+
// Default
onView(withId(R.id.attributionView)).check(matches(isDisplayed()));
@@ -86,9 +68,9 @@ public class AttributionTest {
@Test
public void testMapboxStreetsMapboxAttributionLink() {
- ViewUtils.checkViewIsDisplayed(R.id.mapView);
+ validateTestSetup();
if (urlSpans == null) {
- return;
+ buildUrlSpans();
}
// click on View to open dialog
@@ -106,10 +88,11 @@ public class AttributionTest {
@Test
public void testMapboxStreetsOpenStreetMapAttributionLink() {
- ViewUtils.checkViewIsDisplayed(R.id.mapView);
+ validateTestSetup();
if (urlSpans == null) {
- return;
+ buildUrlSpans();
}
+
// click on View to open dialog
onView(withId(R.id.attributionView)).perform(click());
onView(withText(R.string.mapbox_attributionsDialogTitle)).check(matches(isDisplayed()));
@@ -125,10 +108,11 @@ public class AttributionTest {
@Test
public void testImproveMapLink() {
- ViewUtils.checkViewIsDisplayed(R.id.mapView);
+ validateTestSetup();
if (urlSpans == null) {
- return;
+ buildUrlSpans();
}
+
// click on View to open dialog
onView(withId(R.id.attributionView)).perform(click());
onView(withText(R.string.mapbox_attributionsDialogTitle)).check(matches(isDisplayed()));
@@ -144,7 +128,7 @@ public class AttributionTest {
@Test
public void testTelemetryDialog() {
- ViewUtils.checkViewIsDisplayed(R.id.mapView);
+ validateTestSetup();
// click on View to open dialog
onView(withId(R.id.attributionView)).perform(click());
@@ -157,8 +141,23 @@ public class AttributionTest {
@After
public void afterTest() {
+ super.afterTest();
Intents.release();
- Espresso.unregisterIdlingResources(idlingResource);
+ }
+
+ private void buildUrlSpans() {
+ onView(withId(R.id.mapView)).perform(new MapboxMapAction(new InvokeViewAction() {
+ @Override
+ public void onViewAction(UiController uiController, View view) {
+ for (Source source : mapboxMap.getSources()) {
+ String attributionSource = source.getAttribution();
+ if (!TextUtils.isEmpty(attributionSource)) {
+ SpannableStringBuilder htmlBuilder = (SpannableStringBuilder) Html.fromHtml(attributionSource);
+ urlSpans = htmlBuilder.getSpans(0, htmlBuilder.length(), URLSpan.class);
+ }
+ }
+ }
+ }));
}
private class DisableAction implements ViewAction {