Merge pull request #3689 from milchakov/MAPSME-1655_floor_count_validation

[editor] Mapsme 1655 incorrect floor count validation
This commit is contained in:
ygorshenin 2016-06-29 17:12:48 +03:00 committed by GitHub
commit 5e1c7d4d05
2 changed files with 4 additions and 0 deletions

View file

@ -202,6 +202,9 @@ bool EditableMapObject::ValidateBuildingLevels(string const & buildingLevels)
if (buildingLevels.size() > 18 /* max number of digits in uint_64 */)
return false;
if ('0' == buildingLevels.front())
return false;
uint64_t levels;
return strings::to_uint64(buildingLevels, levels) && levels > 0 && levels <= kMaximumLevelsEditableByUsers;
}

View file

@ -29,6 +29,7 @@ UNIT_TEST(EditableMapObject_ValidateBuildingLevels)
TEST(EditableMapObject::ValidateBuildingLevels("17"), ());
TEST(EditableMapObject::ValidateBuildingLevels("25"), ());
TEST(!EditableMapObject::ValidateBuildingLevels("0"), ());
TEST(!EditableMapObject::ValidateBuildingLevels("005"), ());
TEST(!EditableMapObject::ValidateBuildingLevels("26"), ());
TEST(!EditableMapObject::ValidateBuildingLevels("22a"), ());
TEST(!EditableMapObject::ValidateBuildingLevels("a22"), ());