diff options
author | mgsergio <mgsergio@yandex.ru> | 2016-07-05 13:36:50 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-05 13:36:50 +0300 |
commit | e7915eb557ff76a913e934da17c601d71f891fe6 (patch) | |
tree | a434d03c8ec967c8aa5b2fd26f413dc9669e5214 /indexer | |
parent | f268bd2f16cc94df8b75c6e789b285ab8b7dd8da (diff) | |
parent | 381db9f24d2028fcbc9d86ad13608616801c2cf8 (diff) |
Merge pull request #3720 from milchakov/MAPSME-1660_incorrect_website_validation
[editor] incorrect website validation
Diffstat (limited to 'indexer')
-rw-r--r-- | indexer/editable_map_object.cpp | 11 | ||||
-rw-r--r-- | indexer/indexer_tests/editable_map_object_test.cpp | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/indexer/editable_map_object.cpp b/indexer/editable_map_object.cpp index 8bc08aebaa..164705edcf 100644 --- a/indexer/editable_map_object.cpp +++ b/indexer/editable_map_object.cpp @@ -320,9 +320,14 @@ bool EditableMapObject::ValidateWebsite(string const & site) if (site.empty()) return true; - auto const dotPos = find(begin(site), end(site), '.'); - // Site should contain at least one dot but not at the begining/and. - if (dotPos == end(site) || site.front() == '.' || site.back() == '.') + // Site should contain at least one dot but not at the begining/end. + if ('.' == site.front() || '.' == site.back()) + return false; + + if (string::npos == site.find(".")) + return false; + + if (string::npos != site.find("..")) return false; return true; diff --git a/indexer/indexer_tests/editable_map_object_test.cpp b/indexer/indexer_tests/editable_map_object_test.cpp index d33275d68a..059db03572 100644 --- a/indexer/indexer_tests/editable_map_object_test.cpp +++ b/indexer/indexer_tests/editable_map_object_test.cpp @@ -100,6 +100,8 @@ UNIT_TEST(EditableMapObject_ValidateWebsite) TEST(!EditableMapObject::ValidateWebsite(".qwerty"), ()); TEST(!EditableMapObject::ValidateWebsite("qwerty."), ()); TEST(!EditableMapObject::ValidateWebsite(".qwerty."), ()); + TEST(!EditableMapObject::ValidateWebsite(".qwerty."), ()); + TEST(!EditableMapObject::ValidateWebsite("w..com"), ()); } UNIT_TEST(EditableMapObject_ValidateEmail) |