diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GestureLayoutTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GestureLayoutTest.java index 5f2724a3..8617b892 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GestureLayoutTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GestureLayoutTest.java @@ -3,10 +3,13 @@ package com.otaliastudios.cameraview; import android.annotation.TargetApi; import android.content.Context; +import android.support.test.espresso.Espresso; +import android.support.test.espresso.ViewInteraction; import android.support.test.rule.ActivityTestRule; import android.view.MotionEvent; import android.view.View; +import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Rule; @@ -40,8 +43,11 @@ public abstract class GestureLayoutTest extends BaseTes return true; } }); - layout.setId(View.generateViewId()); } }); } + + protected ViewInteraction onLayout() { + return Espresso.onView(Matchers.is(layout)); + } } diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/PinchGestureLayoutTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/PinchGestureLayoutTest.java index df6b3376..d1af6e1d 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/PinchGestureLayoutTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/PinchGestureLayoutTest.java @@ -68,7 +68,7 @@ public class PinchGestureLayoutTest extends GestureLayoutTest { public void testTap() { touch.listen(); touch.start(); - Size size = rule.getActivity().getContentSize(); - int x = (int) (size.getWidth() / 2f); - int y = (int) (size.getHeight() / 2f); - onView(withId(layout.getId())).perform(click(x, y)); + GeneralClickAction a = new GeneralClickAction(Tap.SINGLE, + GeneralLocation.CENTER, Press.FINGER, + InputDevice.SOURCE_UNKNOWN, MotionEvent.BUTTON_PRIMARY); + onLayout().perform(a); Gesture found = touch.await(500, TimeUnit.MILLISECONDS); + assertEquals(found, Gesture.TAP); - assertEquals(layout.getPoints()[0].x, x, 1); - assertEquals(layout.getPoints()[0].y, y, 1); + Size size = rule.getActivity().getContentSize(); + assertEquals(layout.getPoints()[0].x, (size.getWidth() / 2f), 1f); + assertEquals(layout.getPoints()[0].y, (size.getHeight() / 2f), 1f); } @Test @@ -51,10 +59,7 @@ public class TapGestureLayoutTest extends GestureLayoutTest { layout.enable(false); touch.listen(); touch.start(); - Size size = rule.getActivity().getContentSize(); - int x = (int) (size.getWidth() / 2f); - int y = (int) (size.getHeight() / 2f); - onView(withId(layout.getId())).perform(click(x, y)); + onLayout().perform(click()); Gesture found = touch.await(500, TimeUnit.MILLISECONDS); assertNull(found); } @@ -63,11 +68,14 @@ public class TapGestureLayoutTest extends GestureLayoutTest { public void testLongTap() { touch.listen(); touch.start(); - Size size = rule.getActivity().getContentSize(); - int x = (int) (size.getWidth() / 2f); - int y = (int) (size.getHeight() / 2f); - onView(withId(layout.getId())).perform(longClick()); + GeneralClickAction a = new GeneralClickAction(Tap.LONG, + GeneralLocation.CENTER, Press.FINGER, + InputDevice.SOURCE_UNKNOWN, MotionEvent.BUTTON_PRIMARY); + onLayout().perform(a); Gesture found = touch.await(500, TimeUnit.MILLISECONDS); assertEquals(found, Gesture.LONG_TAP); + Size size = rule.getActivity().getContentSize(); + assertEquals(layout.getPoints()[0].x, (size.getWidth() / 2f), 1f); + assertEquals(layout.getPoints()[0].y, (size.getHeight() / 2f), 1f); } }