From e7562a297492663fe41d680e000a3c2cde9ac376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Paczos?= Date: Tue, 26 Feb 2019 12:49:05 +0100 Subject: [android] replace remaining hardcoded delays with the idle event --- .../java/com/mapbox/mapboxsdk/testapp/maps/StyleLoadTest.kt | 5 +++-- .../mapboxsdk/testapp/style/CustomGeometrySourceTest.kt | 11 ++++++----- .../com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java | 6 +++--- .../mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java | 12 ++++++------ 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/StyleLoadTest.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/StyleLoadTest.kt index 1397ea95c7..84af279bd0 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/StyleLoadTest.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/StyleLoadTest.kt @@ -10,6 +10,7 @@ import com.mapbox.mapboxsdk.style.sources.GeoJsonSource import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction import com.mapbox.mapboxsdk.testapp.activity.EspressoTest import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity +import com.mapbox.mapboxsdk.testapp.utils.TestingAsyncUtils import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -32,9 +33,9 @@ class StyleLoadTest : EspressoTest() { val source = GeoJsonSource("id") val layer = SymbolLayer("id", "id") mapboxMap.setStyle(Style.Builder().withSource(source).withLayer(layer)) - uiController.loopMainThreadForAtLeast(100) + TestingAsyncUtils.waitForLayer(uiController, mapView) mapboxMap.setStyle(Style.Builder().fromUrl(Style.MAPBOX_STREETS)) - uiController.loopMainThreadForAtLeast(100) + TestingAsyncUtils.waitForLayer(uiController, mapView) source.setGeoJson("{}") } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CustomGeometrySourceTest.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CustomGeometrySourceTest.kt index f79d802e5e..eb458ab8f5 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CustomGeometrySourceTest.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CustomGeometrySourceTest.kt @@ -12,6 +12,7 @@ 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 +import com.mapbox.mapboxsdk.testapp.utils.TestingAsyncUtils import org.junit.Assert import org.junit.Ignore import org.junit.Test @@ -41,9 +42,9 @@ class CustomGeometrySourceTest : BaseTest() { validateTestSetup() invoke(mapboxMap) { uiController, mapboxMap -> mapboxMap.style!!.removeLayer(ID_GRID_LAYER) - uiController.loopMainThreadForAtLeast(3000) + TestingAsyncUtils.waitForLayer(uiController, idlingResource.mapView) mapboxMap.style!!.removeSource(ID_GRID_SOURCE) - uiController.loopMainThreadForAtLeast(1000) + TestingAsyncUtils.waitForLayer(uiController, idlingResource.mapView) Assert.assertTrue("There should be no threads running when the source is removed.", Thread.getAllStackTraces().keys.filter { it.name.startsWith(CustomGeometrySource.THREAD_PREFIX) @@ -57,12 +58,12 @@ class CustomGeometrySourceTest : BaseTest() { validateTestSetup() invoke(mapboxMap) { uiController, mapboxMap -> mapboxMap.style!!.removeLayer((rule.activity as GridSourceActivity).layer) - uiController.loopMainThreadForAtLeast(3000) + TestingAsyncUtils.waitForLayer(uiController, idlingResource.mapView) mapboxMap.style!!.removeSource(ID_GRID_SOURCE) - uiController.loopMainThreadForAtLeast(1000) + TestingAsyncUtils.waitForLayer(uiController, idlingResource.mapView) mapboxMap.style!!.addSource((rule.activity as GridSourceActivity).source) mapboxMap.style!!.addLayer((rule.activity as GridSourceActivity).layer) - uiController.loopMainThreadForAtLeast(1000) + TestingAsyncUtils.waitForLayer(uiController, idlingResource.mapView) Assert.assertTrue("Threads should be restarted when the source is re-added to the map.", Thread.getAllStackTraces().keys.filter { it.name.startsWith(CustomGeometrySource.THREAD_PREFIX) diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java index d08eaf3732..cf7bedeaea 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ExpressionTest.java @@ -250,7 +250,7 @@ public class ExpressionTest extends EspressoTest { ) )); mapboxMap.getStyle().addLayer(layer); - uiController.loopMainThreadForAtLeast(1000); + TestingAsyncUtils.INSTANCE.waitForLayer(uiController, idlingResource.getMapView()); assertFalse(mapboxMap.queryRenderedFeatures(mapboxMap.getProjection().toScreenLocation(latLng), "layer") .isEmpty()); @@ -260,7 +260,7 @@ public class ExpressionTest extends EspressoTest { literal(ColorUtils.colorToRgbaString(Color.RED)) ) )); - uiController.loopMainThreadForAtLeast(1000); + TestingAsyncUtils.INSTANCE.waitForLayer(uiController, idlingResource.getMapView()); assertFalse(mapboxMap.queryRenderedFeatures(mapboxMap.getProjection().toScreenLocation(latLng), "layer") .isEmpty()); @@ -270,7 +270,7 @@ public class ExpressionTest extends EspressoTest { literal(ColorUtils.colorToRgbaString(Color.RED)) ) )); - uiController.loopMainThreadForAtLeast(1000); + TestingAsyncUtils.INSTANCE.waitForLayer(uiController, idlingResource.getMapView()); assertFalse(mapboxMap.queryRenderedFeatures(mapboxMap.getProjection().toScreenLocation(latLng), "layer") .isEmpty()); }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java index 51c85179b6..92d060fee4 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java @@ -16,6 +16,7 @@ import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction; import com.mapbox.mapboxsdk.testapp.activity.EspressoTest; import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils; +import com.mapbox.mapboxsdk.testapp.utils.TestingAsyncUtils; import org.hamcrest.Matcher; import org.junit.Test; @@ -26,7 +27,7 @@ import java.io.IOException; import timber.log.Timber; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; /** * Tests for {@link GeoJsonSource} @@ -93,11 +94,10 @@ public class GeoJsonSourceTests extends EspressoTest { } source.setGeoJson(Point.fromLngLat(20, 55)); - uiController.loopMainThreadForAtLeast(1000); - assertTrue( - mapboxMap.queryRenderedFeatures( - mapboxMap.getProjection().toScreenLocation( - new LatLng(55, 20)), "layer").size() == 1); + TestingAsyncUtils.INSTANCE.waitForLayer(uiController, idlingResource.getMapView()); + assertEquals(1, mapboxMap.queryRenderedFeatures( + mapboxMap.getProjection().toScreenLocation( + new LatLng(55, 20)), "layer").size()); }); } -- cgit v1.2.1