266 changes: 172 additions & 94 deletions tests/src/python/test_qgsdelimitedtextprovider.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,9 @@ def delimitedTextData( filename, requests, **params ):
log=[]
for msg in logger.messages():
log.append(msg.replace(filepath,'file'))
return dict( fields=fields, data=data, log=log)
uri = unicode(layer.dataProvider().dataSourceUri())
uri = uri.replace(filepath,'file')
return dict( fields=fields, data=data, log=log, uri=uri)

def createTest( description, filename, requests, **params ):
# Routine to write a new test for a file. Need to check the output is right
Expand All @@ -174,7 +176,9 @@ def createTest( description, filename, requests, **params ):
prefix=' '

# Dump the data for a layer - used to construct unit tests
print prefix+"wanted={"
print prefix+"wanted={}"
print prefix+"wanted['uri']="+repr(result['uri'])
print prefix+"wanted['data']={"
for k in sorted(data.keys()):
row = data[k]
print prefix+" {0}: {{".format(repr(k))
Expand All @@ -183,11 +187,11 @@ def createTest( description, filename, requests, **params ):
print prefix+" },";
print prefix+" }";

print prefix+"log_wanted=["
print prefix+"wanted['log']=["
for msg in log:
print prefix+' '+repr(msg)+','
print prefix+' ]'
print ' runTest(description,wanted,log_wanted,filename,requests,**params)'
print ' runTest(description,wanted,filename,requests,**params)'
print


Expand Down Expand Up @@ -230,16 +234,21 @@ def recordDifference( record1, record2 ):
return "Output contains extra field {0} is missing".format(k)
return ''

def runTest( name, wanted, log_wanted, file, requests, **params ):
def runTest( name, wanted, file, requests, **params ):
print "Running test:",name

result = delimitedTextData( file, requests, **params )
data = result['data']
log = result['log']

failures = []
for id in sorted(wanted.keys()):
wrec = wanted[id]
if result['uri'] != wanted['uri']:
msg = "Layer Uri ({0}) doesn't match expected ({1})".format(
result['uri'],wanted['uri'])
print ' '+msg
falures.append(msg)
wanted_data = wanted['data']
for id in sorted(wanted_data.keys()):
wrec = wanted_data[id]
trec = data.get(id,{})
description = wrec['description']
difference = recordDifference(wrec,trec)
Expand All @@ -249,27 +258,30 @@ def runTest( name, wanted, log_wanted, file, requests, **params ):
print ' {0}: {1}'.format(description,difference)
failures.append(description+': '+difference)
for id in sorted(data.keys()):
if id not in wanted:
if id not in wanted_data:
msg= "Layer contains unexpected extra data with id: \"{0}\"".format(id)
print ' '+msg
failures.append(msg)
break
assert len(failures) == 0,"\n".join(failures)
common=[]
log_wanted = wanted['log']
for l in log:
if l in log_wanted:
common.append(l)
for l in common:
log_wanted.remove(l)
log.remove(l)
for l in log_wanted:
print ' Missing log message:',l
msg='Missing log message: '+l
print ' '+msg
failures.append(msg)

for l in log:
print ' Extra log message:',l
msg='Extra log message: '+l
print ' '+msg
failures.append(msg)
if len(log)==0 and len(log_wanted)==0:
print ' Message log correct: Passed'
assert len(log_wanted) == 0, "Missing log messages:\n"+"\n".join(log_wanted)
assert len(log) == 0, "Extra log messages:\n"+"\n".join(log)
assert len(failures) == 0,"\n".join(failures)

class TestQgsDelimitedTextProvider(TestCase):

