summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2016-02-12 09:52:29 +0100
committerTobrun <tobrun@mapbox.com>2016-02-12 09:52:29 +0100
commita20225bbf1d3229847bc5b36dacd8babc6d55945 (patch)
treefa19187b910ec7e3e0ea77ee97e6b0b16e7efad5
parent076f29ca300e7e718a76eaf8fb60fc214dd0d29f (diff)
downloadqtlocation-mapboxgl-a20225bbf1d3229847bc5b36dacd8babc6d55945.tar.gz
[android] #3919 - restore espresso tests
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java12
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/MainActivityScreenTest.java29
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/DrawerUtils.java29
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/GestureUtils.java17
5 files changed, 73 insertions, 26 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
index 2789e85ed8..76d825516c 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapFragment.java
@@ -2,6 +2,7 @@ package com.mapbox.mapboxsdk.maps;
import android.app.Fragment;
import android.os.Bundle;
+import android.os.Handler;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
@@ -29,7 +30,7 @@ public class MapFragment extends Fragment {
private MapView mMap;
- public static MapFragment newInstance(){
+ public static MapFragment newInstance() {
return new MapFragment();
}
@@ -94,7 +95,12 @@ public class MapFragment extends Fragment {
}
@NonNull
- public void getMapAsync(@NonNull OnMapReadyCallback onMapReadyCallback){
- mMap.getMapAsync(onMapReadyCallback);
+ public void getMapAsync(@NonNull final OnMapReadyCallback onMapReadyCallback) {
+ new Handler().post(new Runnable() {
+ @Override
+ public void run() {
+ mMap.getMapAsync(onMapReadyCallback);
+ }
+ });
}
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
index 147cd31b5a..d736cc2a10 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/SupportMapFragment.java
@@ -1,6 +1,7 @@
package com.mapbox.mapboxsdk.maps;
import android.os.Bundle;
+import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
@@ -29,7 +30,7 @@ public class SupportMapFragment extends Fragment {
private MapView mMap;
- public static SupportMapFragment newInstance(){
+ public static SupportMapFragment newInstance() {
return new SupportMapFragment();
}
@@ -94,7 +95,12 @@ public class SupportMapFragment extends Fragment {
}
@NonNull
- public void getMapAsync(@NonNull OnMapReadyCallback onMapReadyCallback){
- mMap.getMapAsync(onMapReadyCallback);
+ public void getMapAsync(@NonNull final OnMapReadyCallback onMapReadyCallback) {
+ new Handler().post(new Runnable() {
+ @Override
+ public void run() {
+ mMap.getMapAsync(onMapReadyCallback);
+ }
+ });
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/MainActivityScreenTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/MainActivityScreenTest.java
index bbfa4ec73a..8c6e9c50b1 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/MainActivityScreenTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/MainActivityScreenTest.java
@@ -4,17 +4,18 @@ import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.LargeTest;
+import com.mapbox.mapboxsdk.testapp.utils.DrawerUtils;
+import com.mapbox.mapboxsdk.testapp.utils.GestureUtils;
+import com.mapbox.mapboxsdk.testapp.utils.ScreenshotUtil;
+
import org.junit.Before;
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.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.doubleClick;
-import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
-import static android.support.test.espresso.matcher.ViewMatchers.withText;
/**
* Tests on MainActivity with screenshots
@@ -23,8 +24,6 @@ import static android.support.test.espresso.matcher.ViewMatchers.withText;
@LargeTest
public class MainActivityScreenTest extends BaseTest {
- private final static String HOME_BUTTON_STRING = "Navigate up";
-
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(
MainActivity.class);
@@ -44,23 +43,13 @@ public class MainActivityScreenTest extends BaseTest {
/*
* Take a screenshot of Mapbox Streets to monitor #1649
*/
-
@Test
public void testMapboxStreetsBlackAndWhite() {
- // Click home and switch to Mapbox streets
- onView(withContentDescription(HOME_BUTTON_STRING))
- .perform(click());
- onView(withText(R.string.styleMapboxStreets))
- .perform(click());
-
- // Zoom in
- onView(withId(R.id.mainMapView))
- .perform(doubleClick());
- onView(withId(R.id.mainMapView))
- .perform(doubleClick());
-
- // Standard screenshot
- takeNamedScreenshot(mActivity, "testMapboxStreetsBlackAndWhite");
+ DrawerUtils.openDrawer();
+ DrawerUtils.clickItem(R.string.styleEmerald);
+ GestureUtils.doubleClickGesture(R.id.mainMapView);
+ GestureUtils.doubleClickGesture(R.id.mainMapView);
+ takeNamedScreenshot(mActivity, "testEmeraldStyle");
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/DrawerUtils.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/DrawerUtils.java
new file mode 100644
index 0000000000..8d8905fdf4
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/DrawerUtils.java
@@ -0,0 +1,29 @@
+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 final static 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());
+ }
+
+}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/GestureUtils.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/GestureUtils.java
new file mode 100644
index 0000000000..37c18399e4
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/GestureUtils.java
@@ -0,0 +1,17 @@
+package com.mapbox.mapboxsdk.testapp.utils;
+
+import android.support.annotation.IdRes;
+
+import com.mapbox.mapboxsdk.testapp.R;
+
+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());
+ }
+
+}