diff --git a/test/fixtures/resources/style-unused-sources.json b/test/fixtures/resources/style-unused-sources.json new file mode 100644 index 000000000..f87166a67 --- /dev/null +++ b/test/fixtures/resources/style-unused-sources.json @@ -0,0 +1,36 @@ +{ + "version": 8, + "name": "Test", + "sources": { + "usedsource": { + "url": "test/fixtures/resources/source_vector.json", + "type": "vector" + }, + "unusedsource": { + "url": "test/fixtures/resources/source_vector.json", + "type": "vector" + } + }, + "sprite": "test/fixtures/resources/sprite", + "glyphs": "test/fixtures/resources/glyphs.pbf", + "layers": [{ + "id": "usedlayer", + "type": "symbol", + "source": "usedsource" + }, { + "id": "unusedlayeropacity", + "type": "symbol", + "source": "unusedsource", + "paint" : { + "icon-opacity" : 0, + "text-opacity" : 0 + } + }, { + "id": "unusedlayervisibility", + "type": "symbol", + "source": "unusedsource", + "layout" : { + "visibility" : "none" + } + }] +} diff --git a/test/style/unused_sources.cpp b/test/style/unused_sources.cpp new file mode 100644 index 000000000..318a8928f --- /dev/null +++ b/test/style/unused_sources.cpp @@ -0,0 +1,111 @@ +#include "../fixtures/util.hpp" +#include "../fixtures/mock_file_source.hpp" +#include "../fixtures/mock_view.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mbgl { + +class MockStyleObserver: public Style::Observer { +public: + using MockStyleObserverCallback = std::function; + + MockStyleObserver(View& view_, + FileSource& fileSource_, + const MockStyleObserverCallback& callback_) + : data(MapMode::Still, GLContextMode::Unique, view_.getPixelRatio()), + style(std::make_unique