summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java
diff options
context:
space:
mode:
authorCameron Mace <cameron@mapbox.com>2016-12-16 16:19:15 -0500
committerGitHub <noreply@github.com>2016-12-16 16:19:15 -0500
commit20b958301eb208fe9ed0ae8edfb14b6f3741d8f2 (patch)
tree94ae0ce250cda159be13f9a21cc70c92d4908974 /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java
parentf95b4838ea816b9da0c151a953a1f98f97c79a39 (diff)
downloadqtlocation-mapboxgl-20b958301eb208fe9ed0ae8edfb14b6f3741d8f2.tar.gz
Adds checkstyle to CI (#7442)
* adds checkstyle to CI * fixed gradlew path * resolved testapp checkstyle violations * added back mapboxMap variable for test * checkstyle annotations * checkstyle SDK round 1 * maps package checkstyle * rest of SDK checkstyle * checkstyle gesture library * checkstyle test * finished rest of test checkstyle * resolved all checkstyle errors * fixed class name * removed old test file * fixed camera postion test * fixed native crash
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java318
1 files changed, 161 insertions, 157 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java
index 05892dfc41..ac10d11922 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java
@@ -51,192 +51,196 @@ import static org.hamcrest.Matchers.not;
*/
public class MyLocationViewTest {
- @Rule
- public final ActivityTestRule<EspressoTestActivity> rule = new ActivityTestRule<>(EspressoTestActivity.class);
-
- private OnMapReadyIdlingResource idlingResource;
-
- @Before
- public void beforeTest() {
- idlingResource = new OnMapReadyIdlingResource(rule.getActivity());
- Espresso.registerIdlingResources(idlingResource);
+ @Rule
+ public final ActivityTestRule<EspressoTestActivity> rule = new ActivityTestRule<>(EspressoTestActivity.class);
+
+ private OnMapReadyIdlingResource idlingResource;
+
+ @Before
+ public void beforeTest() {
+ idlingResource = new OnMapReadyIdlingResource(rule.getActivity());
+ Espresso.registerIdlingResources(idlingResource);
+ }
+
+ @Test
+ @Ignore // requires runtime permissions, disabled for CI
+ public void testEnabled() {
+ ViewUtils.checkViewIsDisplayed(R.id.mapView);
+ MapboxMap mapboxMap = rule.getActivity().getMapboxMap();
+ onView(withId(R.id.userLocationView)).check(matches(not(isDisplayed())));
+ onView(withId(R.id.mapView)).perform(new ToggleLocationAction(mapboxMap, true));
+ onView(withId(R.id.userLocationView)).check(matches(isDisplayed()));
+ onView(withId(R.id.mapView)).perform(new ToggleLocationAction(mapboxMap, false));
+ onView(withId(R.id.userLocationView)).check(matches(not(isDisplayed())));
+ }
+
+ @Test
+ @Ignore
+ // requires runtime permissions, disabled for CI + issue with android.support.test.espresso.AppNotIdleException:
+ // Looped for 5049 iterations over 60 SECONDS.
+ public void testTracking() {
+ ViewUtils.checkViewIsDisplayed(R.id.mapView);
+ MapboxMap mapboxMap = rule.getActivity().getMapboxMap();
+ onView(withId(R.id.userLocationView)).check(matches(not(isDisplayed())));
+ onView(withId(R.id.mapView)).perform(new EnableLocationTrackingAction(mapboxMap));
+ onView(withId(R.id.userLocationView)).check(matches(isDisplayed()));
+ onView(withId(R.id.userLocationView)).check(matches(new DrawableMatcher(mapboxMap,
+ R.drawable.mapbox_mylocation_icon_default, false)));
+ onView(withId(R.id.mapView)).perform(new EnableCompassBearingTrackingAction(mapboxMap));
+ onView(withId(R.id.userLocationView)).check(matches(new DrawableMatcher(mapboxMap,
+ R.drawable.mapbox_mylocation_icon_bearing, true)));
+ }
+
+ @After
+ public void afterTest() {
+ Espresso.unregisterIdlingResources(idlingResource);
+ }
+
+ private class ToggleLocationAction implements ViewAction {
+
+ private MapboxMap mapboxMap;
+ private boolean isEnabled;
+
+ ToggleLocationAction(MapboxMap map, boolean enable) {
+ mapboxMap = map;
+ isEnabled = enable;
}
- @Test
- @Ignore // requires runtime permissions, disabled for CI
- public void testEnabled() {
- ViewUtils.checkViewIsDisplayed(R.id.mapView);
- MapboxMap mapboxMap = rule.getActivity().getMapboxMap();
- onView(withId(R.id.userLocationView)).check(matches(not(isDisplayed())));
- onView(withId(R.id.mapView)).perform(new ToggleLocationAction(mapboxMap, true));
- onView(withId(R.id.userLocationView)).check(matches(isDisplayed()));
- onView(withId(R.id.mapView)).perform(new ToggleLocationAction(mapboxMap, false));
- onView(withId(R.id.userLocationView)).check(matches(not(isDisplayed())));
+ @Override
+ public Matcher<View> getConstraints() {
+ return isDisplayed();
}
- @Test
- @Ignore // requires runtime permissions, disabled for CI + issue with android.support.test.espresso.AppNotIdleException: Looped for 5049 iterations over 60 SECONDS.
- public void testTracking() {
- ViewUtils.checkViewIsDisplayed(R.id.mapView);
- MapboxMap mapboxMap = rule.getActivity().getMapboxMap();
- onView(withId(R.id.userLocationView)).check(matches(not(isDisplayed())));
- onView(withId(R.id.mapView)).perform(new EnableLocationTrackingAction(mapboxMap));
- onView(withId(R.id.userLocationView)).check(matches(isDisplayed()));
- onView(withId(R.id.userLocationView)).check(matches(new DrawableMatcher(mapboxMap, R.drawable.mapbox_mylocation_icon_default, false)));
- onView(withId(R.id.mapView)).perform(new EnableCompassBearingTrackingAction(mapboxMap));
- onView(withId(R.id.userLocationView)).check(matches(new DrawableMatcher(mapboxMap, R.drawable.mapbox_mylocation_icon_bearing, true)));
+ @Override
+ public String getDescription() {
+ return getClass().getSimpleName();
}
- @After
- public void afterTest() {
- Espresso.unregisterIdlingResources(idlingResource);
+ @Override
+ public void perform(UiController uiController, View view) {
+ if (isEnabled) {
+ // move camera above user location
+ mapboxMap.moveCamera(
+ CameraUpdateFactory.newCameraPosition(
+ new CameraPosition.Builder()
+ .target(new LatLng(LocationServices.getLocationServices(view.getContext()).getLastLocation()))
+ .build()
+ )
+ );
+ }
+
+ // show loction on screen
+ mapboxMap.setMyLocationEnabled(isEnabled);
}
+ }
- private class ToggleLocationAction implements ViewAction {
+ private class EnableLocationTrackingAction implements ViewAction {
- private MapboxMap mapboxMap;
- private boolean isEnabled;
+ private MapboxMap mapboxMap;
- ToggleLocationAction(MapboxMap map, boolean enable) {
- mapboxMap = map;
- isEnabled = enable;
- }
-
- @Override
- public Matcher<View> getConstraints() {
- return isDisplayed();
- }
-
- @Override
- public String getDescription() {
- return getClass().getSimpleName();
- }
-
- @Override
- public void perform(UiController uiController, View view) {
- if (isEnabled) {
- // move camera above user location
- mapboxMap.moveCamera(
- CameraUpdateFactory.newCameraPosition(
- new CameraPosition.Builder()
- .target(new LatLng(LocationServices.getLocationServices(view.getContext()).getLastLocation()))
- .build()
- )
- );
- }
-
- // show loction on screen
- mapboxMap.setMyLocationEnabled(isEnabled);
- }
+ EnableLocationTrackingAction(MapboxMap map) {
+ mapboxMap = map;
}
- private class EnableLocationTrackingAction implements ViewAction {
-
- private MapboxMap mapboxMap;
-
- EnableLocationTrackingAction(MapboxMap map) {
- mapboxMap = map;
- }
-
- @Override
- public Matcher<View> getConstraints() {
- return isDisplayed();
- }
+ @Override
+ public Matcher<View> getConstraints() {
+ return isDisplayed();
+ }
- @Override
- public String getDescription() {
- return getClass().getSimpleName();
- }
+ @Override
+ public String getDescription() {
+ return getClass().getSimpleName();
+ }
- @Override
- public void perform(UiController uiController, View view) {
- mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);
- }
+ @Override
+ public void perform(UiController uiController, View view) {
+ mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);
}
+ }
- private class EnableCompassBearingTrackingAction implements ViewAction {
+ private class EnableCompassBearingTrackingAction implements ViewAction {
- private MapboxMap mapboxMap;
+ private MapboxMap mapboxMap;
- EnableCompassBearingTrackingAction(MapboxMap map) {
- mapboxMap = map;
- }
+ EnableCompassBearingTrackingAction(MapboxMap map) {
+ mapboxMap = map;
+ }
- @Override
- public Matcher<View> getConstraints() {
- return isDisplayed();
- }
+ @Override
+ public Matcher<View> getConstraints() {
+ return isDisplayed();
+ }
- @Override
- public String getDescription() {
- return getClass().getSimpleName();
- }
+ @Override
+ public String getDescription() {
+ return getClass().getSimpleName();
+ }
- @Override
- public void perform(UiController uiController, View view) {
- mapboxMap.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.COMPASS);
- // wait for next compass update cycle
- uiController.loopMainThreadForAtLeast(500);
- }
+ @Override
+ public void perform(UiController uiController, View view) {
+ mapboxMap.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.COMPASS);
+ // wait for next compass update cycle
+ uiController.loopMainThreadForAtLeast(500);
}
+ }
- private class DrawableMatcher extends TypeSafeMatcher<View> {
+ private class DrawableMatcher extends TypeSafeMatcher<View> {
- private MapboxMap mapboxMap;
- private boolean isBearingDrawable;
- private final int expectedId;
+ private MapboxMap mapboxMap;
+ private boolean isBearingDrawable;
+ private final int expectedId;
- DrawableMatcher(MapboxMap mapboxMap, int expectedId, boolean isBearingDrawable) {
- super(MyLocationView.class);
- this.mapboxMap = mapboxMap;
- this.expectedId = expectedId;
- this.isBearingDrawable = isBearingDrawable;
- }
+ DrawableMatcher(MapboxMap mapboxMap, int expectedId, boolean isBearingDrawable) {
+ super(MyLocationView.class);
+ this.mapboxMap = mapboxMap;
+ this.expectedId = expectedId;
+ this.isBearingDrawable = isBearingDrawable;
+ }
- @Override
- protected boolean matchesSafely(View target) {
- Drawable currentDrawable = isBearingDrawable ?
- mapboxMap.getMyLocationViewSettings().getForegroundBearingDrawable() :
- mapboxMap.getMyLocationViewSettings().getForegroundDrawable();
+ @Override
+ protected boolean matchesSafely(View target) {
+ Drawable currentDrawable = isBearingDrawable
+ ? mapboxMap.getMyLocationViewSettings().getForegroundBearingDrawable() :
+ mapboxMap.getMyLocationViewSettings().getForegroundDrawable();
- Resources resources = target.getContext().getResources();
- Drawable expectedDrawable = resources.getDrawable(expectedId);
- return areDrawablesIdentical(currentDrawable, expectedDrawable);
- }
+ Resources resources = target.getContext().getResources();
+ Drawable expectedDrawable = resources.getDrawable(expectedId);
+ return areDrawablesIdentical(currentDrawable, expectedDrawable);
+ }
- @Override
- public void describeTo(Description description) {
- description.appendText("trying to match MyLocationView drawable to " + expectedId);
- }
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("trying to match MyLocationView drawable to " + expectedId);
+ }
- boolean areDrawablesIdentical(Drawable drawableA, Drawable drawableB) {
- Drawable.ConstantState stateA = drawableA.getConstantState();
- Drawable.ConstantState stateB = drawableB.getConstantState();
- return (stateA != null && stateB != null && stateA.equals(stateB))
- || getBitmap(drawableA).sameAs(getBitmap(drawableB));
- }
+ boolean areDrawablesIdentical(Drawable drawableA, Drawable drawableB) {
+ Drawable.ConstantState stateA = drawableA.getConstantState();
+ Drawable.ConstantState stateB = drawableB.getConstantState();
+ return (stateA != null && stateB != null && stateA.equals(stateB))
+ || getBitmap(drawableA).sameAs(getBitmap(drawableB));
+ }
- Bitmap getBitmap(Drawable drawable) {
- Bitmap result;
- if (drawable instanceof BitmapDrawable) {
- result = ((BitmapDrawable) drawable).getBitmap();
- } else {
- int width = drawable.getIntrinsicWidth();
- int height = drawable.getIntrinsicHeight();
- // Some drawables have no intrinsic width - e.g. solid colours.
- if (width <= 0) {
- width = 1;
- }
- if (height <= 0) {
- height = 1;
- }
-
- result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(result);
- drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
- drawable.draw(canvas);
- }
- return result;
- }
+ Bitmap getBitmap(Drawable drawable) {
+ Bitmap result;
+ if (drawable instanceof BitmapDrawable) {
+ result = ((BitmapDrawable) drawable).getBitmap();
+ } else {
+ int width = drawable.getIntrinsicWidth();
+ int height = drawable.getIntrinsicHeight();
+ // Some drawables have no intrinsic width - e.g. solid colours.
+ if (width <= 0) {
+ width = 1;
+ }
+ if (height <= 0) {
+ height = 1;
+ }
+
+ result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(result);
+ drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+ drawable.draw(canvas);
+ }
+ return result;
}
+ }
}