diff options
author | Ander Conselvan de Oliveira <ander.deoliveira@mapbox.com> | 2019-03-08 12:43:05 +0200 |
---|---|---|
committer | Ander Conselvan de Oliveira <ander.deoliveira@mapbox.com> | 2019-03-14 18:33:11 +0200 |
commit | 57334407473a31ff43baa645dafd2f5e1bd910fb (patch) | |
tree | e981f87c0040799a1ebc45f86d05b3ece6916aba /test | |
parent | 11de777628e9e2c4b219bae3f1a6eabd86f2a3c5 (diff) | |
download | qtlocation-mapboxgl-57334407473a31ff43baa645dafd2f5e1bd910fb.tar.gz |
[core] Group Map LatLngBounds, min and max zoom methods
Group bounds, minimum and maximum zoom related methods together using
the new BoundOptions.
v2: Document that getBounds() initializes all optional fields.
- Add test for getBounds() on a map with default values.
Diffstat (limited to 'test')
-rw-r--r-- | test/api/annotations.test.cpp | 10 | ||||
-rw-r--r-- | test/map/map.test.cpp | 26 |
2 files changed, 31 insertions, 5 deletions
diff --git a/test/api/annotations.test.cpp b/test/api/annotations.test.cpp index 89ce357d84..aad85f8d57 100644 --- a/test/api/annotations.test.cpp +++ b/test/api/annotations.test.cpp @@ -85,7 +85,7 @@ TEST(Annotations, LineAnnotation) { test.map.addAnnotation(annotation); test.checkRendering("line_annotation"); - test.map.jumpTo(CameraOptions().withZoom(test.map.getMaxZoom())); + test.map.jumpTo(CameraOptions().withZoom(*test.map.getBounds().maxZoom)); test.checkRendering("line_annotation_max_zoom"); } @@ -100,7 +100,7 @@ TEST(Annotations, FillAnnotation) { test.map.addAnnotation(annotation); test.checkRendering("fill_annotation"); - test.map.jumpTo(CameraOptions().withZoom(test.map.getMaxZoom())); + test.map.jumpTo(CameraOptions().withZoom(*test.map.getBounds().maxZoom)); test.checkRendering("fill_annotation_max_zoom"); } @@ -481,11 +481,11 @@ TEST(Annotations, ChangeMaxZoom) { annotation.color = Color::red(); annotation.width = { 5 }; - test.map.setMaxZoom(6); + test.map.setBounds(BoundOptions().withMaxZoom(6)); test.map.getStyle().loadJSON(util::read_file("test/fixtures/api/empty.json")); test.map.addAnnotation(annotation); - test.map.setMaxZoom(14); - test.map.jumpTo(CameraOptions().withZoom(test.map.getMaxZoom())); + test.map.setBounds(BoundOptions().withMaxZoom(14)); + test.map.jumpTo(CameraOptions().withZoom(*test.map.getBounds().maxZoom)); test.checkRendering("line_annotation_max_zoom"); } diff --git a/test/map/map.test.cpp b/test/map/map.test.cpp index 0197202a9d..410a7e76af 100644 --- a/test/map/map.test.cpp +++ b/test/map/map.test.cpp @@ -282,6 +282,32 @@ TEST(Map, ProjectionMode) { EXPECT_EQ(*options.ySkew, 0.0); } +TEST(Map, BoundOptions) { + MapTest<> test; + + LatLngBounds llb = LatLngBounds::hull({-10, -10}, {10, 10}); + test.map.setBounds(BoundOptions().withMinZoom(4).withMaxZoom(10).withLatLngBounds(llb)); + auto bounds = test.map.getBounds(); + + EXPECT_EQ(*bounds.minZoom, 4); + EXPECT_EQ(*bounds.maxZoom, 10); + EXPECT_EQ(*bounds.bounds, llb); +} + +TEST(Map, DefaultBoundOptions) { + MapTest<> test; + + auto bounds = test.map.getBounds(); + + EXPECT_TRUE(bounds.minZoom); + EXPECT_TRUE(bounds.maxZoom); + EXPECT_TRUE(bounds.bounds); + + EXPECT_EQ(*bounds.minZoom, util::MIN_ZOOM); + EXPECT_EQ(*bounds.maxZoom, util::DEFAULT_MAX_ZOOM); + EXPECT_EQ(*bounds.bounds, LatLngBounds::unbounded()); +} + TEST(Map, SetStyleInvalidJSON) { Log::setObserver(std::make_unique<FixtureLogObserver>()); |