[android] - espresso tests rework
This commit is contained in:
@@ -27,8 +27,8 @@ import com.mapbox.mapboxsdk.location.utils.MapboxTestingUtils.Companion.MAP_CONN
|
||||
import com.mapbox.mapboxsdk.location.utils.MapboxTestingUtils.Companion.MAP_RENDER_DELAY
|
||||
import com.mapbox.mapboxsdk.location.utils.MapboxTestingUtils.Companion.pushSourceUpdates
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.SingleActivity
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity
|
||||
import com.mapbox.mapboxsdk.utils.ColorUtils
|
||||
import org.hamcrest.CoreMatchers.*
|
||||
import org.junit.*
|
||||
@@ -37,16 +37,12 @@ import org.junit.Assert.assertTrue
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class LocationComponentTest : BaseActivityTest() {
|
||||
class LocationComponentTest : EspressoTest() {
|
||||
|
||||
@Rule
|
||||
@JvmField
|
||||
val permissionRule: GrantPermissionRule = GrantPermissionRule.grant(Manifest.permission.ACCESS_FINE_LOCATION)
|
||||
|
||||
override fun getActivityClass(): Class<*> {
|
||||
return SingleActivity::class.java
|
||||
}
|
||||
|
||||
private lateinit var styleChangeIdlingResource: StyleChangeIdlingResource
|
||||
private val location: Location by lazy {
|
||||
val initLocation = Location("")
|
||||
@@ -188,7 +184,7 @@ class LocationComponentTest : BaseActivityTest() {
|
||||
component.isLocationComponentEnabled = true
|
||||
|
||||
// Source should be present but empty
|
||||
val mapView = (rule.activity as SingleActivity).mapView
|
||||
val mapView = (rule.activity as EspressoTestActivity).mapView
|
||||
assertThat(mapboxMap.queryRenderedFeatures(
|
||||
RectF(0f, 0f, mapView.width.toFloat(), mapView.height.toFloat()), FOREGROUND_LAYER)
|
||||
.isEmpty(), `is`(true))
|
||||
|
||||
@@ -25,8 +25,7 @@ import com.mapbox.mapboxsdk.location.utils.MapboxTestingUtils.Companion.MAP_REND
|
||||
import com.mapbox.mapboxsdk.location.utils.MapboxTestingUtils.Companion.pushSourceUpdates
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap
|
||||
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.SingleActivity
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest
|
||||
import org.hamcrest.CoreMatchers.`is`
|
||||
import org.hamcrest.CoreMatchers.notNullValue
|
||||
import org.hamcrest.Matchers.equalTo
|
||||
@@ -39,16 +38,12 @@ import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class LocationLayerControllerTest : BaseActivityTest() {
|
||||
class LocationLayerControllerTest : EspressoTest() {
|
||||
|
||||
@Rule
|
||||
@JvmField
|
||||
val permissionRule: GrantPermissionRule = grant(Manifest.permission.ACCESS_FINE_LOCATION)
|
||||
|
||||
override fun getActivityClass(): Class<*> {
|
||||
return SingleActivity::class.java
|
||||
}
|
||||
|
||||
private lateinit var styleChangeIdlingResource: StyleChangeIdlingResource
|
||||
private val location: Location by lazy {
|
||||
val initLocation = Location("")
|
||||
|
||||
@@ -14,8 +14,7 @@ import com.mapbox.mapboxsdk.annotations.PolylineOptions;
|
||||
import com.mapbox.mapboxsdk.exceptions.InvalidMarkerPositionException;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
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.activity.EspressoTest;
|
||||
import org.hamcrest.Matcher;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -39,18 +38,7 @@ import static org.junit.Assert.assertTrue;
|
||||
* @deprecated remove this file when removing deprecated annotations
|
||||
*/
|
||||
@Deprecated
|
||||
public class MapboxMapTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSanity() {
|
||||
validateTestSetup();
|
||||
assertNotNull("mapboxMap should not be null", mapboxMap);
|
||||
}
|
||||
public class MapboxMapTest extends EspressoTest {
|
||||
|
||||
//
|
||||
// InfoWindow
|
||||
|
||||
@@ -1,27 +1,22 @@
|
||||
package com.mapbox.mapboxsdk.maps;
|
||||
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import com.mapbox.mapboxsdk.Mapbox;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
import static junit.framework.Assert.assertSame;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
public class MapboxTest extends BaseActivityTest {
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class MapboxTest {
|
||||
|
||||
private static final String ACCESS_TOKEN = "pk.0000000001";
|
||||
private static final String ACCESS_TOKEN_2 = "pk.0000000002";
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConnected() {
|
||||
validateTestSetup();
|
||||
assertTrue(Mapbox.isConnected());
|
||||
|
||||
// test manual connectivity
|
||||
@@ -37,7 +32,6 @@ public class MapboxTest extends BaseActivityTest {
|
||||
|
||||
@Test
|
||||
public void setAccessToken() {
|
||||
validateTestSetup();
|
||||
String realToken = Mapbox.getAccessToken();
|
||||
Mapbox.setAccessToken(ACCESS_TOKEN);
|
||||
assertSame(ACCESS_TOKEN, Mapbox.getAccessToken());
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.mapbox.mapboxsdk.maps;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.camera.CameraAnimationTypeActivity;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -11,7 +11,7 @@ import static com.mapbox.mapboxsdk.testapp.action.OrientationChangeAction.orient
|
||||
import static com.mapbox.mapboxsdk.testapp.action.OrientationChangeAction.orientationPortrait;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.OrientationChangeAction.orientationPortraitReverse;
|
||||
|
||||
public class OrientationTest extends BaseActivityTest {
|
||||
public class OrientationTest extends BaseTest {
|
||||
|
||||
@Test
|
||||
public void testChangeDeviceOrientation() {
|
||||
|
||||
@@ -4,15 +4,11 @@ import android.support.test.espresso.UiController
|
||||
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.maplayout.SimpleMapActivity
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
|
||||
|
||||
class TransformTest: BaseActivityTest() {
|
||||
|
||||
override fun getActivityClass(): Class<*> = SimpleMapActivity::class.java
|
||||
class TransformTest: EspressoTest() {
|
||||
|
||||
companion object {
|
||||
val initialCameraUpdate = CameraUpdateFactory.newLatLngZoom(LatLng(12.0,12.0), 12.0)!!
|
||||
@@ -21,7 +17,7 @@ class TransformTest: BaseActivityTest() {
|
||||
@Test
|
||||
fun mapboxMapScrollByWithPadding() {
|
||||
validateTestSetup()
|
||||
invoke(mapboxMap) { uiController: UiController, mapboxMap: MapboxMap ->
|
||||
invoke(mapboxMap) { _: UiController, mapboxMap: MapboxMap ->
|
||||
mapboxMap.moveCamera(initialCameraUpdate)
|
||||
mapboxMap.scrollBy(400.0f, 0.0f)
|
||||
val expectedCameraPosition = mapboxMap.cameraPosition
|
||||
|
||||
@@ -7,20 +7,16 @@ import com.mapbox.mapboxsdk.geometry.LatLng
|
||||
import com.mapbox.mapboxsdk.maps.MapView
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
class VisibleRegionTest : BaseActivityTest() {
|
||||
class VisibleRegionTest : EspressoTest() {
|
||||
|
||||
private lateinit var mapView: MapView
|
||||
|
||||
override fun getActivityClass(): Class<*> {
|
||||
return EspressoTestActivity::class.java
|
||||
}
|
||||
|
||||
override fun beforeTest() {
|
||||
super.beforeTest()
|
||||
mapView = (rule.activity as EspressoTestActivity).mapView
|
||||
@@ -10,13 +10,8 @@ import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
|
||||
public final class WaitAction implements ViewAction {
|
||||
|
||||
private static final long DEFAULT_LOOP_TIME = 375;
|
||||
private final long loopTime;
|
||||
|
||||
public WaitAction() {
|
||||
this(DEFAULT_LOOP_TIME);
|
||||
}
|
||||
|
||||
public WaitAction(long loopTime) {
|
||||
this.loopTime = loopTime;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.testapp.activity;
|
||||
import android.app.Activity;
|
||||
import android.support.test.espresso.Espresso;
|
||||
import android.support.test.espresso.IdlingRegistry;
|
||||
import android.support.test.espresso.IdlingResource;
|
||||
import android.support.test.espresso.IdlingResourceTimeoutException;
|
||||
import android.support.test.espresso.ViewInteraction;
|
||||
import android.support.test.rule.ActivityTestRule;
|
||||
@@ -12,8 +13,9 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
|
||||
import com.mapbox.mapboxsdk.testapp.action.WaitAction;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.FinishLoadingStyleIdlingResource;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.utils.MapboxIdlingResource;
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.junit.After;
|
||||
@@ -28,7 +30,10 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
|
||||
public abstract class BaseActivityTest {
|
||||
/**
|
||||
* Base class for all Activity test hooking into an existing Activity that will load style.
|
||||
*/
|
||||
public abstract class BaseTest {
|
||||
|
||||
@Rule
|
||||
public ActivityTestRule<Activity> rule = new ActivityTestRule<>(getActivityClass());
|
||||
@@ -37,7 +42,7 @@ public abstract class BaseActivityTest {
|
||||
public TestName testNameRule = new TestName();
|
||||
|
||||
protected MapboxMap mapboxMap;
|
||||
protected OnMapReadyIdlingResource idlingResource;
|
||||
protected MapboxIdlingResource idlingResource;
|
||||
|
||||
@Before
|
||||
public void beforeTest() {
|
||||
@@ -48,19 +53,25 @@ public abstract class BaseActivityTest {
|
||||
testNameRule.getMethodName(),
|
||||
"@Before test: register idle resource"
|
||||
));
|
||||
idlingResource = new OnMapReadyIdlingResource(rule.getActivity());
|
||||
idlingResource = (MapboxIdlingResource) generateIdlingResource();
|
||||
IdlingRegistry.getInstance().register(idlingResource);
|
||||
Espresso.onIdle();
|
||||
mapboxMap = idlingResource.getMapboxMap();
|
||||
} catch (IdlingResourceTimeoutException idlingResourceTimeoutException) {
|
||||
throw new RuntimeException(String.format("Could not start %s test for %s.\n Either the ViewHierarchy doesn't "
|
||||
+ "contain a view with resource id = R.id.mapView or \n the hosting Activity wasn't in an idle state.",
|
||||
testNameRule.getMethodName(),
|
||||
getActivityClass().getSimpleName())
|
||||
throw new RuntimeException(
|
||||
String.format(
|
||||
"Could not start %s test for %s.",
|
||||
testNameRule.getMethodName(),
|
||||
getActivityClass().getSimpleName()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
protected IdlingResource generateIdlingResource() {
|
||||
return new FinishLoadingStyleIdlingResource(rule.getActivity());
|
||||
}
|
||||
|
||||
protected void validateTestSetup() {
|
||||
if (!Mapbox.isConnected()) {
|
||||
Timber.e("Not connected to the internet while running test");
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.mapbox.mapboxsdk.testapp.activity;
|
||||
|
||||
import android.support.test.espresso.IdlingResource;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.LoadStyleIdlingResource;
|
||||
|
||||
/**
|
||||
* Base class for all tests using EspressoTestActivity as wrapper.
|
||||
* <p>
|
||||
* Uses {@link LoadStyleIdlingResource} to load "assets/streets.json" as style.
|
||||
* </p>
|
||||
*/
|
||||
public class EspressoTest extends BaseTest {
|
||||
|
||||
@Override
|
||||
protected IdlingResource generateIdlingResource() {
|
||||
return new LoadStyleIdlingResource(rule.getActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
}
|
||||
@@ -7,27 +7,22 @@ package com.mapbox.mapboxsdk.testapp.activity.gen.<%- subPackage %>;
|
||||
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.<%- subPackage %>.<%- activity %>;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
|
||||
/**
|
||||
* Sanity test for <%- activity %>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class <%- activity %>Test extends BaseActivityTest {
|
||||
public class <%- activity %>Test extends BaseTest {
|
||||
|
||||
@Test
|
||||
public void testSanity() {
|
||||
validateTestSetup();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -9,8 +9,7 @@ import com.mapbox.mapboxsdk.annotations.MarkerOptions;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.maps.IconManagerResolver;
|
||||
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.activity.EspressoTest;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -25,7 +24,7 @@ import static junit.framework.Assert.assertTrue;
|
||||
/**
|
||||
* Tests integration between Icons and Markers
|
||||
*/
|
||||
public class IconTest extends BaseActivityTest {
|
||||
public class IconTest extends EspressoTest {
|
||||
|
||||
private Map<Icon, Integer> iconMap;
|
||||
|
||||
@@ -145,9 +144,4 @@ public class IconTest extends BaseActivityTest {
|
||||
assertEquals("Amount of icons should match 0", 0, iconMap.size());
|
||||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,7 @@ import com.mapbox.mapboxsdk.annotations.Marker;
|
||||
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.TestConstants;
|
||||
|
||||
import org.junit.Ignore;
|
||||
@@ -18,15 +17,10 @@ import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class MarkerTest extends BaseActivityTest {
|
||||
public class MarkerTest extends EspressoTest {
|
||||
|
||||
private Marker marker;
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void addMarkerTest() {
|
||||
|
||||
@@ -5,8 +5,7 @@ import android.graphics.Color;
|
||||
import com.mapbox.mapboxsdk.annotations.Polygon;
|
||||
import com.mapbox.mapboxsdk.annotations.PolygonOptions;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
@@ -14,12 +13,7 @@ import org.junit.Test;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class PolygonTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
public class PolygonTest extends EspressoTest {
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
|
||||
@@ -5,8 +5,7 @@ import android.graphics.Color;
|
||||
import com.mapbox.mapboxsdk.annotations.Polyline;
|
||||
import com.mapbox.mapboxsdk.annotations.PolylineOptions;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
@@ -14,12 +13,7 @@ import org.junit.Test;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class PolylineTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
public class PolylineTest extends EspressoTest {
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.DeviceIndependentTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.TestConstants;
|
||||
|
||||
@@ -18,7 +18,7 @@ import org.junit.Test;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class CameraAnimateTest extends BaseActivityTest {
|
||||
public class CameraAnimateTest extends BaseTest {
|
||||
|
||||
private final CountingIdlingResource animationIdlingResource =
|
||||
new CountingIdlingResource("animation_idling_resource");
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.DeviceIndependentTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.TestConstants;
|
||||
|
||||
@@ -18,7 +18,7 @@ import org.junit.Test;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class CameraEaseTest extends BaseActivityTest {
|
||||
public class CameraEaseTest extends BaseTest {
|
||||
|
||||
private final CountingIdlingResource animationIdlingResource =
|
||||
new CountingIdlingResource("animation_idling_resource");
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.camera.CameraPosition;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.DeviceIndependentTestActivity;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class CameraForTest extends BaseActivityTest {
|
||||
public class CameraForTest extends BaseTest {
|
||||
|
||||
@Test
|
||||
public void testGetCameraForLatLngBounds() {
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.DeviceIndependentTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.TestConstants;
|
||||
|
||||
@@ -19,7 +19,7 @@ import org.junit.Test;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class CameraMoveTest extends BaseActivityTest {
|
||||
public class CameraMoveTest extends BaseTest {
|
||||
|
||||
private final CountingIdlingResource animationIdlingResource =
|
||||
new CountingIdlingResource("animation_idling_resource");
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.testapp.feature;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.feature.QueryRenderedFeaturesBoxCountActivity;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.RootMatchers.withDecorView;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.not;
|
||||
|
||||
/**
|
||||
* Instrumentation test to validate if clicking on the blue rectangle from
|
||||
* QueryRenderedFeaturesBoxSymbolCountActivity shows a Toast that 149 features were found.
|
||||
*/
|
||||
public class QueryRenderedFeaturesBoxCountTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return QueryRenderedFeaturesBoxCountActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testCountFeatures() {
|
||||
// click on box to query map
|
||||
onView(withId(R.id.selection_box)).perform(click());
|
||||
|
||||
// validate if toast is shown
|
||||
onView(withText("149 features in box"))
|
||||
.inRoot(withDecorView(not(is(rule.getActivity().getWindow().getDecorView()))))
|
||||
.check(matches(isDisplayed()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.testapp.feature;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.feature.QueryRenderedFeaturesBoxHighlightActivity;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.RootMatchers.withDecorView;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.not;
|
||||
|
||||
/**
|
||||
* Instrumentation test to validate if clicking box on screen highlights features.
|
||||
*/
|
||||
public class QueryRenderedFeaturesHighlightTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return QueryRenderedFeaturesBoxHighlightActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testCountFeatures() {
|
||||
// click on box to query map
|
||||
onView(withId(R.id.selection_box)).perform(click());
|
||||
|
||||
// validate if toast is shown
|
||||
onView(withText("50 features in box"))
|
||||
.inRoot(withDecorView(not(is(rule.getActivity().getWindow().getDecorView()))))
|
||||
.check(matches(isDisplayed()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.testapp.feature;
|
||||
|
||||
import android.graphics.PointF;
|
||||
import android.support.test.espresso.ViewAction;
|
||||
import android.support.test.espresso.action.GeneralClickAction;
|
||||
import android.support.test.espresso.action.Press;
|
||||
import android.support.test.espresso.action.Tap;
|
||||
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.feature.QueryRenderedFeaturesPropertiesActivity;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
|
||||
/**
|
||||
* Instrumentation test to validate if clicking center of screen returns the correct features.
|
||||
*/
|
||||
public class QueryRenderedFeaturesPropertiesTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return QueryRenderedFeaturesPropertiesActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testCountFeatures() {
|
||||
LatLng centerScreen = mapboxMap.getCameraPosition().target;
|
||||
PointF centerPixel = mapboxMap.getProjection().toScreenLocation(centerScreen);
|
||||
onView(withId(R.id.mapView)).perform(clickXY(centerPixel.x, centerPixel.y));
|
||||
onView(withText("Found 4 features")).check(matches(isDisplayed()));
|
||||
}
|
||||
|
||||
private static ViewAction clickXY(final float x, final float y) {
|
||||
return new GeneralClickAction(
|
||||
Tap.SINGLE,
|
||||
view -> {
|
||||
final int[] screenPos = new int[2];
|
||||
view.getLocationOnScreen(screenPos);
|
||||
final float screenX = screenPos[0] + x;
|
||||
final float screenY = screenPos[1] + y;
|
||||
return new float[] {screenX, screenY};
|
||||
},
|
||||
Press.FINGER);
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.testapp.feature;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.feature.QueryRenderedFeaturesBoxSymbolCountActivity;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.RootMatchers.withDecorView;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.not;
|
||||
|
||||
/**
|
||||
* Instrumentation test to validate if clicking on the blue rectangle from
|
||||
* QueryRenderedFeaturesBoxSymbolCountActivity shows a Toast that 2 symbols were found.
|
||||
*/
|
||||
public class QueryRenderedSymbolBoxCountTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return QueryRenderedFeaturesBoxSymbolCountActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testCountSymbols() {
|
||||
// click on box to query map
|
||||
onView(withId(R.id.selection_box)).perform(click());
|
||||
|
||||
// validate if toast is shown
|
||||
onView(withText("2 features in box"))
|
||||
.inRoot(withDecorView(not(is(rule.getActivity().getWindow().getDecorView()))))
|
||||
.check(matches(isDisplayed()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,8 +7,7 @@ import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
|
||||
import com.mapbox.mapboxsdk.style.sources.CustomGeometrySource;
|
||||
import com.mapbox.mapboxsdk.style.sources.GeometryTileProvider;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
import org.junit.Test;
|
||||
|
||||
import static com.mapbox.geojson.Feature.fromGeometry;
|
||||
@@ -23,7 +22,7 @@ import static java.util.Collections.singletonList;
|
||||
/**
|
||||
* Instrumentation test to validate java geojson conversion to c++
|
||||
*/
|
||||
public class GeoJsonConversionTest extends BaseActivityTest {
|
||||
public class GeoJsonConversionTest extends EspressoTest {
|
||||
|
||||
// Regression test for #12343
|
||||
@Test
|
||||
@@ -118,11 +117,6 @@ public class GeoJsonConversionTest extends BaseActivityTest {
|
||||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
|
||||
class CustomProvider implements GeometryTileProvider {
|
||||
|
||||
private FeatureCollection featureCollection;
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.feature.QueryRenderedFeaturesBoxHighlightActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.TestConstants;
|
||||
import org.junit.Test;
|
||||
@@ -14,7 +14,7 @@ import static junit.framework.Assert.assertEquals;
|
||||
/**
|
||||
* Instrumentation test to validate integration of LatLngBounds
|
||||
*/
|
||||
public class LatLngBoundsTest extends BaseActivityTest {
|
||||
public class LatLngBoundsTest extends BaseTest {
|
||||
|
||||
private static final double MAP_BEARING = 50;
|
||||
|
||||
|
||||
@@ -8,21 +8,17 @@ import com.mapbox.mapboxsdk.maps.Style
|
||||
import com.mapbox.mapboxsdk.style.layers.SymbolLayer
|
||||
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class StyleLoadTest : BaseActivityTest() {
|
||||
class StyleLoadTest : EspressoTest() {
|
||||
|
||||
private lateinit var mapView: MapView
|
||||
|
||||
override fun getActivityClass(): Class<*> {
|
||||
return EspressoTestActivity::class.java
|
||||
}
|
||||
|
||||
@Before
|
||||
override fun beforeTest() {
|
||||
super.beforeTest()
|
||||
|
||||
@@ -15,8 +15,7 @@ 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.activity.EspressoTest;
|
||||
|
||||
import org.hamcrest.Matcher;
|
||||
import org.junit.After;
|
||||
@@ -39,15 +38,10 @@ import static org.hamcrest.CoreMatchers.allOf;
|
||||
import static org.hamcrest.CoreMatchers.anything;
|
||||
import static org.hamcrest.core.IsNot.not;
|
||||
|
||||
public class AttributionTest extends BaseActivityTest {
|
||||
public class AttributionTest extends EspressoTest {
|
||||
|
||||
private URLSpan[] urlSpans;
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
|
||||
@Before
|
||||
public void beforeTest() {
|
||||
super.beforeTest();
|
||||
|
||||
@@ -4,10 +4,8 @@ import com.mapbox.mapboxsdk.camera.CameraPosition;
|
||||
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
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.activity.EspressoTest;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.TestConstants;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -20,12 +18,7 @@ import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
|
||||
import static org.hamcrest.Matchers.not;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class CompassViewTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
public class CompassViewTest extends EspressoTest {
|
||||
|
||||
@Test
|
||||
public void testDefault() {
|
||||
|
||||
@@ -6,8 +6,7 @@ import android.view.View;
|
||||
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
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.activity.EspressoTest;
|
||||
|
||||
import org.hamcrest.Matcher;
|
||||
import org.junit.Test;
|
||||
@@ -18,12 +17,7 @@ import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
import static org.hamcrest.Matchers.not;
|
||||
|
||||
public class LogoTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
public class LogoTest extends EspressoTest {
|
||||
|
||||
@Test
|
||||
public void testDefault() {
|
||||
|
||||
@@ -11,15 +11,14 @@ import com.mapbox.mapboxsdk.offline.OfflineManager
|
||||
import com.mapbox.mapboxsdk.offline.OfflineRegion
|
||||
import com.mapbox.mapboxsdk.storage.FileSource
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest
|
||||
import com.mapbox.mapboxsdk.testapp.utils.FileUtils
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import java.io.IOException
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class OfflineManagerTest : BaseActivityTest() {
|
||||
class OfflineManagerTest : EspressoTest() {
|
||||
|
||||
companion object {
|
||||
private const val TEST_DB_FILE_NAME = "offline.db"
|
||||
@@ -29,10 +28,6 @@ class OfflineManagerTest : BaseActivityTest() {
|
||||
|
||||
private lateinit var offlineIdlingResource: CountingIdlingResource
|
||||
|
||||
override fun getActivityClass(): Class<*> {
|
||||
return EspressoTestActivity::class.java
|
||||
}
|
||||
|
||||
override fun beforeTest() {
|
||||
super.beforeTest()
|
||||
offlineIdlingResource = CountingIdlingResource("idling_resource")
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.mapbox.mapboxsdk.testapp.offline;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.OfflineUtils;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Arrays;
|
||||
@@ -13,16 +12,12 @@ import static com.mapbox.mapboxsdk.testapp.activity.offline.OfflineActivity.JSON
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.TestCase.assertTrue;
|
||||
|
||||
public class OfflineUtilsTest extends BaseActivityTest {
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class OfflineUtilsTest {
|
||||
|
||||
private static final String REGION_NAME = "hello world";
|
||||
private static final String CONVERTED_REGION_NAME = "{\"FIELD_REGION_NAME\":\"hello world\"}";
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOfflineUtilsConvertToBytes() throws UnsupportedEncodingException {
|
||||
byte[] expected = CONVERTED_REGION_NAME.getBytes(JSON_CHARSET);
|
||||
|
||||
@@ -1,131 +1,40 @@
|
||||
package com.mapbox.mapboxsdk.testapp.storage;
|
||||
|
||||
import android.os.Looper;
|
||||
import android.support.test.espresso.UiController;
|
||||
import android.support.test.espresso.ViewAction;
|
||||
import android.support.test.rule.ActivityTestRule;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.annotation.UiThreadTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.view.View;
|
||||
|
||||
import com.mapbox.mapboxsdk.storage.FileSource;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.action.WaitAction;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.FeatureOverviewActivity;
|
||||
|
||||
import org.hamcrest.Matcher;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.Espresso.pressBack;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isRoot;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||
import static com.mapbox.mapboxsdk.testapp.action.OrientationChangeAction.orientationLandscape;
|
||||
import static junit.framework.TestCase.assertFalse;
|
||||
import static junit.framework.TestCase.assertTrue;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class FileSourceTest {
|
||||
|
||||
@Rule
|
||||
public ActivityTestRule<FeatureOverviewActivity> rule = new ActivityTestRule<>(FeatureOverviewActivity.class);
|
||||
|
||||
private FileSource fileSource;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
onView(withId(R.id.recyclerView)).perform(new FileSourceCreator());
|
||||
@UiThreadTest
|
||||
public void setUp() {
|
||||
fileSource = FileSource.getInstance(InstrumentationRegistry.getContext());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefault() throws Exception {
|
||||
@UiThreadTest
|
||||
public void testDefault() {
|
||||
assertFalse("FileSource should not be active", fileSource.isActivated());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testActivateDeactivate() throws Exception {
|
||||
@UiThreadTest
|
||||
public void testActivateDeactivate() {
|
||||
assertFalse("1) FileSource should not be active", fileSource.isActivated());
|
||||
onView(withId(R.id.recyclerView)).perform(new FileSourceActivator(true));
|
||||
fileSource.activate();
|
||||
assertTrue("2) FileSource should be active", fileSource.isActivated());
|
||||
onView(withId(R.id.recyclerView)).perform(new FileSourceActivator(false));
|
||||
fileSource.deactivate();
|
||||
assertFalse("3) FileSource should not be active", fileSource.isActivated());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOpenCloseMapView() throws Exception {
|
||||
assertFalse("1) FileSource should not be active", fileSource.isActivated());
|
||||
onView(withText("Simple Map")).perform(click());
|
||||
onView(withId(R.id.mapView)).perform(new WaitAction());
|
||||
assertTrue("2) FileSource should be active", fileSource.isActivated());
|
||||
onView(withId(R.id.mapView)).perform(new WaitAction());
|
||||
pressBack();
|
||||
assertFalse("3) FileSource should not be active", fileSource.isActivated());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testRotateMapView() throws Exception {
|
||||
assertFalse("1) FileSource should not be active", fileSource.isActivated());
|
||||
onView(withText("Simple Map")).perform(click());
|
||||
onView(withId(R.id.mapView)).perform(new WaitAction());
|
||||
onView(isRoot()).perform(orientationLandscape());
|
||||
onView(withId(R.id.mapView)).perform(new WaitAction());
|
||||
assertTrue("2) FileSource should be active", fileSource.isActivated());
|
||||
onView(withId(R.id.mapView)).perform(new WaitAction());
|
||||
pressBack();
|
||||
assertFalse("3) FileSource should not be active", fileSource.isActivated());
|
||||
}
|
||||
|
||||
private class FileSourceCreator implements ViewAction {
|
||||
@Override
|
||||
public Matcher<View> getConstraints() {
|
||||
return isDisplayed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Creates the filesource instance on the UI thread";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void perform(UiController uiController, View view) {
|
||||
assertTrue(Looper.myLooper() == Looper.getMainLooper());
|
||||
fileSource = FileSource.getInstance(rule.getActivity());
|
||||
}
|
||||
}
|
||||
|
||||
private class FileSourceActivator implements ViewAction {
|
||||
|
||||
private boolean activate;
|
||||
|
||||
FileSourceActivator(boolean activate) {
|
||||
this.activate = activate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Matcher<View> getConstraints() {
|
||||
return isDisplayed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Creates the filesource instance on the UI thread";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void perform(UiController uiController, View view) {
|
||||
assertTrue(Looper.myLooper() == Looper.getMainLooper());
|
||||
if (activate) {
|
||||
fileSource.activate();
|
||||
} else {
|
||||
fileSource.deactivate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.mapbox.mapboxsdk.testapp.string;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
@@ -12,12 +13,8 @@ import static junit.framework.Assert.assertEquals;
|
||||
* See core test in https://github.com/mapbox/mapbox-gl-native/blob/master/test/util/text_conversions.test.cpp
|
||||
* </p>
|
||||
*/
|
||||
public class UppperLowerCaseTest extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class UppperLowerCaseTest extends EspressoTest {
|
||||
|
||||
@Test
|
||||
public void testToUpperCase() {
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.mapbox.mapboxsdk.style.sources.CustomGeometrySource.THREAD_PREFIX
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke
|
||||
import com.mapbox.mapboxsdk.testapp.action.OrientationChangeAction.orientationLandscape
|
||||
import com.mapbox.mapboxsdk.testapp.action.OrientationChangeAction.orientationPortrait
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.GridSourceActivity
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.GridSourceActivity.ID_GRID_LAYER
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.GridSourceActivity.ID_GRID_SOURCE
|
||||
@@ -16,7 +16,7 @@ import org.junit.Assert
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
|
||||
class CustomGeometrySourceTest : BaseActivityTest() {
|
||||
class CustomGeometrySourceTest : BaseTest() {
|
||||
|
||||
override fun getActivityClass(): Class<*> = GridSourceActivity::class.java
|
||||
|
||||
|
||||
@@ -18,8 +18,7 @@ import com.mapbox.mapboxsdk.style.sources.Source;
|
||||
import com.mapbox.mapboxsdk.style.types.Formatted;
|
||||
import com.mapbox.mapboxsdk.style.types.FormattedSection;
|
||||
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.activity.EspressoTest;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils;
|
||||
import com.mapbox.mapboxsdk.utils.ColorUtils;
|
||||
|
||||
@@ -61,7 +60,7 @@ import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExpressionTest extends BaseActivityTest {
|
||||
public class ExpressionTest extends EspressoTest {
|
||||
|
||||
private FillLayer layer;
|
||||
|
||||
@@ -557,9 +556,4 @@ public class ExpressionTest extends BaseActivityTest {
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,7 @@ import com.mapbox.mapboxsdk.style.layers.Layer;
|
||||
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.RuntimeStyleTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils;
|
||||
|
||||
import org.hamcrest.Matcher;
|
||||
@@ -33,12 +32,7 @@ import static org.junit.Assert.assertTrue;
|
||||
* Tests for {@link GeoJsonSource}
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class GeoJsonSourceTests extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return RuntimeStyleTestActivity.class;
|
||||
}
|
||||
public class GeoJsonSourceTests extends EspressoTest {
|
||||
|
||||
@Test
|
||||
public void testFeatureCollection() {
|
||||
|
||||
@@ -7,9 +7,8 @@ import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.RuntimeStyleTestActivity;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@@ -20,15 +19,10 @@ import static org.junit.Assert.assertTrue;
|
||||
* CRUD tests around Image
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ImageTest extends BaseActivityTest {
|
||||
public class ImageTest extends EspressoTest {
|
||||
|
||||
private static final String IMAGE_ID = "test.image";
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return RuntimeStyleTestActivity.class;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddGetImage() {
|
||||
validateTestSetup();
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.mapbox.mapboxsdk.style.layers.FillExtrusionLayer;
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import com.mapbox.mapboxsdk.style.light.Position;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.FillExtrusionStyleTestActivity;
|
||||
|
||||
import timber.log.Timber;
|
||||
@@ -36,7 +36,7 @@ import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertNotNull;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class LightTest extends BaseActivityTest {
|
||||
public class LightTest extends BaseTest {
|
||||
|
||||
private Light light;
|
||||
|
||||
|
||||
@@ -21,8 +21,7 @@ import com.mapbox.mapboxsdk.style.sources.RasterSource;
|
||||
import com.mapbox.mapboxsdk.style.sources.Source;
|
||||
import com.mapbox.mapboxsdk.style.sources.VectorSource;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.RuntimeStyleTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
@@ -52,12 +51,7 @@ import static org.junit.Assert.fail;
|
||||
* Basic smoke tests for Layer and Source
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class RuntimeStyleTests extends BaseActivityTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return RuntimeStyleTestActivity.class;
|
||||
}
|
||||
public class RuntimeStyleTests extends EspressoTest {
|
||||
|
||||
@Test
|
||||
public void testListLayers() {
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.mapbox.mapboxsdk.testapp.style;
|
||||
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.RuntimeStyleTimingTestActivity;
|
||||
|
||||
import org.junit.Test;
|
||||
@@ -12,7 +12,7 @@ import org.junit.runner.RunWith;
|
||||
* Basic smoke tests for adding Layer and Source as early as possible (in onCreate)
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class RuntimeStyleTimingTests extends BaseActivityTest {
|
||||
public class RuntimeStyleTimingTests extends BaseTest {
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
package com.mapbox.mapboxsdk.testapp.style;
|
||||
|
||||
|
||||
import android.support.test.espresso.UiController;
|
||||
|
||||
import com.mapbox.mapboxsdk.maps.MapView;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.maps.Style;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -22,56 +15,44 @@ import static org.junit.Assert.assertEquals;
|
||||
/**
|
||||
* Tests around style loading
|
||||
*/
|
||||
public class StyleLoaderTest extends BaseActivityTest {
|
||||
|
||||
|
||||
@Override
|
||||
protected Class getActivityClass() {
|
||||
return EspressoTestActivity.class;
|
||||
}
|
||||
public class StyleLoaderTest extends EspressoTest {
|
||||
|
||||
@Test
|
||||
public void testSetGetStyleJsonString() throws Exception {
|
||||
public void testSetGetStyleJsonString() {
|
||||
validateTestSetup();
|
||||
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
|
||||
@Override
|
||||
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
|
||||
try {
|
||||
String expected = ResourceUtils.readRawResource(rule.getActivity(), R.raw.local_style);
|
||||
mapboxMap.setStyle(new Style.Builder().fromJson(expected));
|
||||
String actual = mapboxMap.getStyle().getJson();
|
||||
assertEquals("Style json should match", expected, actual);
|
||||
} catch (IOException exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
invoke(mapboxMap, (uiController, mapboxMap) -> {
|
||||
try {
|
||||
String expected = ResourceUtils.readRawResource(rule.getActivity(), R.raw.local_style);
|
||||
mapboxMap.setStyle(new Style.Builder().fromJson(expected));
|
||||
String actual = mapboxMap.getStyle().getJson();
|
||||
assertEquals("Style json should match", expected, actual);
|
||||
} catch (IOException exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultStyleLoadWithActivityLifecycleChange() throws Exception {
|
||||
public void testDefaultStyleLoadWithActivityLifecycleChange() {
|
||||
validateTestSetup();
|
||||
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
|
||||
@Override
|
||||
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
|
||||
try {
|
||||
String expected = ResourceUtils.readRawResource(rule.getActivity(), R.raw.local_style);
|
||||
mapboxMap.setStyle(new Style.Builder().fromJson(expected));
|
||||
invoke(mapboxMap, (uiController, mapboxMap) -> {
|
||||
try {
|
||||
String expected = ResourceUtils.readRawResource(rule.getActivity(), R.raw.local_style);
|
||||
mapboxMap.setStyle(new Style.Builder().fromJson(expected));
|
||||
|
||||
// fake activity stop/start
|
||||
MapView mapView = (MapView) rule.getActivity().findViewById(R.id.mapView);
|
||||
mapView.onPause();
|
||||
mapView.onStop();
|
||||
// fake activity stop/start
|
||||
MapView mapView = (MapView) rule.getActivity().findViewById(R.id.mapView);
|
||||
mapView.onPause();
|
||||
mapView.onStop();
|
||||
|
||||
mapView.onStart();
|
||||
mapView.onResume();
|
||||
mapView.onStart();
|
||||
mapView.onResume();
|
||||
|
||||
String actual = mapboxMap.getStyle().getJson();
|
||||
assertEquals("Style URL should be empty", "", mapboxMap.getStyle().getUrl());
|
||||
assertEquals("Style json should match", expected, actual);
|
||||
} catch (IOException exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
String actual = mapboxMap.getStyle().getJson();
|
||||
assertEquals("Style URL should be empty", "", mapboxMap.getStyle().getUrl());
|
||||
assertEquals("Style json should match", expected, actual);
|
||||
} catch (IOException exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import com.mapbox.mapboxsdk.style.layers.FillExtrusionLayer;
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import com.mapbox.mapboxsdk.style.light.Position;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.style.FillExtrusionStyleTestActivity;
|
||||
|
||||
import timber.log.Timber;
|
||||
@@ -39,7 +39,7 @@ import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertNotNull;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class LightTest extends BaseActivityTest {
|
||||
public class LightTest extends BaseTest {
|
||||
|
||||
private Light light;
|
||||
<% for (const property of properties) { -%>
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.testapp.utils;
|
||||
|
||||
import android.support.annotation.StringRes;
|
||||
import android.support.test.espresso.Espresso;
|
||||
import android.support.test.espresso.action.ViewActions;
|
||||
import android.support.test.espresso.matcher.ViewMatchers;
|
||||
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
|
||||
import org.hamcrest.Matchers;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
|
||||
|
||||
public class DrawerUtils {
|
||||
|
||||
private static final String HOME_BUTTON_STRING = "Navigate up";
|
||||
|
||||
public static void openDrawer() {
|
||||
onView(withContentDescription(HOME_BUTTON_STRING)).perform(click());
|
||||
}
|
||||
|
||||
public static void clickItem(@StringRes int txtId) {
|
||||
Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.design_menu_item_text),
|
||||
ViewMatchers.hasSibling(ViewMatchers.withText(txtId)))).perform(ViewActions.click());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.mapbox.mapboxsdk.testapp.utils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.support.annotation.WorkerThread;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class FinishLoadingStyleIdlingResource extends MapboxIdlingResource {
|
||||
|
||||
@WorkerThread
|
||||
public FinishLoadingStyleIdlingResource(final Activity activity) {
|
||||
new Handler(Looper.getMainLooper()).post(() -> inflateMap(activity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initMap(MapboxMap mapboxMap) {
|
||||
super.initMap(mapboxMap);
|
||||
mapboxMap.getStyle(style -> {
|
||||
assertNotNull(style);
|
||||
assertTrue(style.isFullyLoaded());
|
||||
if (resourceCallback != null) {
|
||||
resourceCallback.onTransitionToIdle();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIdleNow() {
|
||||
return getMapboxMap() != null && getMapboxMap().getStyle() != null;
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.testapp.utils;
|
||||
|
||||
import android.support.annotation.IdRes;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.action.ViewActions.doubleClick;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
|
||||
public class GestureUtils {
|
||||
|
||||
public static void doubleClickGesture(@IdRes int id) {
|
||||
onView(withId(id)).perform(doubleClick());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.mapbox.mapboxsdk.testapp.utils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.annotation.WorkerThread;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.maps.Style;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class LoadStyleIdlingResource extends MapboxIdlingResource {
|
||||
|
||||
private Style style;
|
||||
|
||||
@WorkerThread
|
||||
public LoadStyleIdlingResource(final Activity activity) {
|
||||
new Handler(Looper.getMainLooper()).post(() -> inflateMap(activity));
|
||||
}
|
||||
|
||||
@UiThread
|
||||
public void initMap(MapboxMap mapboxMap) {
|
||||
super.initMap(mapboxMap);
|
||||
mapboxMap.setStyle("asset://streets.json", style -> {
|
||||
assertNotNull(style);
|
||||
assertTrue(style.isFullyLoaded());
|
||||
this.style = style;
|
||||
if (resourceCallback != null) {
|
||||
resourceCallback.onTransitionToIdle();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIdleNow() {
|
||||
return style != null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.mapbox.mapboxsdk.testapp.utils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.test.espresso.IdlingResource;
|
||||
import com.mapbox.mapboxsdk.maps.MapView;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
|
||||
public abstract class MapboxIdlingResource implements IdlingResource {
|
||||
|
||||
private MapboxMap mapboxMap;
|
||||
IdlingResource.ResourceCallback resourceCallback;
|
||||
|
||||
@UiThread
|
||||
void inflateMap(Activity activity) {
|
||||
MapView mapView = activity.findViewById(R.id.mapView);
|
||||
if (mapView != null) {
|
||||
mapView.getMapAsync(this::initMap);
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
protected void initMap(MapboxMap mapboxMap) {
|
||||
this.mapboxMap = mapboxMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return getClass().getSimpleName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerIdleTransitionCallback(ResourceCallback resourceCallback) {
|
||||
this.resourceCallback = resourceCallback;
|
||||
}
|
||||
|
||||
public MapboxMap getMapboxMap() {
|
||||
return mapboxMap;
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,6 @@ public class TestConstants {
|
||||
public static final double TILT_DELTA = 0.3;
|
||||
public static final double ZOOM_DELTA = 0.3;
|
||||
|
||||
public static final String TEXT_MARKER_TEXT = "Text";
|
||||
public static final String TEXT_MARKER_TITLE = "Marker";
|
||||
public static final String TEXT_MARKER_SNIPPET = "Snippet";
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.testapp.utils;
|
||||
|
||||
import android.support.annotation.IdRes;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.action.ViewActions.click;
|
||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||
|
||||
public class ViewUtils {
|
||||
|
||||
public static void clickView(@IdRes int viewRes) {
|
||||
onView(withId(viewRes))
|
||||
.perform(click());
|
||||
}
|
||||
|
||||
public static void checkViewIsDisplayed(int id) {
|
||||
onView(withId(id))
|
||||
.check(matches(isDisplayed()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user