diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-04-25 14:44:46 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-06-02 14:51:39 -0700 |
commit | ba4a8a97316d65ab595bb7edf759f463bbd10049 (patch) | |
tree | a82f78acdec8732b7cd75862d086272d3ffefcb6 /test/map | |
parent | d7e1ecd19e321afaba631f9365b31e0a728a61c3 (diff) | |
download | qtlocation-mapboxgl-ba4a8a97316d65ab595bb7edf759f463bbd10049.tar.gz |
[tests] Add basic tests for Map::{add,remove}Layer
Diffstat (limited to 'test/map')
-rw-r--r-- | test/map/map.cpp | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/test/map/map.cpp b/test/map/map.cpp index 4ee44ca613..c6f6843a0d 100644 --- a/test/map/map.cpp +++ b/test/map/map.cpp @@ -8,15 +8,20 @@ #include <mbgl/storage/default_file_source.hpp> #include <mbgl/util/io.hpp> #include <mbgl/util/run_loop.hpp> +#include <mbgl/layer/background_layer.hpp> using namespace mbgl; using namespace std::literals::string_literals; -TEST(Map, Offline) { +struct MapTest { util::RunLoop runLoop; + std::shared_ptr<HeadlessDisplay> display { std::make_shared<mbgl::HeadlessDisplay>() }; + HeadlessView view { display, 1 }; + StubFileSource fileSource; +}; - auto display = std::make_shared<mbgl::HeadlessDisplay>(); - HeadlessView view(display, 1); +TEST(Map, Offline) { + MapTest test; DefaultFileSource fileSource(":memory:", "."); auto expiredItem = [] (const std::string& path) { @@ -35,7 +40,7 @@ TEST(Map, Offline) { fileSource.put(Resource::glyphs(prefix + "{fontstack}/{range}.pbf", {{"Helvetica"}}, {0, 255}), expiredItem("glyph.pbf")); NetworkStatus::Set(NetworkStatus::Status::Offline); - Map map(view, fileSource, MapMode::Still); + Map map(test.view, fileSource, MapMode::Still); map.setStyleURL(prefix + "style.json"); test::checkImage("test/fixtures/map/offline", @@ -47,13 +52,36 @@ TEST(Map, Offline) { } TEST(Map, DoubleStyleLoad) { - util::RunLoop runLoop; + MapTest test; - std::shared_ptr<HeadlessDisplay> display = std::make_shared<HeadlessDisplay>(); - HeadlessView view(display, 1, 512, 512); - StubFileSource fileSource; - - Map map(view, fileSource); + Map map(test.view, test.fileSource, MapMode::Still); map.setStyleJSON("", ""); map.setStyleJSON("", ""); } + +TEST(Map, AddLayer) { + MapTest test; + + Map map(test.view, test.fileSource, MapMode::Still); + map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), ""); + + auto layer = std::make_unique<BackgroundLayer>("background"); + layer->setBackgroundColor({{{ 1, 0, 0, 1 }}}); + map.addLayer(std::move(layer)); + + test::checkImage("test/fixtures/map/add_layer", test::render(map)); +} + +TEST(Map, RemoveLayer) { + MapTest test; + + Map map(test.view, test.fileSource, MapMode::Still); + map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), ""); + + auto layer = std::make_unique<BackgroundLayer>("background"); + layer->setBackgroundColor({{{ 1, 0, 0, 1 }}}); + map.addLayer(std::move(layer)); + map.removeLayer("background"); + + test::checkImage("test/fixtures/map/remove_layer", test::render(map)); +} |