diff options
author | Chris Loer <chris.loer@gmail.com> | 2017-11-06 13:28:39 -0800 |
---|---|---|
committer | Chris Loer <chris.loer@mapbox.com> | 2017-11-06 14:08:52 -0800 |
commit | fea1d052c8ff60eb6332e69f9d48097a910d3a3b (patch) | |
tree | fd1e90ab5ccbb9323bacd300fddf92abae63c96e | |
parent | bc4f35cd7b743b04d1910ab28a612d1c49be910d (diff) | |
download | qtlocation-mapboxgl-fea1d052c8ff60eb6332e69f9d48097a910d3a3b.tar.gz |
Fix unit tests:
- Include "symbolBucketsChanged" in deciding whether to swap out last placement result for new placement. Even if no cross-tile symbol opacities have changed, we need to swap placements if any of the buckets have changed because the CollisionIndex will contain updated tile IDs.
- Offline map fixture was affected by Shaping change from int->float, reset expected
- Annotations#QueryFractionalZoomLevels/VisibleFeatures are densely placed enough on a 256px screen to trigger duplicate symbol detection on crossing zoom levels (which leads to some of the markers being hidden). Space out markers to avoid this problem.
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 2 | ||||
-rw-r--r-- | test/api/annotations.test.cpp | 8 | ||||
-rw-r--r-- | test/fixtures/map/offline/expected.png | bin | 49710 -> 48705 bytes |
3 files changed, 5 insertions, 5 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index 57135fb1fb..bccdb576a7 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -383,7 +383,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { } placementChanged = newPlacement->commit(*placement, parameters.timePoint); - if (placementChanged) { + if (placementChanged || symbolBucketsChanged) { placement = std::move(newPlacement); } diff --git a/test/api/annotations.test.cpp b/test/api/annotations.test.cpp index 9e622f780a..f3d270c459 100644 --- a/test/api/annotations.test.cpp +++ b/test/api/annotations.test.cpp @@ -366,8 +366,8 @@ TEST(Annotations, QueryFractionalZoomLevels) { test.map.addAnnotationImage(namedMarker("default_marker")); std::vector<mbgl::AnnotationID> ids; - for (int longitude = 0; longitude < 10; ++longitude) { - for (int latitude = 0; latitude < 10; ++latitude) { + for (int longitude = 0; longitude < 10; longitude += 2) { + for (int latitude = 0; latitude < 10; latitude += 2) { ids.push_back(test.map.addAnnotation(SymbolAnnotation { { double(latitude), double(longitude) }, "default_marker" })); } } @@ -399,8 +399,8 @@ TEST(Annotations, VisibleFeatures) { test.map.setLatLngZoom({ 5, 5 }, 3); std::vector<mbgl::AnnotationID> ids; - for (int longitude = 0; longitude < 10; ++longitude) { - for (int latitude = 0; latitude <= 10; ++latitude) { + for (int longitude = 0; longitude < 10; longitude += 2) { + for (int latitude = 0; latitude <= 10; latitude += 2) { ids.push_back(test.map.addAnnotation(SymbolAnnotation { { double(latitude), double(longitude) }, "default_marker" })); } } diff --git a/test/fixtures/map/offline/expected.png b/test/fixtures/map/offline/expected.png Binary files differindex 7efcf2f598..0005137ae3 100644 --- a/test/fixtures/map/offline/expected.png +++ b/test/fixtures/map/offline/expected.png |