summaryrefslogtreecommitdiff
path: root/test/style/style.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/style/style.cpp')
-rw-r--r--test/style/style.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/style/style.cpp b/test/style/style.cpp
new file mode 100644
index 0000000000..59366ea7dd
--- /dev/null
+++ b/test/style/style.cpp
@@ -0,0 +1,45 @@
+#include "../fixtures/util.hpp"
+
+#include <mbgl/map/map_data.hpp>
+#include <mbgl/style/style.hpp>
+#include <mbgl/util/io.hpp>
+
+using namespace mbgl;
+
+TEST(Style, UnusedSource) {
+ util::ThreadContext context { "Map", util::ThreadType::Map, util::ThreadPriority::Regular };
+ util::ThreadContext::Set(&context);
+
+ MapData data { MapMode::Still, GLContextMode::Unique, 1.0 };
+ Style style { data };
+
+ style.setJSON(util::read_file("test/fixtures/resources/style-unused-sources.json"), "");
+ style.cascade();
+ style.recalculate(0);
+
+ Source *usedSource = style.getSource("usedsource");
+ EXPECT_TRUE(usedSource);
+ EXPECT_TRUE(usedSource->isLoaded());
+
+ Source *unusedSource = style.getSource("unusedsource");
+ EXPECT_TRUE(unusedSource);
+ EXPECT_FALSE(unusedSource->isLoaded());
+}
+
+TEST(Style, UnusedSourceActiveViaClassUpdate) {
+ util::ThreadContext context { "Map", util::ThreadType::Map, util::ThreadPriority::Regular };
+ util::ThreadContext::Set(&context);
+
+ MapData data { MapMode::Still, GLContextMode::Unique, 1.0 };
+ Style style { data };
+
+ data.addClass("visible");
+
+ style.setJSON(util::read_file("test/fixtures/resources/style-unused-sources.json"), "");
+ style.cascade();
+ style.recalculate(0);
+
+ Source *unusedSource = style.getSource("unusedsource");
+ EXPECT_TRUE(unusedSource);
+ EXPECT_TRUE(unusedSource->isLoaded());
+}