stop testing bogus wkb since it will crash wkb reader - refs #2236
This commit is contained in:
parent
b462913fa1
commit
5ddde3c885
2 changed files with 38 additions and 23 deletions
30
src/wkb.cpp
30
src/wkb.cpp
|
@ -576,19 +576,33 @@ private:
|
|||
switch (type)
|
||||
{
|
||||
case wkbPoint: s << "Point"; break;
|
||||
case wkbLineString: s << "LineString"; break;
|
||||
case wkbPolygon: s << "Polygon"; break;
|
||||
case wkbMultiPoint: s << "MultiPoint"; break;
|
||||
case wkbMultiLineString: s << "MultiLineString"; break;
|
||||
case wkbMultiPolygon: s << "MultiPolygon"; break;
|
||||
case wkbGeometryCollection: s << "GeometryCollection"; break;
|
||||
case wkbPointZ: s << "PointZ"; break;
|
||||
case wkbLineStringZ: s << "LineStringZ"; break;
|
||||
case wkbPolygonZ: s << "PolygonZ"; break;
|
||||
case wkbPointM: s << "PointM"; break;
|
||||
case wkbPointZM: s << "PointZM"; break;
|
||||
case wkbMultiPoint: s << "MultiPoint"; break;
|
||||
case wkbMultiPointZ: s << "MultiPointZ"; break;
|
||||
case wkbMultiPointM: s << "MultiPointM"; break;
|
||||
case wkbMultiPointZM: s << "MultiPointZM"; break;
|
||||
case wkbLineString: s << "LineString"; break;
|
||||
case wkbLineStringZ: s << "LineStringZ"; break;
|
||||
case wkbLineStringM: s << "LineStringM"; break;
|
||||
case wkbLineStringZM: s << "LineStringZM"; break;
|
||||
case wkbMultiLineString: s << "MultiLineString"; break;
|
||||
case wkbMultiLineStringZ: s << "MultiLineStringZ"; break;
|
||||
case wkbMultiLineStringM: s << "MultiLineStringM"; break;
|
||||
case wkbMultiLineStringZM: s << "MultiLineStringZM"; break;
|
||||
case wkbPolygon: s << "Polygon"; break;
|
||||
case wkbPolygonZ: s << "PolygonZ"; break;
|
||||
case wkbPolygonM: s << "PolygonM"; break;
|
||||
case wkbPolygonZM: s << "PolygonZM"; break;
|
||||
case wkbMultiPolygon: s << "MultiPolygon"; break;
|
||||
case wkbMultiPolygonZ: s << "MultiPolygonZ"; break;
|
||||
case wkbMultiPolygonM: s << "MultiPolygonM"; break;
|
||||
case wkbMultiPolygonZM: s << "MultiPolygonZM"; break;
|
||||
case wkbGeometryCollection: s << "GeometryCollection"; break;
|
||||
case wkbGeometryCollectionZ: s << "GeometryCollectionZ"; break;
|
||||
case wkbGeometryCollectionM: s << "GeometryCollectionM"; break;
|
||||
case wkbGeometryCollectionZM: s << "GeometryCollectionZM"; break;
|
||||
default: s << "wkbUnknown(" << type << ")"; break;
|
||||
}
|
||||
|
||||
|
|
|
@ -68,17 +68,6 @@ wkbs = [
|
|||
[ 0, "LINESTRING EMPTY", '010200000000000000'],
|
||||
[ 0, "MULTILINESTRING EMPTY", '010500000000000000'],
|
||||
[ 0, "Polygon EMPTY", '010300000000000000'],
|
||||
[ 0, "MULTIPOLYGON EMPTY", '010600000000000000'],
|
||||
[ 0, "TRIANGLE EMPTY", '011100000000000000'],
|
||||
|
||||
[ 0, "CircularString EMPTY", '010800000000000000'],
|
||||
[ 0, "CurvePolygon EMPTY", '010A00000000000000'],
|
||||
[ 0, "CompoundCurve EMPTY", '010900000000000000'],
|
||||
[ 0, "MultiCurve EMPTY", '010B00000000000000'],
|
||||
|
||||
[ 0, "MultiSurface EMPTY", '010C00000000000000'],
|
||||
[ 0, "PolyhedralSurface EMPTY", '010F00000000000000'],
|
||||
[ 0, "TIN EMPTY", '011000000000000000'],
|
||||
[ 0, "GEOMETRYCOLLECTION EMPTY", '010700000000000000'],
|
||||
[ 2, "GEOMETRYCOLLECTION(MULTILINESTRING((10 10,20 20,10 40),(40 40,30 30,40 20,30 10)),LINESTRING EMPTY)", '010700000002000000010500000002000000010200000003000000000000000000244000000000000024400000000000003440000000000000344000000000000024400000000000004440010200000004000000000000000000444000000000000044400000000000003e400000000000003e40000000000000444000000000000034400000000000003e400000000000002440010200000000000000'
|
||||
],
|
||||
|
@ -88,10 +77,22 @@ wkbs = [
|
|||
[ 1, "GEOMETRYCOLLECTION(POINT EMPTY,MULTIPOINT(0 0))", '010700000002000000010400000000000000010400000001000000010100000000000000000000000000000000000000'],
|
||||
[ 0, "LINESTRING EMPTY", '010200000000000000' ],
|
||||
[ 1, "Point(0 0)", '010100000000000000000000000000000000000000' ],
|
||||
# a few bogus inputs
|
||||
[ 0, "", '' ],
|
||||
[ 0, "00", '01' ],
|
||||
[ 0, "0000", '0104' ],
|
||||
# unsupported types
|
||||
[ 0, "MULTIPOLYGON EMPTY", '010600000000000000'],
|
||||
[ 0, "TRIANGLE EMPTY", '011100000000000000'],
|
||||
[ 0, "CircularString EMPTY", '010800000000000000'],
|
||||
[ 0, "CurvePolygon EMPTY", '010A00000000000000'],
|
||||
[ 0, "CompoundCurve EMPTY", '010900000000000000'],
|
||||
[ 0, "MultiCurve EMPTY", '010B00000000000000'],
|
||||
[ 0, "MultiSurface EMPTY", '010C00000000000000'],
|
||||
[ 0, "PolyhedralSurface EMPTY", '010F00000000000000'],
|
||||
[ 0, "TIN EMPTY", '011000000000000000'],
|
||||
# TODO - a few bogus inputs
|
||||
# enable if we start range checking to avoid crashing on invalid input?
|
||||
# https://github.com/mapnik/mapnik/issues/2236
|
||||
#[ 0, "", '' ],
|
||||
#[ 0, "00", '01' ],
|
||||
#[ 0, "0000", '0104' ],
|
||||
]
|
||||
|
||||
def test_path_geo_interface():
|
||||
|
|
Loading…
Reference in a new issue