diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2016-01-07 18:51:19 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-01-15 17:04:08 +0100 |
commit | a88e58ef3a90225fcfafca1efab996de6a827b72 (patch) | |
tree | 925d68e81c26b918b3c6aa4c31f4e33ce50fbb82 /test/storage | |
parent | 32a2359e86bc86221682f1afa057b62f0f0be8c2 (diff) | |
download | qtlocation-mapboxgl-a88e58ef3a90225fcfafca1efab996de6a827b72.tar.gz |
[core] use stale glyphs
Updating glyphs is still unsupported, and there's no good use case for doing so. When we're using a stale glyph PBF, and the fresh answer contains changed to that glyph, we will continue to use the old glyph.
Diffstat (limited to 'test/storage')
-rw-r--r-- | test/storage/cache_stale.cpp | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/test/storage/cache_stale.cpp b/test/storage/cache_stale.cpp index ab9fe7b202..96fd9bbbcd 100644 --- a/test/storage/cache_stale.cpp +++ b/test/storage/cache_stale.cpp @@ -15,8 +15,13 @@ using namespace std::literals::string_literals; namespace { -void checkRendering(Map& map, const char *name, std::chrono::milliseconds timeout) { - test::checkImage("test/fixtures/stale/"s + name, test::render(map, timeout), 0.001, 0.1); +void checkRendering(Map& map, + const char* name, + std::chrono::milliseconds timeout, + double imageThreshold = 0.001, + double pixelThreshold = 0.1) { + test::checkImage("test/fixtures/stale/"s + name, test::render(map, timeout), imageThreshold, + pixelThreshold); } Response expiredItem(const std::string& path) { @@ -100,3 +105,27 @@ TEST_F(Storage, CacheStaleStyleAndSprite) { checkRendering(map, "stale_style_and_sprite", 1000ms); } + +TEST_F(Storage, CacheStaleStyleAndGlyphs) { + HeadlessView view(display, 1); + + auto cache = SQLiteCache::getShared(":memory:"); + + // Rig the cache with an expired stylesheet. + const std::string stylePath = "stale/style_and_glyphs.json"; + const Resource styleResource{ Resource::Kind::Style, prefix + "/" + stylePath }; + cache->put(styleResource, expiredItem(stylePath)); + + // Rig the cache with an expired glyph PBF. + const std::string glyphPath = "stale/glyph.pbf"; + const Resource glyphResource{ Resource::Kind::Glyphs, prefix + "/stale/Open%20Sans%20Regular%2c%20Arial%20Unicode%20MS%20Regular/0-255.pbf" }; + cache->put(glyphResource, expiredItem(glyphPath)); + + DefaultFileSource fileSource(":memory:", "."); + + Map map(view, fileSource, MapMode::Still); + map.setStyleURL(styleResource.url); + + // TODO: this shouldn't take > 1 second + checkRendering(map, "stale_style_and_glyphs", 2000ms, 0.0015); +} |