Changeset 13764

Show
Ignore:
Timestamp:
02/11/08 15:24:40 (6 months ago)
Author:
rouault
Message:

Add a test to ogr_shape.py to check that empty multipoints, multilines and multipolygones are returned as features with NULL geometries (ticket #2217)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/autotest/ogr/ogr_shape.py

    r13552 r13764  
    633633    ds.Destroy() 
    634634     
     635    return 'success' 
     636 
     637############################################################################### 
     638# Test empty multipoint, multiline, multipolygon. 
     639# From GDAL 1.6.0, the expected behaviour is to return a feature with a NULL geometry 
     640 
     641def ogr_shape_20(): 
     642 
     643    if gdaltest.shape_ds is None: 
     644        return 'skip' 
     645 
     646    ds = ogr.Open('data/emptymultipoint.shp') 
     647    lyr = ds.GetLayer(0) 
     648    lyr.ResetReading() 
     649    feat = lyr.GetNextFeature() 
     650 
     651    if feat is None: 
     652        return 'fail' 
     653    if feat.GetGeometryRef() is not None: 
     654        return 'fail' 
     655 
     656    feat.Destroy() 
     657    lyr = None 
     658    ds.Destroy() 
     659 
     660 
     661    ds = ogr.Open('data/emptymultiline.shp') 
     662    lyr = ds.GetLayer(0) 
     663    lyr.ResetReading() 
     664    feat = lyr.GetNextFeature() 
     665 
     666    if feat is None: 
     667        return 'fail' 
     668    if feat.GetGeometryRef() is not None: 
     669        return 'fail' 
     670 
     671    feat.Destroy() 
     672    lyr = None 
     673    ds.Destroy() 
     674 
     675 
     676    ds = ogr.Open('data/emptymultipoly.shp') 
     677    lyr = ds.GetLayer(0) 
     678    lyr.ResetReading() 
     679    feat = lyr.GetNextFeature() 
     680 
     681    if feat is None: 
     682        return 'fail' 
     683    if feat.GetGeometryRef() is not None: 
     684        return 'fail' 
     685 
     686    feat.Destroy() 
     687    lyr = None 
     688    ds.Destroy() 
     689 
    635690    return 'success' 
    636691 
     
    671726    ogr_shape_18, 
    672727    ogr_shape_19, 
     728    ogr_shape_20, 
    673729    ogr_shape_cleanup ] 
    674730