diff options
author | Chris Loer <chris.loer@gmail.com> | 2017-11-09 13:24:43 -0800 |
---|---|---|
committer | Chris Loer <chris.loer@mapbox.com> | 2017-11-17 10:05:15 -0800 |
commit | 54b990eb33e87b44127e2f9baf35fd38588fffc1 (patch) | |
tree | 9d1f69027a0e730bceb77b8e6c1a42d424596cc1 /test/tile | |
parent | ff58848cfdb071886a323b246144089ecc7c657d (diff) | |
download | qtlocation-mapboxgl-54b990eb33e87b44127e2f9baf35fd38588fffc1.tar.gz |
[core] Update unit tests for viewport collision.
Add 'GridIndex' unit test.
Diffstat (limited to 'test/tile')
-rw-r--r-- | test/tile/annotation_tile.test.cpp | 95 | ||||
-rw-r--r-- | test/tile/geojson_tile.test.cpp | 2 | ||||
-rw-r--r-- | test/tile/vector_tile.test.cpp | 5 |
3 files changed, 2 insertions, 100 deletions
diff --git a/test/tile/annotation_tile.test.cpp b/test/tile/annotation_tile.test.cpp deleted file mode 100644 index 8f3f903925..0000000000 --- a/test/tile/annotation_tile.test.cpp +++ /dev/null @@ -1,95 +0,0 @@ -#include <mbgl/test/util.hpp> -#include <mbgl/test/fake_file_source.hpp> - -#include <mbgl/util/default_thread_pool.hpp> -#include <mbgl/util/run_loop.hpp> -#include <mbgl/map/transform.hpp> -#include <mbgl/renderer/tile_parameters.hpp> -#include <mbgl/renderer/query.hpp> -#include <mbgl/text/collision_tile.hpp> -#include <mbgl/geometry/feature_index.hpp> -#include <mbgl/annotation/annotation_manager.hpp> -#include <mbgl/annotation/annotation_tile.hpp> -#include <mbgl/renderer/image_manager.hpp> -#include <mbgl/text/glyph_manager.hpp> -#include <mbgl/renderer/backend_scope.hpp> -#include <mbgl/gl/headless_backend.hpp> -#include <mbgl/style/style.hpp> - -#include <memory> - -using namespace mbgl; - -class AnnotationTileTest { -public: - FakeFileSource fileSource; - TransformState transformState; - util::RunLoop loop; - ThreadPool threadPool { 1 }; - style::Style style { loop, fileSource, 1 }; - AnnotationManager annotationManager { style }; - HeadlessBackend backend; - BackendScope scope { backend }; - ImageManager imageManager; - GlyphManager glyphManager { fileSource }; - - TileParameters tileParameters { - 1.0, - MapDebugOptions(), - transformState, - threadPool, - fileSource, - MapMode::Continuous, - annotationManager, - imageManager, - glyphManager, - 0 - }; -}; - -// Don't query stale collision tile -TEST(AnnotationTile, Issue8289) { - AnnotationTileTest test; - AnnotationTile tile(OverscaledTileID(0, 0, 0), test.tileParameters); - - auto data = std::make_unique<AnnotationTileData>(); - data->addLayer("test")->addFeature(0, FeatureType::Point, GeometryCollection()); - - // Simulate layout and placement of a symbol layer. - tile.onLayout(GeometryTile::LayoutResult { - std::unordered_map<std::string, std::shared_ptr<Bucket>>(), - std::make_unique<FeatureIndex>(), - std::move(data), - }, 0); - - auto collisionTile = std::make_unique<CollisionTile>(PlacementConfig()); - - IndexedSubfeature subfeature { 0, "", "", 0 }; - CollisionFeature feature(GeometryCoordinates(), Anchor(0, 0, 0, 0), -5, 5, -5, 5, 1, 0, style::SymbolPlacementType::Point, subfeature, CollisionFeature::AlignmentType::Curved); - collisionTile->insertFeature(feature, 0, true); - collisionTile->placeFeature(feature, false, false); - - tile.onPlacement(GeometryTile::PlacementResult { - std::unordered_map<std::string, std::shared_ptr<Bucket>>(), - std::move(collisionTile), - {}, - {}, - }, 0); - - // Simulate a second layout with empty data. - tile.onLayout(GeometryTile::LayoutResult { - std::unordered_map<std::string, std::shared_ptr<Bucket>>(), - std::make_unique<FeatureIndex>(), - std::make_unique<AnnotationTileData>(), - }, 0); - - std::unordered_map<std::string, std::vector<Feature>> result; - GeometryCoordinates queryGeometry {{ Point<int16_t>(0, 0) }}; - TransformState transformState; - RenderedQueryOptions options; - - tile.queryRenderedFeatures(result, queryGeometry, transformState, {}, options); - - EXPECT_TRUE(result.empty()); -} - diff --git a/test/tile/geojson_tile.test.cpp b/test/tile/geojson_tile.test.cpp index 953c3b8a5f..c05e04bc8d 100644 --- a/test/tile/geojson_tile.test.cpp +++ b/test/tile/geojson_tile.test.cpp @@ -66,7 +66,6 @@ TEST(GeoJSONTile, Issue7648) { tile.setLayers({{ layer.baseImpl }}); tile.setObserver(&observer); - tile.setPlacementConfig({}); while (!tile.isComplete()) { test.loop.runOnce(); @@ -93,7 +92,6 @@ TEST(GeoJSONTile, Issue9927) { GeoJSONTile tile(OverscaledTileID(0, 0, 0), "source", test.tileParameters, features); tile.setLayers({{ layer.baseImpl }}); - tile.setPlacementConfig({}); while (!tile.isComplete()) { test.loop.runOnce(); diff --git a/test/tile/vector_tile.test.cpp b/test/tile/vector_tile.test.cpp index 7e8b659b7a..9d42f7ae74 100644 --- a/test/tile/vector_tile.test.cpp +++ b/test/tile/vector_tile.test.cpp @@ -11,7 +11,6 @@ #include <mbgl/renderer/tile_parameters.hpp> #include <mbgl/renderer/buckets/symbol_bucket.hpp> #include <mbgl/renderer/query.hpp> -#include <mbgl/text/collision_tile.hpp> #include <mbgl/geometry/feature_index.hpp> #include <mbgl/annotation/annotation_manager.hpp> #include <mbgl/renderer/image_manager.hpp> @@ -71,12 +70,13 @@ TEST(VectorTile, Issue7615) { VectorTile tile(OverscaledTileID(0, 0, 0), "source", test.tileParameters, test.tileset); style::SymbolLayer symbolLayer("symbol", "source"); + std::vector<SymbolInstance> symbolInstances; auto symbolBucket = std::make_shared<SymbolBucket>( style::SymbolLayoutProperties::PossiblyEvaluated(), std::map< std::string, std::pair<style::IconPaintProperties::PossiblyEvaluated, style::TextPaintProperties::PossiblyEvaluated>>(), - 16.0f, 1.0f, 0.0f, false, false); + 16.0f, 1.0f, 0.0f, false, false, false, std::move(symbolInstances)); // Simulate placement of a symbol layer. tile.onPlacement(GeometryTile::PlacementResult { @@ -84,7 +84,6 @@ TEST(VectorTile, Issue7615) { symbolLayer.getID(), symbolBucket }}, - nullptr, {}, {}, }, 0); |