Adding test coverage for cgi.FieldStorage based on the scenario mentioned in issue #19097
diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py
index 7fdd482..349d5e9 100644
--- a/Lib/test/test_cgi.py
+++ b/Lib/test/test_cgi.py
@@ -5,6 +5,8 @@
import tempfile
import unittest
+from collections import namedtuple
+
class HackedSysModule:
# The regression test will have real values in sys.argv, which
# will completely confuse the test of the cgi module
@@ -232,6 +234,14 @@
# as long as the chunksize is 1 << 16.
self.assertTrue(f.numcalls > 2)
+ def test_fieldstorage_invalid(self):
+ fs = cgi.FieldStorage()
+ self.assertFalse(fs)
+ self.assertRaises(TypeError, bool(fs))
+ self.assertEqual(list(fs), list(fs.keys()))
+ fs.list.append(namedtuple('MockFieldStorage', 'name')('fieldvalue'))
+ self.assertTrue(fs)
+
def test_fieldstorage_multipart(self):
#Test basic FieldStorage multipart parsing
env = {'REQUEST_METHOD':'POST', 'CONTENT_TYPE':'multipart/form-data; boundary=---------------------------721837373350705526688164684', 'CONTENT_LENGTH':'558'}