From 842ee6b6f5e9cb17cff4654a8f7cbcacea72fdfd Mon Sep 17 00:00:00 2001 From: Mikhail Pozdnyakov Date: Thu, 9 May 2019 16:01:38 +0300 Subject: [android] Update ImageMissingTest Make sure that the `addOnStyleImageMissingListener` callback is invoked for missing images if sprite request has failed. --- .../mapboxsdk/testapp/maps/ImageMissingTest.kt | 60 ++++++++++++++++++++-- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/ImageMissingTest.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/ImageMissingTest.kt index c4ea4d2c19..ff862b6636 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/ImageMissingTest.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/ImageMissingTest.kt @@ -22,12 +22,19 @@ class ImageMissingTest { var rule = ActivityTestRule(EspressoTestActivity::class.java) private lateinit var mapView: MapView - private val latch = CountDownLatch(1) + private val latch = CountDownLatch(2) @Test fun testMissingImage() { rule.runOnUiThread { - initMap().addOnStyleImageMissingListener { + initMap(styleJson).addOnStyleImageMissingListener { + assertEquals("missing-icon", it) + latch.countDown() + } + } + + rule.runOnUiThread { + initMap(styleJsonInvalidSprite).addOnStyleImageMissingListener { assertEquals("missing-icon", it) latch.countDown() } @@ -38,9 +45,9 @@ class ImageMissingTest { } } - private fun initMap(): MapView { + private fun initMap(style :String): MapView { mapView = rule.activity.findViewById(R.id.mapView) - mapView.getMapAsync { it.setStyle(Style.Builder().fromJson(styleJson)) } + mapView.getMapAsync { it.setStyle(Style.Builder().fromJson(style)) } return mapView } @@ -87,5 +94,48 @@ class ImageMissingTest { }] } """ + + private const val styleJsonInvalidSprite = """ + { + "version": 8, + "name": "Mapbox Streets", + "sprite": "mapbox://sprites/mapbox/invalid", + "glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf", + "sources": { + "point": { + "type": "geojson", + "data": { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [0, 0] + } + } + } + }, + "layers": [{ + "id": "bg", + "type": "background", + "paint": { + "background-color": "#f00" + } + }, { + "id": "point", + "type": "circle", + "source": "point", + "paint": { + "circle-radius": 100 + } + }, { + "id": "icon", + "type": "symbol", + "source": "point", + "layout": { + "icon-image": "missing-icon" + } + }] + } + """ } -} \ No newline at end of file +} -- cgit v1.2.1