Expand All @@ -288,7 +300,9 @@ def test_002_load_csv_file(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&type=csv'
wanted['data']={
2L: {
'id': u'1',
'description': u'Basic unquoted record',
Expand Down Expand Up @@ -344,9 +358,9 @@ def test_002_load_csv_file(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_002a_field_naming(self):
Expand All @@ -357,7 +371,9 @@ def test_002a_field_naming(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&type=csv'
wanted['data']={
2L: {
'id': u'1',
'description': u'Generation of field names',
Expand All @@ -375,9 +391,9 @@ def test_002a_field_naming(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_002b_max_fields(self):
Expand All @@ -388,7 +404,9 @@ def test_002b_max_fields(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&maxFields=7&type=csv'
wanted['data']={
2L: {
'id': u'1',
'description': u'Generation of field names',
Expand All @@ -401,9 +419,9 @@ def test_002b_max_fields(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_003_load_whitespace(self):
Expand All @@ -414,7 +432,9 @@ def test_003_load_whitespace(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&type=whitespace'
wanted['data']={
2L: {
'id': u'1',
'description': u'Simple_whitespace_file',
Expand Down Expand Up @@ -476,9 +496,9 @@ def test_003_load_whitespace(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_004_quote_escape(self):
Expand All @@ -489,7 +509,9 @@ def test_004_quote_escape(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&quote="&delimiter=|&escape=\\'
wanted['data']={
2L: {
'id': u'1',
'description': u'Using pipe delimiter',
Expand Down Expand Up @@ -571,9 +593,9 @@ def test_004_quote_escape(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_005_multiple_quote(self):
Expand All @@ -584,7 +606,9 @@ def test_005_multiple_quote(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&quote=\'"&type=csv&escape="\''
wanted['data']={
2L: {
'id': u'1',
'description': u'Multiple quotes 1',
Expand Down Expand Up @@ -634,14 +658,15 @@ def test_005_multiple_quote(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'3 records discarded due to invalid format',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid record format at line 7',
u'Invalid record format at line 8',
u'Invalid record format at line 9',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_005a_badly_formed_quotes(self):
Expand All @@ -652,7 +677,9 @@ def test_005a_badly_formed_quotes(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&quote="&type=csv&escape="'
wanted['data']={
4L: {
'id': u'3',
'description': u'Recovered after unclosed quore',
Expand All @@ -662,13 +689,14 @@ def test_005a_badly_formed_quotes(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'2 records discarded due to invalid format',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid record format at line 2',
u'Invalid record format at line 5',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_007_skip_lines(self):
Expand All @@ -679,7 +707,9 @@ def test_007_skip_lines(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&skipLines=2&type=csv&useHeader=no'
wanted['data']={
3L: {
'id': u'3',
'description': u'Less data',
Expand All @@ -690,9 +720,9 @@ def test_007_skip_lines(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_008_read_coordinates(self):
Expand All @@ -703,7 +733,9 @@ def test_008_read_coordinates(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?yField=geom_y&xField=geom_x&type=csv'
wanted['data']={
2L: {
'id': u'1',
'description': u'Basic point',
Expand All @@ -729,12 +761,13 @@ def test_008_read_coordinates(self):
'#geometry': 'POINT(13.0 23.0)',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'1 records discarded due to invalid geometry definitions',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid X or Y fields at line 4',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_009_read_wkt(self):
Expand All @@ -745,7 +778,9 @@ def test_009_read_wkt(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?delimiter=|&type=csv&wktField=geom_wkt'
wanted['data']={
2L: {
'id': u'1',
'description': u'Point wkt',
Expand Down Expand Up @@ -777,12 +812,14 @@ def test_009_read_wkt(self):
'#geometry': 'POINT(10.0 20.0)',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'1 records discarded due to invalid geometry definitions',
u'7 records discarded due to incompatible geometry types',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid WKT at line 8',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_010_read_wkt_point(self):
Expand All @@ -793,7 +830,9 @@ def test_010_read_wkt_point(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=point&delimiter=|&type=csv&wktField=geom_wkt'
wanted['data']={
2L: {
'id': u'1',
'description': u'Point wkt',
Expand Down Expand Up @@ -825,12 +864,14 @@ def test_010_read_wkt_point(self):
'#geometry': 'POINT(10.0 20.0)',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'1 records discarded due to invalid geometry definitions',
u'7 records discarded due to incompatible geometry types',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid WKT at line 8',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_011_read_wkt_line(self):
Expand All @@ -841,7 +882,9 @@ def test_011_read_wkt_line(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=line&delimiter=|&type=csv&wktField=geom_wkt'
wanted['data']={
4L: {
'id': u'3',
'description': u'Linestring wkt',
Expand Down Expand Up @@ -873,12 +916,14 @@ def test_011_read_wkt_line(self):
'#geometry': 'LINESTRING(10.0 20.0, 11.0 21.0)',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'1 records discarded due to invalid geometry definitions',
u'7 records discarded due to incompatible geometry types',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid WKT at line 8',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_012_read_wkt_polygon(self):
Expand All @@ -889,7 +934,9 @@ def test_012_read_wkt_polygon(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=polygon&delimiter=|&type=csv&wktField=geom_wkt'
wanted['data']={
6L: {
'id': u'5',
'description': u'Polygon wkt',
Expand All @@ -903,12 +950,14 @@ def test_012_read_wkt_polygon(self):
'#geometry': 'MULTIPOLYGON(((10.0 10.0,10.0 20.0,20.0 20.0,20.0 10.0,10.0 10.0),(14.0 14.0,14.0 16.0,16.0 16.0,14.0 14.0)),((30.0 30.0,30.0 35.0,35.0 35.0,30.0 30.0)))',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'1 records discarded due to invalid geometry definitions',
u'10 records discarded due to incompatible geometry types',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid WKT at line 8',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_013_read_dms_xy(self):
Expand All @@ -919,7 +968,9 @@ def test_013_read_dms_xy(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?yField=lat&xField=lon&type=csv&xyDms=yes'
wanted['data']={
3L: {
'id': u'1',
'description': u'Basic DMS string',
Expand Down Expand Up @@ -1073,16 +1124,17 @@ def test_013_read_dms_xy(self):
'#geometry': 'POINT(1.08716667 4.91716667)',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'5 records discarded due to invalid geometry definitions',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid X or Y fields at line 27',
u'Invalid X or Y fields at line 28',
u'Invalid X or Y fields at line 29',
u'Invalid X or Y fields at line 30',
u'Invalid X or Y fields at line 31',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_014_decimal_point(self):
Expand All @@ -1093,7 +1145,9 @@ def test_014_decimal_point(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?yField=geom_y&xField=geom_x&type=csv&delimiter=;&decimalPoint=,'
wanted['data']={
2L: {
'id': u'1',
'description': u'Comma as decimal point 1',
Expand All @@ -1115,9 +1169,9 @@ def test_014_decimal_point(self):
'#geometry': 'POINT(12.0 25.003)',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_015_regular_expression_1(self):
Expand All @@ -1128,7 +1182,9 @@ def test_015_regular_expression_1(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&trimFields=Y&delimiter=RE(?:GEXP)?&type=regexp'
wanted['data']={
2L: {
'id': u'1',
'description': u'Basic regular expression test',
Expand All @@ -1146,9 +1202,9 @@ def test_015_regular_expression_1(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_016_regular_expression_2(self):
Expand All @@ -1159,7 +1215,9 @@ def test_016_regular_expression_2(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&trimFields=Y&delimiter=(RE)(GEXP)?&type=regexp'
wanted['data']={
2L: {
'id': u'1',
'RE': u'RE',
Expand Down Expand Up @@ -1189,9 +1247,9 @@ def test_016_regular_expression_2(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_017_regular_expression_3(self):
Expand All @@ -1202,7 +1260,9 @@ def test_017_regular_expression_3(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&trimFields=Y&delimiter=^(.{5})(.{30})(.{5,})&type=regexp'
wanted['data']={
2L: {
'id': u'1',
'description': u'Anchored regexp',
Expand All @@ -1218,12 +1278,13 @@ def test_017_regular_expression_3(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
u'Errors in file file',
u'1 records discarded due to invalid format',
u'The following lines were not loaded into QGIS due to errors:',
u'Invalid record format at line 3',
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_017a_regular_expression_4(self):
Expand All @@ -1234,7 +1295,9 @@ def test_017a_regular_expression_4(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&delimiter=x?&type=regexp'
wanted['data']={
2L: {
'id': u'f',
'description': u'i',
Expand All @@ -1249,9 +1312,9 @@ def test_017a_regular_expression_4(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_017a_regular_expression_5(self):
Expand All @@ -1262,7 +1325,9 @@ def test_017a_regular_expression_5(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&delimiter=\\b&type=regexp'
wanted['data']={
2L: {
'id': u'fi',
'description': u'..',
Expand All @@ -1273,9 +1338,9 @@ def test_017a_regular_expression_5(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_018_utf8_encoded_file(self):
Expand All @@ -1286,7 +1351,9 @@ def test_018_utf8_encoded_file(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&delimiter=|&type=csv&encoding=utf-8'
wanted['data']={
2L: {
'id': u'1',
'description': u'Correctly read UTF8 encoding',
Expand All @@ -1295,9 +1362,9 @@ def test_018_utf8_encoded_file(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_019_latin1_encoded_file(self):
Expand All @@ -1308,7 +1375,9 @@ def test_019_latin1_encoded_file(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&delimiter=|&type=csv&encoding=latin1'
wanted['data']={
2L: {
'id': u'1',
'description': u'Correctly read latin1 encoding',
Expand All @@ -1317,9 +1386,10 @@ def test_019_latin1_encoded_file(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_030_filter_rect_xy(self):
description='Filter extents on XY layer'
Expand All @@ -1332,7 +1402,9 @@ def test_030_filter_rect_xy(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?yField=y&delimiter=|&type=csv&xField=x'
wanted['data']={
2L: {
'id': u'1',
'description': u'Inside',
Expand Down Expand Up @@ -1366,9 +1438,9 @@ def test_030_filter_rect_xy(self):
'#geometry': 'POINT(25.0 45.0)',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_031_filter_rect_wkt(self):
Expand All @@ -1382,7 +1454,9 @@ def test_031_filter_rect_wkt(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?delimiter=|&type=csv&wktField=wkt'
wanted['data']={
2L: {
'id': u'1',
'description': u'Inside',
Expand Down Expand Up @@ -1432,9 +1506,9 @@ def test_031_filter_rect_wkt(self):
'#geometry': 'LINESTRING(25.0 35.0, 35.0 35.0)',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_032_filter_fid(self):
Expand All @@ -1450,7 +1524,9 @@ def test_032_filter_fid(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&type=csv'
wanted['data']={
3L: {
'id': u'2',
'description': u'Quoted field',
Expand Down Expand Up @@ -1488,9 +1564,10 @@ def test_032_filter_fid(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)
runTest(description,wanted,filename,requests,**params)


def test_033_filter_attributes(self):
description='Filter on attributes'
Expand All @@ -1506,7 +1583,9 @@ def test_033_filter_attributes(self):
if rebuildTests:
createTest(description,filename,requests,**params)
assert False,"Set rebuildTests to False to run delimited text tests"
wanted={
wanted={}
wanted['uri']=u'file://file?geomType=none&type=csv'
wanted['data']={
2L: {
'id': u'',
'description': u'Basic unquoted record',
Expand Down Expand Up @@ -1607,10 +1686,9 @@ def test_033_filter_attributes(self):
'#geometry': 'None',
},
}
log_wanted=[
wanted['log']=[
]
runTest(description,wanted,log_wanted,filename,requests,**params)

runTest(description,wanted,filename,requests,**params)

#END

Expand Down