[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
4
test/fixtures/local_glyphs/mixed.json
vendored
@@ -68,7 +68,7 @@
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"name": "身什戰アあ"
|
||||
"name": "안녕 세상 KR"
|
||||
},
|
||||
"geometry": {
|
||||
"type": "LineString",
|
||||
@@ -144,7 +144,7 @@
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"name": "8身什戰アあ"
|
||||
"name": "안녕 세상8"
|
||||
},
|
||||
"geometry": {
|
||||
"type": "LineString",
|
||||
|
||||
BIN
test/fixtures/local_glyphs/no_local/expected.png
vendored
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 7.4 KiB |
BIN
test/fixtures/local_glyphs/noto_sans_cjk_kr_regular_qt/expected.png
vendored
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
test/fixtures/local_glyphs/ping_fang/expected.png
vendored
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
BIN
test/fixtures/local_glyphs/ping_fang_qt/expected.png
vendored
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 28 KiB |
@@ -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.
|
||||
|
||||