4343 QgsVectorLayer ,
4444 QgsFeatureRequest ,
4545 QgsRectangle ,
46- QgsMessageLog
46+ QgsMessageLog ,
47+ QGis
4748 )
4849
4950from utilities import (getQgisTestApp ,
@@ -190,7 +191,7 @@ def delimitedTextData(testname, filename, requests, verbose, **params):
190191 msg = re .sub (r'file\s+.*' + re .escape (filename ), 'file ' + filelogname , msg )
191192 msg = msg .replace (filepath , filelogname )
192193 log .append (msg )
193- return dict (fields = fields , fieldTypes = fieldTypes , data = data , log = log , uri = uri )
194+ return dict (fields = fields , fieldTypes = fieldTypes , data = data , log = log , uri = uri , geometryType = layer . geometryType () )
194195
195196
196197def printWanted (testname , result ):
@@ -206,6 +207,7 @@ def printWanted(testname, result):
206207 print prefix + "wanted={}"
207208 print prefix + "wanted['uri']=" + repr (result ['uri' ])
208209 print prefix + "wanted['fieldTypes']=" + repr (result ['fieldTypes' ])
210+ print prefix + "wanted['geometryType']=" + repr (result ['geometryType' ])
209211 print prefix + "wanted['data']={"
210212 for k in sorted (data .keys ()):
211213 row = data [k ]
@@ -272,6 +274,10 @@ def runTest(file, requests, **params):
272274 msg = "Layer field types ({0}) doesn't match expected ({1})" .format (
273275 result ['fieldTypes' ], wanted ['fieldTypes' ])
274276 failures .append (msg )
277+ if result ['geometryType' ] != wanted ['geometryType' ]:
278+ msg = "Layer geometry type ({0}) doesn't match expected ({1})" .format (
279+ result ['geometryType' ], wanted ['geometryType' ])
280+ failures .append (msg )
275281 wanted_data = wanted ['data' ]
276282 for id in sorted (wanted_data .keys ()):
277283 wrec = wanted_data [id ]
@@ -728,5 +734,13 @@ def test_038_type_inference(self):
728734 requests = None
729735 runTest (filename , requests , ** params )
730736
737+ def test_039_issue_13749 (self ):
738+ # First record contains missing geometry
739+ filename = 'test13749.csv'
740+ params = {'yField' : 'geom_y' , 'xField' : 'geom_x' , 'type' : 'csv' }
741+ requests = None
742+ runTest (filename , requests , ** params )
743+
744+
731745if __name__ == '__main__' :
732746 unittest .main ()
0 commit comments