summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-05-05 16:31:03 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-05-08 13:48:57 -0700
commitbaaae99a03202641ae5b8024e57b691fe61a6688 (patch)
tree459045e56197696aa1312594f1e452b03931775d /test
parente34d8b5c802186008e49364668e4a7bd5668d0fd (diff)
downloadqtlocation-mapboxgl-baaae99a03202641ae5b8024e57b691fe61a6688.tar.gz
[core, android] Factor JSON string conversions
This adds a `convertJSON` template, to be used like: Error error optional<Foo> foo = convertJSON<Foo>(string, error); Internally, it parses the string with RapidJSON and then calls `convert<Foo>(parsed, error)`. While here, rationalize GeoJSON converters and fix error handling for Tileset conversion in OfflineDownload.
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/style_parser/tilejson.raster.json8
-rw-r--r--test/fixtures/style_parser/tilejson.vector.json8
-rw-r--r--test/style/tile_source.test.cpp37
-rw-r--r--test/util/mapbox.test.cpp27
4 files changed, 27 insertions, 53 deletions
diff --git a/test/fixtures/style_parser/tilejson.raster.json b/test/fixtures/style_parser/tilejson.raster.json
deleted file mode 100644
index 3fc819f292..0000000000
--- a/test/fixtures/style_parser/tilejson.raster.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "minzoom": 0,
- "maxzoom": 15,
- "center": [ 1, 2, 3 ],
- "bounds": [ 4, 5, 6, 7 ],
- "attribution": "attribution",
- "tiles": [ "http://a.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.png?access_token=key" ]
-}
diff --git a/test/fixtures/style_parser/tilejson.vector.json b/test/fixtures/style_parser/tilejson.vector.json
deleted file mode 100644
index 9144bd502c..0000000000
--- a/test/fixtures/style_parser/tilejson.vector.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "minzoom": 0,
- "maxzoom": 15,
- "center": [ 1, 2, 3 ],
- "bounds": [ 4, 5, 6, 7 ],
- "attribution": "attribution",
- "tiles": [ "http://a.tiles.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}.vector.pbf?access_token=key" ]
-}
diff --git a/test/style/tile_source.test.cpp b/test/style/tile_source.test.cpp
deleted file mode 100644
index 35d037a049..0000000000
--- a/test/style/tile_source.test.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <mbgl/test/util.hpp>
-
-#include <mbgl/style/tile_source_impl.hpp>
-#include <mbgl/util/io.hpp>
-
-using namespace mbgl;
-using namespace mbgl::style;
-
-TEST(TileSourceImpl, ParseTileJSONRaster) {
- auto result = TileSourceImpl::parseTileJSON(
- util::read_file("test/fixtures/style_parser/tilejson.raster.json"),
- "mapbox://mapbox.satellite",
- SourceType::Raster,
- 256);
-
- EXPECT_EQ(0, result.zoomRange.min);
- EXPECT_EQ(15, result.zoomRange.max);
- EXPECT_EQ("attribution", result.attribution);
-#if !defined(__ANDROID__) && !defined(__APPLE__)
- EXPECT_EQ("mapbox://tiles/mapbox.satellite/{z}/{x}/{y}{ratio}.webp", result.tiles[0]);
-#else
- EXPECT_EQ("mapbox://tiles/mapbox.satellite/{z}/{x}/{y}{ratio}.png", result.tiles[0]);
-#endif
-}
-
-TEST(TileSourceImpl, ParseTileJSONVector) {
- auto result = TileSourceImpl::parseTileJSON(
- util::read_file("test/fixtures/style_parser/tilejson.vector.json"),
- "mapbox://mapbox.streets",
- SourceType::Vector,
- 256);
-
- EXPECT_EQ(0, result.zoomRange.min);
- EXPECT_EQ(15, result.zoomRange.max);
- EXPECT_EQ("attribution", result.attribution);
- EXPECT_EQ("mapbox://tiles/mapbox.streets/{z}/{x}/{y}.vector.pbf", result.tiles[0]);
-}
diff --git a/test/util/mapbox.test.cpp b/test/util/mapbox.test.cpp
index 299f0df833..ba867ccb5c 100644
--- a/test/util/mapbox.test.cpp
+++ b/test/util/mapbox.test.cpp
@@ -3,6 +3,7 @@
#include <mbgl/util/logging.hpp>
#include <mbgl/util/mapbox.hpp>
#include <mbgl/util/constants.hpp>
+#include <mbgl/util/tileset.hpp>
#include <stdexcept>
using namespace mbgl;
@@ -210,3 +211,29 @@ TEST(Mapbox, CanonicalURL) {
"http://api.mapbox.com/v4/a.b/{z}/{x}/{y}/.",
mbgl::util::mapbox::canonicalizeTileURL("http://api.mapbox.com/v4/a.b/{z}/{x}/{y}/.", SourceType::Raster, 256));
}
+
+TEST(Mapbox, CanonicalizeRasterTileset) {
+ mbgl::Tileset tileset;
+ tileset.tiles = {
+ "http://a.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.png?access_token=key"
+ };
+
+ mbgl::util::mapbox::canonicalizeTileset(tileset, "mapbox://mapbox.satellite", SourceType::Raster, 256);
+
+#if !defined(__ANDROID__) && !defined(__APPLE__)
+ EXPECT_EQ("mapbox://tiles/mapbox.satellite/{z}/{x}/{y}{ratio}.webp", tileset.tiles[0]);
+#else
+ EXPECT_EQ("mapbox://tiles/mapbox.satellite/{z}/{x}/{y}{ratio}.png", tileset.tiles[0]);
+#endif
+}
+
+TEST(Mapbox, CanonicalizeVectorTileset) {
+ mbgl::Tileset tileset;
+ tileset.tiles = {
+ "http://a.tiles.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}.vector.pbf?access_token=key"
+ };
+
+ mbgl::util::mapbox::canonicalizeTileset(tileset, "mapbox://mapbox.streets", SourceType::Vector, 512);
+
+ EXPECT_EQ("mapbox://tiles/mapbox.streets/{z}/{x}/{y}.vector.pbf", tileset.tiles[0]);
+}