diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2019-03-07 23:24:52 +0200 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2019-03-08 18:37:41 +0200 |
commit | 2144e3f3b0b8f08b65c854225d7360847633f689 (patch) | |
tree | 16cadc63b1c3d438c5ddd4bf67aadb2e72e23130 /test/text | |
parent | 2f88e8257b83b77f6c06c86c99f542976e7d5199 (diff) | |
download | qtlocation-mapboxgl-2144e3f3b0b8f08b65c854225d7360847633f689.tar.gz |
[core] Implement platform::Factory::sharedFileSource()upstream/map-refactor
Diffstat (limited to 'test/text')
-rw-r--r-- | test/text/glyph_manager.test.cpp | 34 | ||||
-rw-r--r-- | test/text/local_glyph_rasterizer.test.cpp | 19 |
2 files changed, 35 insertions, 18 deletions
diff --git a/test/text/glyph_manager.test.cpp b/test/text/glyph_manager.test.cpp index 3d7a220dc5..bcec1ad0cf 100644 --- a/test/text/glyph_manager.test.cpp +++ b/test/text/glyph_manager.test.cpp @@ -1,6 +1,7 @@ #include <mbgl/test/util.hpp> #include <mbgl/test/stub_file_source.hpp> +#include <mbgl/platform/factory.hpp> #include <mbgl/text/glyph_manager.hpp> #include <mbgl/util/run_loop.hpp> #include <mbgl/util/string.hpp> @@ -65,10 +66,12 @@ public: class GlyphManagerTest { public: util::RunLoop loop; - StubFileSource fileSource; + FileSourceOptions stubFileSourceOptions; + std::shared_ptr<FileSource> fileSource = platform::Factory::sharedFileSource( + stubFileSourceOptions, std::make_shared<StubFileSource>()); StubGlyphManagerObserver observer; StubGlyphRequestor requestor; - GlyphManager glyphManager{ fileSource, std::make_unique<StubLocalGlyphRasterizer>() }; + GlyphManager glyphManager{ stubFileSourceOptions, std::make_unique<StubLocalGlyphRasterizer>() }; void run(const std::string& url, GlyphDependencies dependencies) { // Squelch logging. @@ -89,7 +92,8 @@ public: TEST(GlyphManager, LoadingSuccess) { GlyphManagerTest test; - test.fileSource.glyphsResponse = [&] (const Resource& resource) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource& resource) { EXPECT_EQ(Resource::Kind::Glyphs, resource.kind); Response response; response.data = std::make_shared<std::string>(util::read_file("test/fixtures/resources/glyphs.pbf")); @@ -128,7 +132,8 @@ TEST(GlyphManager, LoadingSuccess) { TEST(GlyphManager, LoadingFail) { GlyphManagerTest test; - test.fileSource.glyphsResponse = [&] (const Resource&) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource&) { Response response; response.error = std::make_unique<Response::Error>( Response::Error::Reason::Other, @@ -161,7 +166,8 @@ TEST(GlyphManager, LoadingFail) { TEST(GlyphManager, LoadingCorrupted) { GlyphManagerTest test; - test.fileSource.glyphsResponse = [&] (const Resource&) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource&) { Response response; response.data = std::make_unique<std::string>("CORRUPTED"); return response; @@ -192,7 +198,8 @@ TEST(GlyphManager, LoadingCorrupted) { TEST(GlyphManager, LoadingCancel) { GlyphManagerTest test; - test.fileSource.glyphsResponse = [&] (const Resource&) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource&) { test.end(); return optional<Response>(); }; @@ -212,7 +219,8 @@ TEST(GlyphManager, LoadLocalCJKGlyph) { GlyphManagerTest test; int glyphResponses = 0; - test.fileSource.glyphsResponse = [&] (const Resource&) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource&) { glyphResponses++; return optional<Response>(); }; @@ -257,7 +265,8 @@ TEST(GlyphManager, LoadLocalCJKGlyph) { TEST(GlyphManager, LoadingInvalid) { GlyphManagerTest test; - test.fileSource.glyphsResponse = [&] (const Resource& resource) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource& resource) { EXPECT_EQ(Resource::Kind::Glyphs, resource.kind); Response response; response.data = std::make_shared<std::string>(util::read_file("test/fixtures/resources/fake_glyphs-0-255.pbf")); @@ -295,10 +304,12 @@ TEST(GlyphManager, ImmediateFileSource) { class GlyphManagerTestSynchronous { public: util::RunLoop loop; - StubFileSource fileSource = { StubFileSource::ResponseType::Synchronous }; + FileSourceOptions stubFileSourceOptions; + std::shared_ptr<FileSource> fileSource = platform::Factory::sharedFileSource( + stubFileSourceOptions, std::make_shared<StubFileSource>(StubFileSource::ResponseType::Synchronous)); StubGlyphManagerObserver observer; StubGlyphRequestor requestor; - GlyphManager glyphManager { fileSource }; + GlyphManager glyphManager { stubFileSourceOptions }; void run(const std::string& url, GlyphDependencies dependencies) { // Squelch logging. @@ -318,7 +329,8 @@ TEST(GlyphManager, ImmediateFileSource) { GlyphManagerTestSynchronous test; - test.fileSource.glyphsResponse = [&] (const Resource&) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource&) { Response response; response.data = std::make_shared<std::string>(util::read_file("test/fixtures/resources/glyphs.pbf")); return response; diff --git a/test/text/local_glyph_rasterizer.test.cpp b/test/text/local_glyph_rasterizer.test.cpp index 5c03945b8c..0d69ff5697 100644 --- a/test/text/local_glyph_rasterizer.test.cpp +++ b/test/text/local_glyph_rasterizer.test.cpp @@ -2,6 +2,7 @@ #include <mbgl/test/stub_file_source.hpp> #include <mbgl/map/map.hpp> #include <mbgl/map/map_options.hpp> +#include <mbgl/platform/factory.hpp> #include <mbgl/util/io.hpp> #include <mbgl/util/run_loop.hpp> #include <mbgl/util/color.hpp> @@ -32,16 +33,18 @@ namespace { class LocalGlyphRasterizerTest { public: LocalGlyphRasterizerTest(const optional<std::string> fontFamily) - : frontend(pixelRatio, fileSource, optional<std::string>(), GLContextMode::Unique, fontFamily) + : frontend(pixelRatio, stubFileSourceOptions, optional<std::string>(), GLContextMode::Unique, fontFamily) { } util::RunLoop loop; - StubFileSource fileSource; + FileSourceOptions stubFileSourceOptions; + std::shared_ptr<FileSource> fileSource = platform::Factory::sharedFileSource( + stubFileSourceOptions, std::make_shared<StubFileSource>()); float pixelRatio { 1 }; - HeadlessFrontend frontend; - Map map { frontend, MapObserver::nullObserver(), frontend.getSize(), pixelRatio, fileSource, - MapOptions().withMapMode(MapMode::Static)}; + HeadlessFrontend frontend { pixelRatio, stubFileSourceOptions }; + Map map { frontend, MapObserver::nullObserver(), frontend.getSize(), pixelRatio, + MapOptions().withMapMode(MapMode::Static), stubFileSourceOptions }; void checkRendering(const char * name) { test::checkImage(std::string("test/fixtures/local_glyphs/") + name, @@ -57,7 +60,8 @@ public: TEST(LocalGlyphRasterizer, PingFang) { LocalGlyphRasterizerTest test(std::string("PingFang")); - test.fileSource.glyphsResponse = [&] (const Resource& resource) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource& resource) { EXPECT_EQ(Resource::Kind::Glyphs, resource.kind); Response response; response.data = std::make_shared<std::string>(util::read_file("test/fixtures/resources/glyphs.pbf")); @@ -78,7 +82,8 @@ TEST(LocalGlyphRasterizer, NoLocal) { // the output should just contain basic latin characters. LocalGlyphRasterizerTest test({}); - test.fileSource.glyphsResponse = [&] (const Resource& resource) { + auto stubFileSource = std::static_pointer_cast<StubFileSource>(test.fileSource); + stubFileSource->glyphsResponse = [&] (const Resource& resource) { EXPECT_EQ(Resource::Kind::Glyphs, resource.kind); Response response; response.data = std::make_shared<std::string>(util::read_file("test/fixtures/resources/glyphs.pbf")); |