Skip to content

Commit 348af7e

Browse files
committedOct 18, 2016
test_provider_ogr_gpkg.py: pyflakes fixes
1 parent 9786fc0 commit 348af7e

File tree

1 file changed

+28
-9
lines changed

1 file changed

+28
-9
lines changed
 

‎tests/src/python/test_provider_ogr_gpkg.py

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,10 @@
1717
import os
1818
import tempfile
1919
import shutil
20-
import glob
2120
from osgeo import gdal, ogr
2221

23-
from qgis.core import QgsVectorLayer, QgsFeature, QgsGeometry, QgsFeatureRequest
22+
from qgis.core import QgsVectorLayer, QgsFeature, QgsGeometry
2423
from qgis.testing import start_app, unittest
25-
from utilities import unitTestDataPath
2624

2725
start_app()
2826

@@ -57,14 +55,14 @@ def testSingleToMultiPolygonPromotion(self):
5755

5856
tmpfile = os.path.join(self.basetestpath, 'testSingleToMultiPolygonPromotion.gpkg')
5957
ds = ogr.GetDriverByName('GPKG').CreateDataSource(tmpfile)
60-
lyr = ds.CreateLayer('test', geom_type=ogr.wkbMultiPolygon)
58+
ds.CreateLayer('test', geom_type=ogr.wkbMultiPolygon)
6159
ds = None
6260

6361
vl = QgsVectorLayer('{}|layerid=0'.format(tmpfile), 'test', 'ogr')
6462
f = QgsFeature()
6563
f.setGeometry(QgsGeometry.fromWkt('POLYGON ((0 0,0 1,1 1,0 0))'))
6664
vl.dataProvider().addFeatures([f])
67-
got = [f for f in vl.getFeatures()][0]
65+
got = [feat for feat in vl.getFeatures()][0]
6866
got_geom = got.geometry()
6967
reference = QgsGeometry.fromWkt('MultiPolygon (((0 0, 0 1, 1 1, 0 0)))')
7068
# The geometries must be binarily identical
@@ -75,15 +73,15 @@ def testCurveGeometryType(self):
7573

7674
tmpfile = os.path.join(self.basetestpath, 'testCurveGeometryType.gpkg')
7775
ds = ogr.GetDriverByName('GPKG').CreateDataSource(tmpfile)
78-
lyr = ds.CreateLayer('test', geom_type=ogr.wkbCurvePolygon)
76+
ds.CreateLayer('test', geom_type=ogr.wkbCurvePolygon)
7977
ds = None
8078

8179
vl = QgsVectorLayer('{}'.format(tmpfile), 'test', 'ogr')
8280
self.assertEqual(vl.dataProvider().subLayers(), ['0:test:0:CurvePolygon'])
8381
f = QgsFeature()
8482
f.setGeometry(QgsGeometry.fromWkt('POLYGON ((0 0,0 1,1 1,0 0))'))
8583
vl.dataProvider().addFeatures([f])
86-
got = [f for f in vl.getFeatures()][0]
84+
got = [feat for feat in vl.getFeatures()][0]
8785
got_geom = got.geometry()
8886
reference = QgsGeometry.fromWkt('CurvePolygon (((0 0, 0 1, 1 1, 0 0)))')
8987
# The geometries must be binarily identical
@@ -148,13 +146,34 @@ def testBug15351_closeIter_commit_closeProvider(self):
148146

149147
@unittest.expectedFailure(int(gdal.VersionInfo('VERSION_NUM')) < GDAL_COMPUTE_VERSION(2, 0, 0))
150148
# We need GDAL 2.0 to issue PRAGMA journal_mode
151-
def testBug15351_closeIter_commit_closeProvider(self):
152-
self.internalTestBug15351('closeIter_commit_closeProvider')
149+
def testBug15351_commit_closeProvider_closeIter(self):
150+
self.internalTestBug15351('commit_closeProvider_closeIter')
153151

154152
@unittest.expectedFailure(int(gdal.VersionInfo('VERSION_NUM')) < GDAL_COMPUTE_VERSION(2, 0, 0))
155153
# We need GDAL 2.0 to issue PRAGMA journal_mode
156154
def testBug15351_commit_closeIter_closeProvider(self):
157155
self.internalTestBug15351('commit_closeIter_closeProvider')
158156

157+
def testSelectSubsetString(self):
158+
159+
tmpfile = os.path.join(self.basetestpath, 'testSelectSubsetString.gpkg')
160+
ds = ogr.GetDriverByName('GPKG').CreateDataSource(tmpfile)
161+
lyr = ds.CreateLayer('test', geom_type=ogr.wkbMultiPolygon)
162+
lyr.CreateField(ogr.FieldDefn('foo', ogr.OFTString))
163+
f = ogr.Feature(lyr.GetLayerDefn())
164+
f['foo'] = 'bar'
165+
lyr.CreateFeature(f)
166+
f = None
167+
f = ogr.Feature(lyr.GetLayerDefn())
168+
f['foo'] = 'baz'
169+
lyr.CreateFeature(f)
170+
f = None
171+
ds = None
172+
173+
vl = QgsVectorLayer('{}|layerid=0'.format(tmpfile), 'test', 'ogr')
174+
vl.setSubsetString("SELECT fid, foo FROM test WHERE foo = 'baz'")
175+
got = [feat for feat in vl.getFeatures()]
176+
self.assertEqual( len(got), 1 )
177+
159178
if __name__ == '__main__':
160179
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.