diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-09-11 19:11:40 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-09-12 00:40:08 +0300 |
commit | 6899337f86625f78929c04de22351d1021947f5b (patch) | |
tree | 20fd4fb8133eb95f205cd3224cdc80387bcf6f3f /test/map | |
parent | 8af78ddbb9744f61d14f9e611aeffc08edd9ac0c (diff) | |
download | qtlocation-mapboxgl-6899337f86625f78929c04de22351d1021947f5b.tar.gz |
[core] Add Map.Issue15342 unit test
The newly added test checks the fix for constant repaint,
caused by `RenderSource::hasFadingTiles()` returning `true` all the time.
Diffstat (limited to 'test/map')
-rw-r--r-- | test/map/map.test.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/map/map.test.cpp b/test/map/map.test.cpp index c2a79f5f1b..09e1b92336 100644 --- a/test/map/map.test.cpp +++ b/test/map/map.test.cpp @@ -877,4 +877,53 @@ TEST(Map, Issue15216) { test.map.getStyle().addLayer(std::make_unique<RasterLayer>("RasterLayer", "ImageSource")); // Passes, if there is no assertion hit. test.runLoop.runOnce(); +} + +// https://github.com/mapbox/mapbox-gl-native/issues/15342 +// Tests the fix for constant repaint caused by `RenderSource::hasFadingTiles()` returning `true` all the time. +TEST(Map, Issue15342) { + MapTest<> test { 1, MapMode::Continuous }; + + test.fileSource->tileResponse = [&](const Resource&) { + Response result; + result.data = std::make_shared<std::string>(util::read_file("test/fixtures/map/issue12432/0-0-0.mvt")); + return result; + }; + test.map.jumpTo(CameraOptions().withZoom(3.0)); + test.map.getStyle().loadJSON(R"STYLE({ + "version": 8, + "sources": { + "mapbox": { + "type": "vector", + "tiles": ["http://example.com/{z}-{x}-{y}.vector.pbf"] + } + }, + "layers": [{ + "id": "water", + "type": "fill", + "source": "mapbox", + "source-layer": "water" + }] + })STYLE"); + + test.observer.didFinishLoadingMapCallback = [&]() { + test.map.getStyle().loadJSON(R"STYLE({ + "version": 8, + "sources": { + "mapbox": { + "type": "vector", + "tiles": ["http://example.com/{z}-{x}-{y}.vector.pbf"] + } + }, + "layers": [] + })STYLE"); + test.map.jumpTo(CameraOptions().withZoom(20.0)); + test.observer.didFinishRenderingFrameCallback = [&] (MapObserver::RenderFrameStatus status) { + if (!status.needsRepaint) { + test.runLoop.stop(); + } + }; + }; + + test.runLoop.run(); }
\ No newline at end of file |