@@ -423,6 +423,21 @@ def test_read_short(self):
423423 "4" : 'DEFAULT' , "5" : 'DEFAULT' ,
424424 "6" : 'DEFAULT' })
425425
426+ def test_read_multi (self ):
427+ sample = [
428+ '2147483648,43.0e12,17,abc,def\r \n ' ,
429+ '147483648,43.0e2,17,abc,def\r \n ' ,
430+ '47483648,43.0,170,abc,def\r \n '
431+ ]
432+
433+ reader = csv .DictReader (sample ,
434+ fieldnames = "i1 float i2 s1 s2" .split ())
435+ self .assertEqual (reader .next (), {"i1" : '2147483648' ,
436+ "float" : '43.0e12' ,
437+ "i2" : '17' ,
438+ "s1" : 'abc' ,
439+ "s2" : 'def' })
440+
426441 def test_read_with_blanks (self ):
427442 reader = csv .DictReader (["1,2,abc,4,5,6\r \n " ,"\r \n " ,
428443 "1,2,abc,4,5,6\r \n " ],
@@ -555,6 +570,12 @@ class TestSniffer(unittest.TestCase):
555570 05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
55657105/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
55757205/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
573+ '''
574+
575+ sample4 = '''\
576+ 2147483648;43.0e12;17;abc;def
577+ 147483648;43.0e2;17;abc;def
578+ 47483648;43.0;170;abc;def
558579'''
559580
560581 def test_has_header (self ):
@@ -582,6 +603,8 @@ def test_delimiters(self):
582603 self .assertEqual (dialect .delimiter , "?" )
583604 dialect = sniffer .sniff (self .sample3 , delimiters = "/," )
584605 self .assertEqual (dialect .delimiter , "/" )
606+ dialect = sniffer .sniff (self .sample4 )
607+ self .assertEqual (dialect .delimiter , ";" )
585608
586609if not hasattr (sys , "gettotalrefcount" ):
587610 if test_support .verbose : print "*** skipping leakage tests ***"
0 commit comments