diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2016-11-14 12:07:14 +0100 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2016-11-14 14:05:18 +0100 |
commit | 36dea5ea0d3ca294d61cd030d23644a312e223a1 (patch) | |
tree | b0504dd351e8d20eaef0c260d9af3f004c2d8a8c /platform/android/MapboxGLAndroidSDKTestApp | |
parent | 8d53f9f09191b390a5a6f31b41714a8178ed326b (diff) | |
download | qtlocation-mapboxgl-36dea5ea0d3ca294d61cd030d23644a312e223a1.tar.gz |
[android] return source ownership on remove
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java index 1ed4fdf110..478f13c126 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java @@ -14,6 +14,7 @@ import com.mapbox.mapboxsdk.style.layers.NoSuchLayerException; import com.mapbox.mapboxsdk.style.layers.Property; import com.mapbox.mapboxsdk.style.layers.PropertyFactory; import com.mapbox.mapboxsdk.style.sources.NoSuchSourceException; +import com.mapbox.mapboxsdk.style.sources.Source; import com.mapbox.mapboxsdk.style.sources.VectorSource; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.activity.style.RuntimeStyleTestActivity; @@ -73,6 +74,8 @@ public class RuntimeStyleTests { } catch (NoSuchSourceException e) { // it's ok.. } + + onView(withId(R.id.mapView)).perform(new AddRemoveSourceAction()); } private class AddRemoveLayerAction implements ViewAction { @@ -129,6 +132,52 @@ public class RuntimeStyleTests { } } + private class AddRemoveSourceAction implements ViewAction { + + @Override + public Matcher<View> getConstraints() { + return isDisplayed(); + } + + @Override + public String getDescription() { + return getClass().getSimpleName(); + } + + @Override + public void perform(UiController uiController, View view) { + MapboxMap mapboxMap = rule.getActivity().getMapboxMap(); + + //Add initial source + mapboxMap.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2")); + + //Remove + try { + mapboxMap.removeSource("my-source"); + } catch (NoSuchSourceException e) { + fail("Definitively exists: " + e.getMessage()); + } + assertNull(mapboxMap.getLayer("my-source")); + + //Add + Source source = new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"); + mapboxMap.addSource(source); + + //Remove, preserving the reference + try { + mapboxMap.removeSource(source); + } catch (NoSuchSourceException e) { + fail("Definitively exists: " + e.getMessage()); + } + + //Re-add the reference... + mapboxMap.addSource(source); + + //Ensure it's there + Assert.assertNotNull(mapboxMap.getSource(source.getId())); + } + } + @After public void unregisterIntentServiceIdlingResource() { Espresso.unregisterIdlingResources(idlingResource); |