From 6fcdb049150644e658444b4d64586bc5e0def6d4 Mon Sep 17 00:00:00 2001 From: jingsam Date: Mon, 4 Jul 2016 00:22:32 +0800 Subject: [PATCH 1/4] correct all EXPECT_EQ(actual, expected) to EXPECT_EQ(expected, actual) --- test/util/mapbox.cpp | 65 ++++++++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/test/util/mapbox.cpp b/test/util/mapbox.cpp index e5da25991d9..516ec50bb21 100644 --- a/test/util/mapbox.cpp +++ b/test/util/mapbox.cpp @@ -7,34 +7,65 @@ using namespace mbgl; -// TODO: correct all EXPECT_EQ(actual, expected) to EXPECT_EQ(expected, actual) TEST(Mapbox, SourceURL) { - EXPECT_EQ(mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "key"), "https://api.mapbox.com/v4/user.map.json?access_token=key&secure"); - EXPECT_EQ(mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "token"), "https://api.mapbox.com/v4/user.map.json?access_token=token&secure"); - EXPECT_THROW(mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", ""), std::runtime_error); + EXPECT_EQ( + "https://api.mapbox.com/v4/user.map.json?access_token=key&secure", + mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "key")); + EXPECT_EQ( + "https://api.mapbox.com/v4/user.map.json?access_token=token&secure", + mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "token")); + EXPECT_THROW( + std::runtime_error, + mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "")); } TEST(Mapbox, GlyphsURL) { - EXPECT_EQ(mbgl::util::mapbox::normalizeGlyphsURL("mapbox://fonts/boxmap/Comic%20Sans/0-255.pbf", "key"), "https://api.mapbox.com/fonts/v1/boxmap/Comic%20Sans/0-255.pbf?access_token=key"); - EXPECT_EQ(mbgl::util::mapbox::normalizeGlyphsURL("mapbox://fonts/boxmap/{fontstack}/{range}.pbf", "key"), "https://api.mapbox.com/fonts/v1/boxmap/{fontstack}/{range}.pbf?access_token=key"); - EXPECT_EQ(mbgl::util::mapbox::normalizeGlyphsURL("http://path", "key"), "http://path"); - EXPECT_EQ(mbgl::util::mapbox::normalizeGlyphsURL("mapbox://path", "key"), "mapbox://path"); + EXPECT_EQ( + "https://api.mapbox.com/fonts/v1/boxmap/Comic%20Sans/0-255.pbf?access_token=key", + mbgl::util::mapbox::normalizeGlyphsURL("mapbox://fonts/boxmap/Comic%20Sans/0-255.pbf", "key")); + EXPECT_EQ( + "https://api.mapbox.com/fonts/v1/boxmap/{fontstack}/{range}.pbf?access_token=key", + mbgl::util::mapbox::normalizeGlyphsURL("mapbox://fonts/boxmap/{fontstack}/{range}.pbf", "key")); + EXPECT_EQ( + "http://path", + mbgl::util::mapbox::normalizeGlyphsURL("http://path", "key")); + EXPECT_EQ( + "mapbox://path", + mbgl::util::mapbox::normalizeGlyphsURL("mapbox://path", "key")); } TEST(Mapbox, StyleURL) { - EXPECT_EQ(mbgl::util::mapbox::normalizeStyleURL("mapbox://foo", "key"), "mapbox://foo"); - EXPECT_EQ(mbgl::util::mapbox::normalizeStyleURL("mapbox://styles/user/style", "key"), "https://api.mapbox.com/styles/v1/user/style?access_token=key"); - EXPECT_EQ(mbgl::util::mapbox::normalizeStyleURL("mapbox://styles/user/style/draft", "key"), "https://api.mapbox.com/styles/v1/user/style/draft?access_token=key"); - EXPECT_EQ(mbgl::util::mapbox::normalizeStyleURL("http://path", "key"), "http://path"); + EXPECT_EQ( + "mapbox://foo", + mbgl::util::mapbox::normalizeStyleURL("mapbox://foo", "key")); + EXPECT_EQ( + "https://api.mapbox.com/styles/v1/user/style?access_token=key", + mbgl::util::mapbox::normalizeStyleURL("mapbox://styles/user/style", "key")); + EXPECT_EQ( + "https://api.mapbox.com/styles/v1/user/style/draft?access_token=key", + mbgl::util::mapbox::normalizeStyleURL("mapbox://styles/user/style/draft", "key")); + EXPECT_EQ( + "http://path", + mbgl::util::mapbox::normalizeStyleURL("http://path", "key")); } TEST(Mapbox, SpriteURL) { - EXPECT_EQ(mbgl::util::mapbox::normalizeSpriteURL("map/box/sprites@2x.json", "key"), "map/box/sprites@2x.json"); - EXPECT_EQ(mbgl::util::mapbox::normalizeSpriteURL("mapbox://foo", "key"), "mapbox://foo"); - EXPECT_EQ(mbgl::util::mapbox::normalizeSpriteURL("mapbox://sprites/mapbox/streets-v8.json", "key"), "https://api.mapbox.com/styles/v1/mapbox/streets-v8/sprite.json?access_token=key"); - EXPECT_EQ(mbgl::util::mapbox::normalizeSpriteURL("mapbox://sprites/mapbox/streets-v8@2x.png", "key"), "https://api.mapbox.com/styles/v1/mapbox/streets-v8/sprite@2x.png?access_token=key"); - EXPECT_EQ(mbgl::util::mapbox::normalizeSpriteURL("mapbox://sprites/mapbox/streets-v8/draft@2x.png", "key"), "https://api.mapbox.com/styles/v1/mapbox/streets-v8/draft/sprite@2x.png?access_token=key"); + EXPECT_EQ( + "map/box/sprites@2x.json", + mbgl::util::mapbox::normalizeSpriteURL("map/box/sprites@2x.json", "key")); + EXPECT_EQ( + "mapbox://foo", + mbgl::util::mapbox::normalizeSpriteURL("mapbox://foo", "key")); + EXPECT_EQ( + "https://api.mapbox.com/styles/v1/mapbox/streets-v8/sprite.json?access_token=key", + mbgl::util::mapbox::normalizeSpriteURL("mapbox://sprites/mapbox/streets-v8.json", "key")); + EXPECT_EQ( + "https://api.mapbox.com/styles/v1/mapbox/streets-v8/sprite@2x.png?access_token=key", + mbgl::util::mapbox::normalizeSpriteURL("mapbox://sprites/mapbox/streets-v8@2x.png", "key")); + EXPECT_EQ( + "https://api.mapbox.com/styles/v1/mapbox/streets-v8/draft/sprite@2x.png?access_token=key", + mbgl::util::mapbox::normalizeSpriteURL("mapbox://sprites/mapbox/streets-v8/draft@2x.png", "key")); } TEST(Mapbox, TileURL) { From 6ddc4d851af5c9714b74f509aa849f4832f6dd15 Mon Sep 17 00:00:00 2001 From: jingsam Date: Mon, 4 Jul 2016 01:15:26 +0800 Subject: [PATCH 2/4] fix getMapboxURLPathname() of URL with querystring --- src/mbgl/util/mapbox.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mbgl/util/mapbox.cpp b/src/mbgl/util/mapbox.cpp index 41959563f06..97c28c0aeb1 100644 --- a/src/mbgl/util/mapbox.cpp +++ b/src/mbgl/util/mapbox.cpp @@ -20,13 +20,14 @@ bool isMapboxURL(const std::string& url) { std::vector getMapboxURLPathname(const std::string& url) { std::vector pathname; std::size_t startIndex = protocol.length(); - while (startIndex < url.length()) { + std::size_t end = url.find_first_of("?#"); + if (end == std::string::npos) { + end = url.length(); + } + while (startIndex < end) { std::size_t endIndex = url.find("/", startIndex); if (endIndex == std::string::npos) { - endIndex = url.find_first_of("?#"); - } - if (endIndex == std::string::npos) { - endIndex = url.length(); + endIndex = end; } pathname.push_back(url.substr(startIndex, endIndex - startIndex)); startIndex = endIndex + 1; From ae45dfde2c9b8158e9114e28c4cfd45f3df4544f Mon Sep 17 00:00:00 2001 From: jingsam Date: Mon, 4 Jul 2016 01:21:27 +0800 Subject: [PATCH 3/4] add test for normalizeSourceURL of non-mapbox protocal --- test/util/mapbox.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/util/mapbox.cpp b/test/util/mapbox.cpp index 516ec50bb21..009cac5b8ea 100644 --- a/test/util/mapbox.cpp +++ b/test/util/mapbox.cpp @@ -13,8 +13,8 @@ TEST(Mapbox, SourceURL) { "https://api.mapbox.com/v4/user.map.json?access_token=key&secure", mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "key")); EXPECT_EQ( - "https://api.mapbox.com/v4/user.map.json?access_token=token&secure", - mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "token")); + "http://path", + mbgl::util::mapbox::normalizeSourceURL("http://path", "key"); EXPECT_THROW( std::runtime_error, mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "")); From a2fc19355a7b56ecc4ac594779e402b948143fbf Mon Sep 17 00:00:00 2001 From: jingsam Date: Mon, 4 Jul 2016 15:21:44 +0800 Subject: [PATCH 4/4] Update mapbox.cpp --- test/util/mapbox.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/util/mapbox.cpp b/test/util/mapbox.cpp index 009cac5b8ea..7f9e7ef592d 100644 --- a/test/util/mapbox.cpp +++ b/test/util/mapbox.cpp @@ -14,10 +14,10 @@ TEST(Mapbox, SourceURL) { mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "key")); EXPECT_EQ( "http://path", - mbgl::util::mapbox::normalizeSourceURL("http://path", "key"); + mbgl::util::mapbox::normalizeSourceURL("http://path", "key")); EXPECT_THROW( - std::runtime_error, - mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", "")); + mbgl::util::mapbox::normalizeSourceURL("mapbox://user.map", ""), + std::runtime_error); } TEST(Mapbox, GlyphsURL) {