From 224e9e6261e332dc97b3fad3be58f3146d07b280 Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Sun, 13 Aug 2017 12:20:35 +0300 Subject: [PATCH] [test] Re-added API.ZoomHistory --- cmake/test-files.cmake | 1 + test/api/zoom_history.cpp | 65 ++++++++++++++++++++++++ test/fixtures/zoom_history/expected.png | Bin 0 -> 3894 bytes 3 files changed, 66 insertions(+) create mode 100644 test/api/zoom_history.cpp create mode 100644 test/fixtures/zoom_history/expected.png diff --git a/cmake/test-files.cmake b/cmake/test-files.cmake index aaf0271bd..027c34f31 100644 --- a/cmake/test-files.cmake +++ b/cmake/test-files.cmake @@ -18,6 +18,7 @@ set(MBGL_TEST_FILES test/api/custom_layer.test.cpp test/api/query.test.cpp test/api/recycle_map.cpp + test/api/zoom_history.cpp # gl test/gl/bucket.test.cpp diff --git a/test/api/zoom_history.cpp b/test/api/zoom_history.cpp new file mode 100644 index 000000000..3c60a5e2f --- /dev/null +++ b/test/api/zoom_history.cpp @@ -0,0 +1,65 @@ +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace mbgl; +using namespace mbgl::style; + +TEST(API, ZoomHistory) { + util::RunLoop loop; + + StubFileSource fileSource; + ThreadPool threadPool(4); + float pixelRatio { 1 }; + + HeadlessFrontend frontend { pixelRatio, fileSource, threadPool }; + auto map = std::make_unique(frontend, MapObserver::nullObserver(), frontend.getSize(), + pixelRatio, fileSource, threadPool, MapMode::Still); + + EXPECT_TRUE(map); + + map->getStyle().loadJSON(util::read_file("test/fixtures/api/empty.json")); + + auto source = std::make_unique("source"); + source->setGeoJSON({ LineString { { 45, -45 }, { -45, 45 } } }); + map->getStyle().addSource(std::move(source)); + + auto layer = std::make_unique("layer-1", "source"); + layer->setLineWidth(CameraFunction { ExponentialStops {{ { 0, 8 }, { 1, 16 } }} }); + layer->setLineDasharray({ std::vector { 1, 1 } }); + layer->setLineColor( { Color::black() } ); + map->getStyle().addLayer(std::move(layer)); + + layer = std::make_unique("layer-2", "source"); + layer->setLineWidth(CameraFunction { ExponentialStops {{ { 0, 4 }, { 1, 8 } }} }); + layer->setLineDasharray({ std::vector { 2, 2 } }); + layer->setLineColor( { Color::red() } ); + map->getStyle().addLayer(std::move(layer)); + + // ZoomHistory.lastIntegerZoom is 1. + map->setZoom(1.0); + frontend.render(*map); + + map->setZoom(0.0); + frontend.render(*map); + + // ZoomHistory.lastIntegerZoom should be 0. + map->setZoom(0.5); + test::checkImage("test/fixtures/zoom_history", frontend.render(*map), 0.0002); +} diff --git a/test/fixtures/zoom_history/expected.png b/test/fixtures/zoom_history/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..100dc508a4c9f2790456f1fad42f6318246b796f GIT binary patch literal 3894 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 ZFGTqbO_*HIA3%uC@#ZJZ%1*dP{~yA&Itu^* literal 0 HcmV?d00001