summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-04-07 23:24:17 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-04-17 17:21:41 +0300
commit7a7192516ffa9b4ed5b94b60961a4dc74fcf6e64 (patch)
tree432a69b7a31b833304ccafcffe83b0cfe00d3c1f /test
parent4b21560cf59877125ea0bdae1a2546ab06f1efb2 (diff)
downloadqtlocation-mapboxgl-7a7192516ffa9b4ed5b94b60961a4dc74fcf6e64.tar.gz
[core] Introduce `LayerRenderData`. Source::update() accepts layer properties.
Diffstat (limited to 'test')
-rw-r--r--test/style/source.test.cpp48
-rw-r--r--test/tile/custom_geometry_tile.test.cpp5
-rw-r--r--test/tile/geojson_tile.test.cpp10
3 files changed, 44 insertions, 19 deletions
diff --git a/test/style/source.test.cpp b/test/style/source.test.cpp
index 8bc152926f..f0ff1f81b4 100644
--- a/test/style/source.test.cpp
+++ b/test/style/source.test.cpp
@@ -12,8 +12,11 @@
#include <mbgl/style/sources/image_source.hpp>
#include <mbgl/style/sources/custom_geometry_source.hpp>
#include <mbgl/style/layers/hillshade_layer.hpp>
+#include <mbgl/style/layers/hillshade_layer_impl.hpp>
#include <mbgl/style/layers/raster_layer.hpp>
+#include <mbgl/style/layers/raster_layer_impl.hpp>
#include <mbgl/style/layers/line_layer.hpp>
+#include <mbgl/style/layers/line_layer_impl.hpp>
#include <mbgl/renderer/sources/render_raster_source.hpp>
#include <mbgl/renderer/sources/render_raster_dem_source.hpp>
@@ -148,7 +151,8 @@ TEST(Source, RasterTileEmpty) {
};
RasterLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<RasterLayerProperties>(staticImmutableCast<RasterLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -186,7 +190,8 @@ TEST(Source, RasterDEMTileEmpty) {
};
HillshadeLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<HillshadeLayerProperties>(staticImmutableCast<HillshadeLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -226,7 +231,8 @@ TEST(Source, VectorTileEmpty) {
LineLayer layer("id", "source");
layer.setSourceLayer("water");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<LineLayerProperties>(staticImmutableCast<LineLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -266,7 +272,8 @@ TEST(Source, RasterTileFail) {
};
RasterLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<RasterLayerProperties>(staticImmutableCast<RasterLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -304,7 +311,8 @@ TEST(Source, RasterDEMTileFail) {
};
HillshadeLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<HillshadeLayerProperties>(staticImmutableCast<HillshadeLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -344,7 +352,8 @@ TEST(Source, VectorTileFail) {
LineLayer layer("id", "source");
layer.setSourceLayer("water");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<LineLayerProperties>(staticImmutableCast<LineLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -380,7 +389,8 @@ TEST(Source, RasterTileCorrupt) {
};
RasterLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<RasterLayerProperties>(staticImmutableCast<RasterLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -417,7 +427,8 @@ TEST(Source, RasterDEMTileCorrupt) {
};
HillshadeLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<HillshadeLayerProperties>(staticImmutableCast<HillshadeLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };;
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -456,7 +467,8 @@ TEST(Source, VectorTileCorrupt) {
LineLayer layer("id", "source");
layer.setSourceLayer("water");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<LineLayerProperties>(staticImmutableCast<LineLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -491,7 +503,8 @@ TEST(Source, RasterTileCancel) {
};
RasterLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<RasterLayerProperties>(staticImmutableCast<RasterLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -527,7 +540,8 @@ TEST(Source, RasterDEMTileCancel) {
};
HillshadeLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<HillshadeLayerProperties>(staticImmutableCast<HillshadeLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -565,7 +579,8 @@ TEST(Source, VectorTileCancel) {
LineLayer layer("id", "source");
layer.setSourceLayer("water");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<LineLayerProperties>(staticImmutableCast<LineLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
Tileset tileset;
tileset.tiles = { "tiles" };
@@ -596,7 +611,8 @@ TEST(Source, RasterTileAttribution) {
SourceTest test;
RasterLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<RasterLayerProperties>(staticImmutableCast<RasterLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
std::string mapboxOSM = ("<a href='https://www.mapbox.com/about/maps/' target='_blank'>&copy; Mapbox</a> "
"<a href='http://www.openstreetmap.org/about/' target='_blank'>©️ OpenStreetMap</a>");
@@ -640,7 +656,8 @@ TEST(Source, RasterDEMTileAttribution) {
SourceTest test;
HillshadeLayer layer("id", "source");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<HillshadeLayerProperties>(staticImmutableCast<HillshadeLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
std::string mapbox = ("<a href='https://www.mapbox.com/about/maps/' target='_blank'>&copy; Mapbox</a> ");
@@ -752,7 +769,8 @@ TEST(Source, CustomGeometrySourceSetTileData) {
LineLayer layer("id", "source");
layer.setSourceLayer("water");
- std::vector<Immutable<Layer::Impl>> layers {{ layer.baseImpl }};
+ Immutable<LayerProperties> layerProperties = makeMutable<LineLayerProperties>(staticImmutableCast<LineLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
test.renderSourceObserver.tileChanged = [&] (RenderSource& source_, const OverscaledTileID&) {
EXPECT_EQ("source", source_.baseImpl->id);
diff --git a/test/tile/custom_geometry_tile.test.cpp b/test/tile/custom_geometry_tile.test.cpp
index dc6aaab1ac..7a627bad88 100644
--- a/test/tile/custom_geometry_tile.test.cpp
+++ b/test/tile/custom_geometry_tile.test.cpp
@@ -11,6 +11,7 @@
#include <mbgl/renderer/tile_parameters.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/style/layers/circle_layer.hpp>
+#include <mbgl/style/layers/circle_layer_impl.hpp>
#include <mbgl/annotation/annotation_manager.hpp>
#include <mbgl/renderer/image_manager.hpp>
#include <mbgl/text/glyph_manager.hpp>
@@ -120,7 +121,9 @@ TEST(CustomGeometryTile, InvokeTileChanged) {
ASSERT_NE(nullptr, tile.getBucket(*layer.baseImpl));
};
- tile.setLayers({{ layer.baseImpl }});
+ Immutable<LayerProperties> layerProperties = makeMutable<CircleLayerProperties>(staticImmutableCast<CircleLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
+ tile.setLayers(layers);
tile.setObserver(&observer);
tile.setTileData(features);
diff --git a/test/tile/geojson_tile.test.cpp b/test/tile/geojson_tile.test.cpp
index fb5f3ca6d7..772590efb2 100644
--- a/test/tile/geojson_tile.test.cpp
+++ b/test/tile/geojson_tile.test.cpp
@@ -10,6 +10,7 @@
#include <mbgl/renderer/tile_parameters.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/style/layers/circle_layer.hpp>
+#include <mbgl/style/layers/circle_layer_impl.hpp>
#include <mbgl/annotation/annotation_manager.hpp>
#include <mbgl/renderer/image_manager.hpp>
#include <mbgl/text/glyph_manager.hpp>
@@ -61,8 +62,9 @@ TEST(GeoJSONTile, Issue7648) {
// flickering.
ASSERT_NE(nullptr, tile.getBucket(*layer.baseImpl));
};
-
- tile.setLayers({{ layer.baseImpl }});
+ Immutable<LayerProperties> layerProperties = makeMutable<CircleLayerProperties>(staticImmutableCast<CircleLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
+ tile.setLayers(layers);
tile.setObserver(&observer);
while (!tile.isComplete()) {
@@ -87,7 +89,9 @@ TEST(GeoJSONTile, Issue9927) {
GeoJSONTile tile(OverscaledTileID(0, 0, 0), "source", test.tileParameters, features);
- tile.setLayers({{ layer.baseImpl }});
+ Immutable<LayerProperties> layerProperties = makeMutable<CircleLayerProperties>(staticImmutableCast<CircleLayer::Impl>(layer.baseImpl));
+ std::vector<Immutable<LayerProperties>> layers { layerProperties };
+ tile.setLayers(layers);
while (!tile.isComplete()) {
test.loop.runOnce();