Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
[android] MapboxMap.animate() and Mapbox.easeCamera() should throw Il…
Browse files Browse the repository at this point in the history
…legalArgument

if non-positive duration is passed in
  • Loading branch information
Osana Babayan authored and “osana” committed Oct 30, 2017
1 parent 484c04a commit ca1282e
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -834,6 +834,10 @@ public final void easeCamera(final CameraUpdate update, final int durationMs, fi
*/
public final void easeCamera(final CameraUpdate update, final int durationMs, final boolean easingInterpolator,
final MapboxMap.CancelableCallback callback, final boolean isDismissable) {

if (durationMs <= 0) {
throw new IllegalArgumentException("Null duration passed into easeCamera");
}
new Handler().post(new Runnable() {
@Override
public void run() {
Expand Down Expand Up @@ -906,6 +910,9 @@ public final void animateCamera(CameraUpdate update, int durationMs) {
*/
public final void animateCamera(final CameraUpdate update, final int durationMs,
final MapboxMap.CancelableCallback callback) {
if (durationMs <= 0) {
throw new IllegalArgumentException("Null duration passed into animageCamera");
}
new Handler().post(new Runnable() {
@Override
public void run() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.mapbox.mapboxsdk.maps;

import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.widgets.MyLocationViewSettings;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import static org.mockito.Mockito.mock;

public class MapboxMapTest {

private MapboxMap mapboxMap;

@Before
public void beforeTest() {

mapboxMap = new MapboxMap(mock(NativeMapView.class),
mock(Transform.class),
mock(UiSettings.class),
mock(TrackingSettings.class),
mock(MyLocationViewSettings.class),
mock(Projection.class),
mock(MapboxMap.OnRegisterTouchListener.class),
mock(AnnotationManager.class),
mock(CameraChangeDispatcher.class));
}

@Test(expected = IllegalArgumentException.class)
public void testAnimateCameraChecksDurationPositive() {
mapboxMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(30.0, 30.0)),
0, null);
}

@Test(expected = IllegalArgumentException.class)
public void testEaseCameraChecksDurationPositive() {
mapboxMap.easeCamera(CameraUpdateFactory.newLatLng(new LatLng(30.0, 30.0)),
0, null);
}

@After
public void afterTest() {
mapboxMap = null;
}
}

0 comments on commit ca1282e

Please sign in to comment.