@@ -918,6 +918,13 @@ def test_dict_reader_fieldnames_accepts_list(self):
918918 reader = csv .DictReader (f , fieldnames )
919919 self .assertEqual (reader .fieldnames , fieldnames )
920920
921+ def test_dict_reader_set_fieldnames (self ):
922+ fieldnames = ["a" , "b" , "c" ]
923+ f = StringIO ()
924+ reader = csv .DictReader (f )
925+ reader .fieldnames = fieldnames
926+ self .assertEqual (reader .fieldnames , fieldnames )
927+
921928 def test_dict_writer_fieldnames_rejects_iter (self ):
922929 fieldnames = ["a" , "b" , "c" ]
923930 f = StringIO ()
@@ -933,6 +940,7 @@ def test_dict_writer_fieldnames_accepts_list(self):
933940 def test_dict_reader_fieldnames_is_optional (self ):
934941 f = StringIO ()
935942 reader = csv .DictReader (f , fieldnames = None )
943+ self .assertEqual (reader .fieldnames , None )
936944
937945 def test_read_dict_fields (self ):
938946 with TemporaryFile ("w+" , encoding = "utf-8" ) as fileobj :
@@ -951,7 +959,7 @@ def test_read_dict_no_fieldnames(self):
951959 self .assertEqual (reader .fieldnames , ["f1" , "f2" , "f3" ])
952960
953961 # Two test cases to make sure existing ways of implicitly setting
954- # fieldnames continue to work. Both arise from discussion in issue3436.
962+ # fieldnames continue to work. Both arise from discussion in issue3436.
955963 def test_read_dict_fieldnames_from_file (self ):
956964 with TemporaryFile ("w+" , encoding = "utf-8" ) as fileobj :
957965 fileobj .write ("f1,f2,f3\r \n 1,2,abc\r \n " )
@@ -1353,6 +1361,9 @@ class TestSniffer(unittest.TestCase):
13531361ghi\0 jkl
13541362"""
13551363
1364+ sample15 = "\n \n \n "
1365+ sample16 = "abc\n def\n ghi"
1366+
13561367 def test_issue43625 (self ):
13571368 sniffer = csv .Sniffer ()
13581369 self .assertTrue (sniffer .has_header (self .sample12 ))
@@ -1423,6 +1434,11 @@ def test_delimiters(self):
14231434 self .assertEqual (dialect .quotechar , "'" )
14241435 dialect = sniffer .sniff (self .sample14 )
14251436 self .assertEqual (dialect .delimiter , '\0 ' )
1437+ self .assertRaisesRegex (csv .Error , "Could not determine delimiter" ,
1438+ sniffer .sniff , self .sample15 )
1439+ self .assertRaisesRegex (csv .Error , "Could not determine delimiter" ,
1440+ sniffer .sniff , self .sample16 )
1441+
14261442
14271443 def test_doublequote (self ):
14281444 sniffer = csv .Sniffer ()
0 commit comments