From 70c2d5a4cabcd87bc4e6e564fcd6dfa10bd4c521 Mon Sep 17 00:00:00 2001 From: Chris Loer Date: Thu, 6 Dec 2018 13:31:42 +0200 Subject: [core, darwin, android] Add onDidEnterIdle to MapObserver. didEnterIdle fires whenever render completes and no repaint is scheduled. --- .../mapboxsdk/maps/MapChangeReceiverTest.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'platform/android/MapboxGLAndroidSDK/src/test') diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapChangeReceiverTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapChangeReceiverTest.java index 061fa7819a..848cf4a804 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapChangeReceiverTest.java +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapChangeReceiverTest.java @@ -55,6 +55,9 @@ public class MapChangeReceiverTest { @Mock private MapView.OnDidFinishRenderingMapListener onDidFinishRenderingMapListener; + @Mock + private MapView.OnDidEnterIdleListener onDidEnterIdleListener; + @Mock private MapView.OnDidFinishLoadingStyleListener onDidFinishLoadingStyleListener; @@ -491,6 +494,36 @@ public class MapChangeReceiverTest { } } + @Test + public void testOnDidEnterIdleListener() { + mapChangeEventManager.addOnDidEnterIdleListener(onDidEnterIdleListener); + mapChangeEventManager.onDidEnterIdle(); + verify(onDidEnterIdleListener).onDidEnterIdle(); + mapChangeEventManager.removeOnDidEnterIdleListener(onDidEnterIdleListener); + mapChangeEventManager.onDidEnterIdle(); + verify(onDidEnterIdleListener).onDidEnterIdle(); + + mapChangeEventManager.addOnDidEnterIdleListener(onDidEnterIdleListener); + Logger.setLoggerDefinition(loggerDefinition); + Exception exc = new RuntimeException(); + doThrow(exc).when(onDidEnterIdleListener).onDidEnterIdle(); + try { + mapChangeEventManager.onDidEnterIdle(); + Assert.fail("The exception should've been re-thrown."); + } catch (RuntimeException throwable) { + verify(loggerDefinition).e(anyString(), anyString(), eq(exc)); + } + + Error err = new ExecutionError("", new Error()); + doThrow(err).when(onDidEnterIdleListener).onDidEnterIdle(); + try { + mapChangeEventManager.onDidEnterIdle(); + Assert.fail("The exception should've been re-thrown."); + } catch (ExecutionError throwable) { + verify(loggerDefinition).e(anyString(), anyString(), eq(err)); + } + } + @Test public void testOnDidFinishLoadingStyleListener() { mapChangeEventManager.addOnDidFinishLoadingStyleListener(onDidFinishLoadingStyleListener); -- cgit v1.2.1