diff options
Diffstat (limited to 'test/style/source.cpp')
-rw-r--r-- | test/style/source.cpp | 84 |
1 files changed, 71 insertions, 13 deletions
diff --git a/test/style/source.cpp b/test/style/source.cpp index 528059ae9f..bbe37fcf05 100644 --- a/test/style/source.cpp +++ b/test/style/source.cpp @@ -3,7 +3,7 @@ #include "../fixtures/mock_view.hpp" #include "../fixtures/stub_style_observer.hpp" -#include <mbgl/map/source.hpp> +#include <mbgl/source/source.hpp> #include <mbgl/util/run_loop.hpp> #include <mbgl/util/string.hpp> #include <mbgl/util/io.hpp> @@ -12,7 +12,7 @@ #include <mbgl/map/transform.hpp> #include <mbgl/map/map_data.hpp> #include <mbgl/util/worker.hpp> -#include <mbgl/util/texture_pool.hpp> +#include <mbgl/gl/texture_pool.hpp> #include <mbgl/style/style.hpp> #include <mbgl/style/style_update_parameters.hpp> #include <mbgl/layer/line_layer.hpp> @@ -29,9 +29,9 @@ public: Transform transform { view, ConstrainMode::HeightOnly }; TransformState transformState; Worker worker { 1 }; - TexturePool texturePool; + gl::TexturePool texturePool; MapData mapData { MapMode::Still, GLContextMode::Unique, 1.0 }; - Style style { mapData }; + Style style { mapData, fileSource }; StyleUpdateParameters updateParameters { 1.0, @@ -39,6 +39,7 @@ public: TimePoint(), transformState, worker, + fileSource, texturePool, true, MapMode::Continuous, @@ -51,7 +52,6 @@ public: Log::setObserver(std::make_unique<Log::NullObserver>()); util::ThreadContext::Set(&context); - util::ThreadContext::setFileSource(&fileSource); transform.resize({{ 512, 512 }}); transform.setLatLngZoom({0, 0}, 0); @@ -88,7 +88,7 @@ TEST(Source, LoadingFail) { Source source(SourceType::Vector, "source", "url", 512, nullptr, nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); test.run(); } @@ -111,7 +111,65 @@ TEST(Source, LoadingCorrupt) { Source source(SourceType::Vector, "source", "url", 512, nullptr, nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); + + test.run(); +} + +TEST(Source, RasterTileEmpty) { + SourceTest test; + + test.fileSource.tileResponse = [&] (const Resource&) { + Response response; + response.noContent = true; + return response; + }; + + test.observer.tileLoaded = [&] (Source& source, const TileID&, bool) { + EXPECT_EQ("source", source.id); + test.end(); + }; + + test.observer.tileError = [&] (Source&, const TileID&, std::exception_ptr) { + FAIL() << "Should never be called"; + }; + + auto info = std::make_unique<SourceInfo>(); + info->tiles = { "tiles" }; + + Source source(SourceType::Raster, "source", "", 512, std::move(info), nullptr); + source.setObserver(&test.observer); + source.load(test.fileSource); + source.update(test.updateParameters); + + test.run(); +} + +TEST(Source, VectorTileEmpty) { + SourceTest test; + + test.fileSource.tileResponse = [&] (const Resource&) { + Response response; + response.noContent = true; + return response; + }; + + test.observer.tileLoaded = [&] (Source& source, const TileID&, bool) { + EXPECT_EQ("source", source.id); + test.end(); + }; + + test.observer.tileError = [&] (Source&, const TileID&, std::exception_ptr) { + FAIL() << "Should never be called"; + }; + + auto info = std::make_unique<SourceInfo>(); + info->tiles = { "tiles" }; + + Source source(SourceType::Vector, "source", "", 512, std::move(info), nullptr); + source.setObserver(&test.observer); + source.load(test.fileSource); + source.update(test.updateParameters); test.run(); } @@ -139,7 +197,7 @@ TEST(Source, RasterTileFail) { Source source(SourceType::Raster, "source", "", 512, std::move(info), nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); source.update(test.updateParameters); test.run(); @@ -168,7 +226,7 @@ TEST(Source, VectorTileFail) { Source source(SourceType::Vector, "source", "", 512, std::move(info), nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); source.update(test.updateParameters); test.run(); @@ -196,7 +254,7 @@ TEST(Source, RasterTileCorrupt) { Source source(SourceType::Raster, "source", "", 512, std::move(info), nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); source.update(test.updateParameters); test.run(); @@ -229,7 +287,7 @@ TEST(Source, VectorTileCorrupt) { Source source(SourceType::Vector, "source", "", 512, std::move(info), nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); source.update(test.updateParameters); test.run(); @@ -256,7 +314,7 @@ TEST(Source, RasterTileCancel) { Source source(SourceType::Raster, "source", "", 512, std::move(info), nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); source.update(test.updateParameters); test.run(); @@ -283,7 +341,7 @@ TEST(Source, VectorTileCancel) { Source source(SourceType::Vector, "source", "", 512, std::move(info), nullptr); source.setObserver(&test.observer); - source.load(); + source.load(test.fileSource); source.update(test.updateParameters); test.run(); |