@@ -30,6 +30,8 @@ def _test_arg_valid(self, ctor, arg):
3030 self .assertRaises (TypeError , ctor , arg , lineterminator = None )
3131 self .assertRaises (TypeError , ctor , arg , lineterminator = 1 )
3232 self .assertRaises (TypeError , ctor , arg , quoting = None )
33+ self .assertRaises (TypeError , ctor , arg ,
34+ quoting = csv .QUOTE_ALL , quotechar = '' )
3335
3436 def test_reader_arg_valid (self ):
3537 self ._test_arg_valid (csv .reader , [])
@@ -231,15 +233,21 @@ def test_read_quoting(self):
231233 def test_read_bigfield (self ):
232234 # This exercises the buffer realloc functionality and field size
233235 # limits.
234- size = 50000
235- bigstring = 'X' * size
236- bigline = '%s,%s' % (bigstring , bigstring )
237- self ._read_test ([bigline ], [[bigstring , bigstring ]])
238- csv .set_field_limit (size )
239- self ._read_test ([bigline ], [[bigstring , bigstring ]])
240- self .assertEqual (csv .set_field_limit (), size )
241- csv .set_field_limit (size - 1 )
242- self .assertRaises (csv .Error , self ._read_test , [bigline ], [])
236+ limit = csv .set_field_limit ()
237+ try :
238+ size = 50000
239+ bigstring = 'X' * size
240+ bigline = '%s,%s' % (bigstring , bigstring )
241+ self ._read_test ([bigline ], [[bigstring , bigstring ]])
242+ csv .set_field_limit (size )
243+ self ._read_test ([bigline ], [[bigstring , bigstring ]])
244+ self .assertEqual (csv .set_field_limit (), size )
245+ csv .set_field_limit (size - 1 )
246+ self .assertRaises (csv .Error , self ._read_test , [bigline ], [])
247+ self .assertRaises (TypeError , csv .set_field_limit , None )
248+ self .assertRaises (TypeError , csv .set_field_limit , 1 , None )
249+ finally :
250+ csv .set_field_limit (limit )
243251
244252class TestDialectRegistry (unittest .TestCase ):
245253 def test_registry_badargs (self ):
@@ -252,6 +260,12 @@ def test_registry_badargs(self):
252260 self .assertRaises (csv .Error , csv .unregister_dialect , "nonesuch" )
253261 self .assertRaises (TypeError , csv .register_dialect , None )
254262 self .assertRaises (TypeError , csv .register_dialect , None , None )
263+ self .assertRaises (TypeError , csv .register_dialect , "nonesuch" , 0 , 0 )
264+ self .assertRaises (TypeError , csv .register_dialect , "nonesuch" ,
265+ badargument = None )
266+ self .assertRaises (TypeError , csv .register_dialect , "nonesuch" ,
267+ quoting = None )
268+ self .assertRaises (TypeError , csv .register_dialect , [])
255269
256270 def test_registry (self ):
257271 class myexceltsv (csv .excel ):
0 commit comments