Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/map
diff options
context:
space:
mode:
authorAlex Zolotarev <deathbaba@gmail.com>2012-11-08 05:35:33 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:46:41 +0300
commitb5965f599595f9ea90f1f768c540fcdee0cc6cea (patch)
treed0e01ee85844b03c56f8788335122feb954cd327 /map
parent9c4d6350e9c29b61c5f9d74c648dd832fd3dfdec (diff)
[ios] Added back geo URI Scheme support
Diffstat (limited to 'map')
-rw-r--r--map/geourl_process.cpp13
-rw-r--r--map/map_tests/geourl_test.cpp15
2 files changed, 15 insertions, 13 deletions
diff --git a/map/geourl_process.cpp b/map/geourl_process.cpp
index f22f490a87..8a7981f56a 100644
--- a/map/geourl_process.cpp
+++ b/map/geourl_process.cpp
@@ -25,7 +25,7 @@ namespace url_scheme
}
- class DoParse
+ class DoGeoParse
{
Info & m_info;
@@ -54,7 +54,7 @@ namespace url_scheme
}
public:
- DoParse(Info & info) : m_info(info), m_mode(START)
+ DoGeoParse(Info & info) : m_info(info), m_mode(START)
{
}
@@ -63,8 +63,11 @@ namespace url_scheme
switch (m_mode)
{
case START:
- ASSERT(token == "geo" || token == "mapswithme", (token));
- m_mode = LAT;
+ // Only geo scheme is supported by this parser
+ if (token != "geo")
+ m_mode = FINISH;
+ else
+ m_mode = LAT;
break;
case LAT:
@@ -99,6 +102,6 @@ namespace url_scheme
void ParseURL(string const & s, Info & info)
{
- strings::Tokenize(s, ":/?&=,", DoParse(info));
+ strings::Tokenize(s, ":/?&=,", DoGeoParse(info));
}
}
diff --git a/map/map_tests/geourl_test.cpp b/map/map_tests/geourl_test.cpp
index d715e4cc16..8f25f38aa3 100644
--- a/map/map_tests/geourl_test.cpp
+++ b/map/map_tests/geourl_test.cpp
@@ -7,25 +7,24 @@ using namespace url_scheme;
UNIT_TEST(ProcessURL_Smoke)
{
Info info;
- ParseURL("geo:53.666,27.666", info);
+ ParseGeoURL("geo:53.666,27.666", info);
TEST(info.IsValid(), ());
TEST_ALMOST_EQUAL(info.m_lat, 53.666, ());
TEST_ALMOST_EQUAL(info.m_lon, 27.666, ());
info.Reset();
- ParseURL("mapswithme:53.666,27.666", info);
+ ParseGeoURL("geo://point/?lon=27.666&lat=53.666&zoom=10", info);
TEST(info.IsValid(), ());
TEST_ALMOST_EQUAL(info.m_lat, 53.666, ());
TEST_ALMOST_EQUAL(info.m_lon, 27.666, ());
+ TEST_ALMOST_EQUAL(info.m_zoom, 10.0, ());
info.Reset();
- ParseURL("mapswithme://point/?lon=27.666&lat=53.666&zoom=10", info);
- TEST(info.IsValid(), ());
- TEST_ALMOST_EQUAL(info.m_lat, 53.666, ());
- TEST_ALMOST_EQUAL(info.m_lon, 27.666, ());
- TEST_ALMOST_EQUAL(info.m_zoom, 10.0, ());
+ ParseGeoURL("geo:53.666", info);
+ TEST(!info.IsValid(), ());
info.Reset();
- ParseURL("geo:53.666", info);
+ ParseGeoURL("mapswithme:123.33,32.22/showmethemagic", info);
TEST(!info.IsValid(), ());
+
}