mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-76728: Coerce DictReader and DictWriter fieldnames argument to a list (GH-32225)
This commit is contained in:
parent
c09fa7542c
commit
cd492d43a2
4 changed files with 37 additions and 0 deletions
|
@ -736,6 +736,34 @@ class TestDictFields(unittest.TestCase):
|
|||
csv.DictWriter.writerow(writer, dictrow)
|
||||
self.assertEqual(fileobj.getvalue(), "1,2\r\n")
|
||||
|
||||
def test_dict_reader_fieldnames_accepts_iter(self):
|
||||
fieldnames = ["a", "b", "c"]
|
||||
f = StringIO()
|
||||
reader = csv.DictReader(f, iter(fieldnames))
|
||||
self.assertEqual(reader.fieldnames, fieldnames)
|
||||
|
||||
def test_dict_reader_fieldnames_accepts_list(self):
|
||||
fieldnames = ["a", "b", "c"]
|
||||
f = StringIO()
|
||||
reader = csv.DictReader(f, fieldnames)
|
||||
self.assertEqual(reader.fieldnames, fieldnames)
|
||||
|
||||
def test_dict_writer_fieldnames_rejects_iter(self):
|
||||
fieldnames = ["a", "b", "c"]
|
||||
f = StringIO()
|
||||
writer = csv.DictWriter(f, iter(fieldnames))
|
||||
self.assertEqual(writer.fieldnames, fieldnames)
|
||||
|
||||
def test_dict_writer_fieldnames_accepts_list(self):
|
||||
fieldnames = ["a", "b", "c"]
|
||||
f = StringIO()
|
||||
writer = csv.DictWriter(f, fieldnames)
|
||||
self.assertEqual(writer.fieldnames, fieldnames)
|
||||
|
||||
def test_dict_reader_fieldnames_is_optional(self):
|
||||
f = StringIO()
|
||||
reader = csv.DictReader(f, fieldnames=None)
|
||||
|
||||
def test_read_dict_fields(self):
|
||||
with TemporaryFile("w+", encoding="utf-8") as fileobj:
|
||||
fileobj.write("1,2,abc\r\n")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue