summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-22 12:31:49 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-06-24 09:39:15 -0700
commitc4e4cc5081965d03132eea754c27ece3c95961cb (patch)
tree3aa4f722ead3273b1faaed5f30449bb8654cf23d /test
parent089c4e413fbe80711ebd874520d3b8fdcb997112 (diff)
downloadqtlocation-mapboxgl-c4e4cc5081965d03132eea754c27ece3c95961cb.tar.gz
[core] Adjust layer source properties to better reflect reality
* Layer source ID is immutable; must be provided to the constructor * Layer source layer is mutable * Layers with GeoJSON sources do not have a source layer While here, make Layer::copy impl-private.
Diffstat (limited to 'test')
-rw-r--r--test/style/source.cpp4
-rw-r--r--test/style/style_layer.cpp18
-rw-r--r--test/text/quads.cpp123
3 files changed, 72 insertions, 73 deletions
diff --git a/test/style/source.cpp b/test/style/source.cpp
index d31474712e..59b2524e17 100644
--- a/test/style/source.cpp
+++ b/test/style/source.cpp
@@ -276,8 +276,8 @@ TEST(Source, VectorTileCorrupt) {
};
// Need to have at least one layer that uses the source.
- auto layer = std::make_unique<LineLayer>("id");
- layer->setSource("source", "water");
+ auto layer = std::make_unique<LineLayer>("id", "source");
+ layer->setSourceLayer("water");
test.style.addLayer(std::move(layer));
Tileset tileset;
diff --git a/test/style/style_layer.cpp b/test/style/style_layer.cpp
index 3274131966..9c6a6e924a 100644
--- a/test/style/style_layer.cpp
+++ b/test/style/style_layer.cpp
@@ -55,12 +55,12 @@ const auto duration = PropertyValue<float> { 1.0f };
TEST(Layer, Clone) {
testClone<BackgroundLayer>("background");
- testClone<CircleLayer>("circle");
+ testClone<CircleLayer>("circle", "source");
testClone<CustomLayer>("custom", [](void*){}, [](void*, const CustomLayerRenderParameters&){}, [](void*){}, nullptr),
- testClone<FillLayer>("fill");
- testClone<LineLayer>("line");
- testClone<RasterLayer>("raster");
- testClone<SymbolLayer>("symbol");
+ testClone<FillLayer>("fill", "source");
+ testClone<LineLayer>("line", "source");
+ testClone<RasterLayer>("raster", "source");
+ testClone<SymbolLayer>("symbol", "source");
}
TEST(Layer, BackgroundProperties) {
@@ -80,7 +80,7 @@ TEST(Layer, BackgroundProperties) {
}
TEST(Layer, CircleProperties) {
- auto layer = std::make_unique<CircleLayer>("circle");
+ auto layer = std::make_unique<CircleLayer>("circle", "source");
EXPECT_TRUE(layer->is<CircleLayer>());
// Paint properties
@@ -105,7 +105,7 @@ TEST(Layer, CircleProperties) {
}
TEST(Layer, FillProperties) {
- auto layer = std::make_unique<FillLayer>("fill");
+ auto layer = std::make_unique<FillLayer>("fill", "source");
EXPECT_TRUE(layer->is<FillLayer>());
// Paint properties
@@ -133,7 +133,7 @@ TEST(Layer, FillProperties) {
}
TEST(Layer, LineProperties) {
- auto layer = std::make_unique<LineLayer>("line");
+ auto layer = std::make_unique<LineLayer>("line", "source");
EXPECT_TRUE(layer->is<LineLayer>());
// Layout properties
@@ -184,7 +184,7 @@ TEST(Layer, LineProperties) {
}
TEST(Layer, RasterProperties) {
- auto layer = std::make_unique<RasterLayer>("raster");
+ auto layer = std::make_unique<RasterLayer>("raster", "source");
EXPECT_TRUE(layer->is<RasterLayer>());
// Paint properties
diff --git a/test/text/quads.cpp b/test/text/quads.cpp
index 6fdd769fc3..2dd6a68cad 100644
--- a/test/text/quads.cpp
+++ b/test/text/quads.cpp
@@ -4,14 +4,13 @@
#include <mbgl/text/quads.hpp>
#include <mbgl/text/shaping.hpp>
#include <mbgl/text/glyph.hpp>
-#include <mbgl/style/layers/symbol_layer.hpp>
-#include <mbgl/style/layers/symbol_layer_impl.hpp>
+#include <mbgl/style/layers/symbol_layer_properties.hpp>
using namespace mbgl;
using namespace mbgl::style;
TEST(getIconQuads, normal) {
- auto layer = std::make_unique<SymbolLayer>("symbol");
+ SymbolLayoutProperties layout;
Anchor anchor(2.0, 3.0, 0.0, 0.5f, 0);
SpriteAtlasElement image = {
Rect<uint16_t>( 0, 0, 15, 11 ),
@@ -22,7 +21,7 @@ TEST(getIconQuads, normal) {
GeometryCoordinates line;
Shaping shapedText;
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads.size(), 1u);
ASSERT_EQ(quads[0].anchorPoint.x, 2);
@@ -58,8 +57,8 @@ TEST(getIconQuads, style) {
// none
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads.size(), 1u);
ASSERT_EQ(quads[0].anchorPoint.x, 0);
@@ -79,10 +78,10 @@ TEST(getIconQuads, style) {
// width
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(24.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Width);
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(24.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Width);
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -60);
ASSERT_EQ(quads[0].tl.y, 0);
@@ -96,10 +95,10 @@ TEST(getIconQuads, style) {
// width x textSize
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(12.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Width);
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(12.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Width);
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -30);
ASSERT_EQ(quads[0].tl.y, -5);
@@ -113,14 +112,14 @@ TEST(getIconQuads, style) {
// width x textSize + padding
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(12.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Width);
- layer->impl->layout.iconTextFitPadding.value[0] = 5.0f;
- layer->impl->layout.iconTextFitPadding.value[1] = 10.0f;
- layer->impl->layout.iconTextFitPadding.value[2] = 5.0f;
- layer->impl->layout.iconTextFitPadding.value[3] = 10.0f;
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(12.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Width);
+ layout.iconTextFitPadding.value[0] = 5.0f;
+ layout.iconTextFitPadding.value[1] = 10.0f;
+ layout.iconTextFitPadding.value[2] = 5.0f;
+ layout.iconTextFitPadding.value[3] = 10.0f;
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -40);
ASSERT_EQ(quads[0].tl.y, -10);
@@ -134,10 +133,10 @@ TEST(getIconQuads, style) {
// height
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(24.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Height);
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(24.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Height);
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -30);
ASSERT_EQ(quads[0].tl.y, -10);
@@ -151,10 +150,10 @@ TEST(getIconQuads, style) {
// height x textSize
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(12.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Height);
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(12.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Height);
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -20);
ASSERT_EQ(quads[0].tl.y, -5);
@@ -168,14 +167,14 @@ TEST(getIconQuads, style) {
// height x textSize + padding
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(12.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Height);
- layer->impl->layout.iconTextFitPadding.value[0] = 5.0f;
- layer->impl->layout.iconTextFitPadding.value[1] = 10.0f;
- layer->impl->layout.iconTextFitPadding.value[2] = 5.0f;
- layer->impl->layout.iconTextFitPadding.value[3] = 10.0f;
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(12.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Height);
+ layout.iconTextFitPadding.value[0] = 5.0f;
+ layout.iconTextFitPadding.value[1] = 10.0f;
+ layout.iconTextFitPadding.value[2] = 5.0f;
+ layout.iconTextFitPadding.value[3] = 10.0f;
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -30);
ASSERT_EQ(quads[0].tl.y, -10);
@@ -189,10 +188,10 @@ TEST(getIconQuads, style) {
// both
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(24.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(24.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -60);
ASSERT_EQ(quads[0].tl.y, -10);
@@ -206,10 +205,10 @@ TEST(getIconQuads, style) {
// both x textSize
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(12.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(12.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -30);
ASSERT_EQ(quads[0].tl.y, -5);
@@ -223,14 +222,14 @@ TEST(getIconQuads, style) {
// both x textSize + padding
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(12.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
- layer->impl->layout.iconTextFitPadding.value[0] = 5.0f;
- layer->impl->layout.iconTextFitPadding.value[1] = 10.0f;
- layer->impl->layout.iconTextFitPadding.value[2] = 5.0f;
- layer->impl->layout.iconTextFitPadding.value[3] = 10.0f;
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(12.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
+ layout.iconTextFitPadding.value[0] = 5.0f;
+ layout.iconTextFitPadding.value[1] = 10.0f;
+ layout.iconTextFitPadding.value[2] = 5.0f;
+ layout.iconTextFitPadding.value[3] = 10.0f;
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -40);
ASSERT_EQ(quads[0].tl.y, -10);
@@ -244,14 +243,14 @@ TEST(getIconQuads, style) {
// both x textSize + padding t/r/b/l
{
- auto layer = std::make_unique<SymbolLayer>("symbol");
- layer->impl->layout.textSize = LayoutProperty<float>(12.0f);
- layer->impl->layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
- layer->impl->layout.iconTextFitPadding.value[0] = 0.0f;
- layer->impl->layout.iconTextFitPadding.value[1] = 5.0f;
- layer->impl->layout.iconTextFitPadding.value[2] = 10.0f;
- layer->impl->layout.iconTextFitPadding.value[3] = 15.0f;
- SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layer->impl->layout, false, shapedText);
+ SymbolLayoutProperties layout;
+ layout.textSize = LayoutProperty<float>(12.0f);
+ layout.iconTextFit = LayoutProperty<IconTextFitType>(IconTextFitType::Both);
+ layout.iconTextFitPadding.value[0] = 0.0f;
+ layout.iconTextFitPadding.value[1] = 5.0f;
+ layout.iconTextFitPadding.value[2] = 10.0f;
+ layout.iconTextFitPadding.value[3] = 15.0f;
+ SymbolQuads quads = getIconQuads(anchor, shapedIcon, line, layout, false, shapedText);
ASSERT_EQ(quads[0].tl.x, -45);
ASSERT_EQ(quads[0].tl.y, -5);