Skip to content

Commit dd60fcd

Browse files
committedJan 5, 2018
[bugfix] Add failing test for OGR setSubsetString
Fails to revert to rw after a subset string is set and cleared
1 parent 227dc9c commit dd60fcd

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed
 

‎tests/src/python/test_provider_ogr.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,25 @@ def testSetupProxy(self):
318318
self.assertEqual(gdal.GetConfigOption("GDAL_HTTP_PROXY"), "myproxyhostname.com")
319319
self.assertEqual(gdal.GetConfigOption("GDAL_HTTP_PROXYUSERPWD"), "username")
320320

321+
def testSubSetStringEditable(self):
322+
"""Test that a shapefile is editable after setting a subset"""
323+
vl = QgsVectorLayer(TEST_DATA_DIR + '/' + 'lines.shp', 'subset_test', 'ogr')
324+
self.assertTrue(vl.isValid())
325+
self.assertTrue(vl.dataProvider().capabilities() & QgsVectorDataProvider.DeleteFeatures)
326+
327+
vl = QgsVectorLayer(TEST_DATA_DIR + '/' + 'lines.shp', 'subset_test', 'ogr')
328+
vl.setSubsetString('')
329+
self.assertTrue(vl.isValid())
330+
self.assertTrue(vl.dataProvider().capabilities() & QgsVectorDataProvider.DeleteFeatures)
331+
332+
vl = QgsVectorLayer(TEST_DATA_DIR + '/' + 'lines.shp', 'subset_test', 'ogr')
333+
vl.setSubsetString('"Name" = \'Arterial\'')
334+
self.assertTrue(vl.isValid())
335+
self.assertFalse(vl.dataProvider().capabilities() & QgsVectorDataProvider.DeleteFeatures)
336+
337+
vl.setSubsetString('')
338+
self.assertTrue(vl.dataProvider().capabilities() & QgsVectorDataProvider.DeleteFeatures)
339+
321340

322341
if __name__ == '__main__':
323342
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.