diff options
author | Cameron Mace <cameron@mapbox.com> | 2016-12-16 16:19:15 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-16 16:19:15 -0500 |
commit | 20b958301eb208fe9ed0ae8edfb14b6f3741d8f2 (patch) | |
tree | 94ae0ce250cda159be13f9a21cc70c92d4908974 /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/MyLocationViewTest.java | |
parent | f95b4838ea816b9da0c151a953a1f98f97c79a39 (diff) | |
download | qtlocation-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.java | 318 |
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; } + } } |