diff options
author | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-08-25 09:45:48 +0300 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-08-28 12:08:54 +0300 |
commit | 9e3cb67d1cdf1da5dbc22ab45ff8765576e3d87d (patch) | |
tree | df8abb621d1dcabb63e33ef18b05236c24bd7552 /test/text | |
parent | 5d316a8076d29cd3545360bc8f018044464c2f96 (diff) | |
download | qtlocation-mapboxgl-9e3cb67d1cdf1da5dbc22ab45ff8765576e3d87d.tar.gz |
[core][qt] Update unit tests and include Korean symbols
- Decrease pixelmatch tolerance for local glyph rasterizer
- Add Korean symbols to test fixture
- Fix ifdefs, as the QT and Apple related blocks were using same results
- Add NotoSansCJK test for QT / Linux platform
Diffstat (limited to 'test/text')
-rw-r--r-- | test/text/local_glyph_rasterizer.test.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/test/text/local_glyph_rasterizer.test.cpp b/test/text/local_glyph_rasterizer.test.cpp index 3f0fa1b91f..2722ee5849 100644 --- a/test/text/local_glyph_rasterizer.test.cpp +++ b/test/text/local_glyph_rasterizer.test.cpp @@ -43,7 +43,7 @@ public: MapAdapter map { frontend, MapObserver::nullObserver(), fileSource, MapOptions().withMapMode(MapMode::Static).withSize(frontend.getSize())}; - void checkRendering(const char * name, double imageMatchPixelsThreshold = 0.05, double pixelMatchThreshold = 0.1) { + void checkRendering(const char * name, double imageMatchPixelsThreshold = 0.015, double pixelMatchThreshold = 0.1) { test::checkImage(std::string("test/fixtures/local_glyphs/") + name, frontend.render(map), imageMatchPixelsThreshold, pixelMatchThreshold); } @@ -64,7 +64,7 @@ TEST(LocalGlyphRasterizer, PingFang) { return response; }; test.map.getStyle().loadJSON(util::read_file("test/fixtures/local_glyphs/mixed.json")); -#if defined(__APPLE__) +#if defined(__APPLE__) && !defined(__QT__) test.checkRendering("ping_fang"); #elif defined(__QT__) test.checkRendering("ping_fang_qt"); @@ -73,6 +73,22 @@ TEST(LocalGlyphRasterizer, PingFang) { #endif // defined(__APPLE__) +#if defined(__linux__) && defined(__QT__) +TEST(LocalGlyphRasterizer, NotoSansCJK) { + LocalGlyphRasterizerTest test(std::string("Noto Sans CJK KR Regular")); + + test.fileSource->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")); + return response; + }; + + test.map.getStyle().loadJSON(util::read_file("test/fixtures/local_glyphs/mixed.json")); + test.checkRendering("noto_sans_cjk_kr_regular_qt"); +} +#endif // defined(__linux__) && defined(__QT__) + TEST(LocalGlyphRasterizer, NoLocal) { // Expectation: without any local fonts set, and without any CJK glyphs provided, // the output should just contain basic latin characters. |