summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2017-11-06 13:28:39 -0800
committerChris Loer <chris.loer@mapbox.com>2017-11-06 14:08:52 -0800
commitfea1d052c8ff60eb6332e69f9d48097a910d3a3b (patch)
treefd1e90ab5ccbb9323bacd300fddf92abae63c96e
parentbc4f35cd7b743b04d1910ab28a612d1c49be910d (diff)
downloadqtlocation-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.cpp2
-rw-r--r--test/api/annotations.test.cpp8
-rw-r--r--test/fixtures/map/offline/expected.pngbin49710 -> 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
index 7efcf2f598..0005137ae3 100644
--- a/test/fixtures/map/offline/expected.png
+++ b/test/fixtures/map/offline/expected.png
Binary files differ