summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2015-11-18 15:16:57 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2015-11-18 16:29:18 -0800
commitf2772309feb394b7caeaea436e13ef45ba86a4e7 (patch)
tree985799a23214551ff9d5454c9ae4b2ce58ec67f0 /test
parentdb1c4f2cc2f57b5ea790cac09bd9923b5d86a0ce (diff)
downloadqtlocation-mapboxgl-f2772309feb394b7caeaea436e13ef45ba86a4e7.tar.gz
Rewrite CustomSpriteImages test
Previous test was invalid; Map::setSprite is only for annotations.
Diffstat (limited to 'test')
-rw-r--r--test/api/annotations.cpp14
-rw-r--r--test/fixtures/headless/pois.json26
-rw-r--r--test/sprite/custom_sprites.cpp61
-rw-r--r--test/test.gypi1
4 files changed, 14 insertions, 88 deletions
diff --git a/test/api/annotations.cpp b/test/api/annotations.cpp
index a044d2f36d..55f5ca6749 100644
--- a/test/api/annotations.cpp
+++ b/test/api/annotations.cpp
@@ -2,6 +2,7 @@
#include <mbgl/annotation/point_annotation.hpp>
#include <mbgl/annotation/shape_annotation.hpp>
+#include <mbgl/sprite/sprite_image.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/still_image.hpp>
#include <mbgl/platform/default/headless_display.hpp>
@@ -190,3 +191,16 @@ TEST(Annotations, SwitchStyle) {
util::write_file("test/output/switch_style.png", renderPNG(map));
}
+
+TEST(Annotations, CustomIcon) {
+ auto display = std::make_shared<mbgl::HeadlessDisplay>();
+ HeadlessView view(display, 1);
+ DefaultFileSource fileSource(nullptr);
+
+ Map map(view, fileSource, MapMode::Still);
+ map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), "");
+ map.setSprite("cafe", std::make_shared<SpriteImage>(12, 12, 1, std::string(12 * 12 * 4, '\xFF')));
+ map.addPointAnnotation(PointAnnotation({ 0, 0 }, "cafe"));
+
+ util::write_file("test/output/custom_icon.png", renderPNG(map));
+}
diff --git a/test/fixtures/headless/pois.json b/test/fixtures/headless/pois.json
deleted file mode 100644
index a7fcfdb9dc..0000000000
--- a/test/fixtures/headless/pois.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "version": 8,
- "name": "POIs",
- "sources": {
- "mapbox": {
- "type": "vector",
- "url": "asset://TEST_DATA/fixtures/tiles/streets.json"
- }
- },
- "layers": [{
- "id": "background",
- "type": "background",
- "paint": {
- "background-color": "#CCCCCC"
- }
- }, {
- "id": "pois",
- "type": "symbol",
- "source": "mapbox",
- "source-layer": "poi_label",
- "filter": ["in", "maki", "cafe", "bakery"],
- "layout": {
- "icon-image": "{maki}"
- }
- }]
-}
diff --git a/test/sprite/custom_sprites.cpp b/test/sprite/custom_sprites.cpp
deleted file mode 100644
index 98d173ea2d..0000000000
--- a/test/sprite/custom_sprites.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "../fixtures/util.hpp"
-#include "../fixtures/fixture_log_observer.hpp"
-
-#include <mbgl/map/map.hpp>
-#include <mbgl/map/still_image.hpp>
-#include <mbgl/util/image.hpp>
-#include <mbgl/sprite/sprite_image.hpp>
-
-#include <mbgl/util/io.hpp>
-
-#include <mbgl/platform/default/headless_view.hpp>
-#include <mbgl/platform/default/headless_display.hpp>
-#include <mbgl/storage/default_file_source.hpp>
-
-#include <future>
-
-using namespace mbgl;
-
-TEST(Sprite, CustomSpriteImages) {
- FixtureLog log;
-
- auto display = std::make_shared<mbgl::HeadlessDisplay>();
- HeadlessView view(display, 1);
- view.resize(256, 256);
- DefaultFileSource fileSource(nullptr);
-
- const auto style = util::read_file("test/fixtures/headless/pois.json");
-
- Map map(view, fileSource, MapMode::Still);
-
- map.setLatLngZoom(LatLng{ 52.499167, 13.418056 }, 15);
-
- map.setStyleJSON(style, "");
- map.setSprite("cafe",
- std::make_shared<SpriteImage>(12, 12, 1, std::string(12 * 12 * 4, '\xFF')));
- std::promise<std::unique_ptr<const StillImage>> promise;
- map.renderStill([&promise](std::exception_ptr error, std::unique_ptr<const StillImage> image) {
- if (error) {
- promise.set_exception(error);
- } else {
- promise.set_value(std::move(image));
- }
- });
- auto result = promise.get_future().get();
- ASSERT_EQ(256, result->width);
- ASSERT_EQ(256, result->height);
-
- EXPECT_EQ(
- 21u,
- log.count({
- EventSeverity::Info, Event::Sprite, int64_t(-1), "Can't find sprite named 'bakery'",
- }));
-
- // const size_t bytes = result->width * result->height * 4;
- // const auto hash = test::crc64(reinterpret_cast<const char*>(result->pixels.get()), bytes);
- // EXPECT_EQ(0xC40A4BCD76AEC564u, hash) << std::hex << hash;
-
- // const std::string png = util::compress_png(result->width, result->height,
- // result->pixels.get());
- // util::write_file("test/fixtures/headless/1.actual.png", png);
-}
diff --git a/test/test.gypi b/test/test.gypi
index 0d66b4c37c..366326a3a4 100644
--- a/test/test.gypi
+++ b/test/test.gypi
@@ -90,7 +90,6 @@
'sprite/sprite_image.cpp',
'sprite/sprite_parser.cpp',
'sprite/sprite_store.cpp',
- 'sprite/custom_sprites.cpp',
],
'libraries': [
'<@(gtest_static_libs)',