mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
fix output from RawConfigParser.write and ConfigParser.write for None
values (http://bugs.python.org/issue7005) (merged r84443 from the release27-mmaint branch, with changes to reflect changes in Python 3)
This commit is contained in:
parent
af1e140334
commit
8844441ae6
3 changed files with 33 additions and 1 deletions
|
@ -755,6 +755,34 @@ class SafeConfigParserTestCaseTrickyFile(CfgParserTestCaseClass):
|
|||
with self.assertRaises(UnicodeDecodeError):
|
||||
cf.read(tricky, encoding='ascii')
|
||||
|
||||
|
||||
class Issue7005TestCase(unittest.TestCase):
|
||||
"""Test output when None is set() as a value and allow_no_value == False.
|
||||
|
||||
http://bugs.python.org/issue7005
|
||||
|
||||
"""
|
||||
|
||||
expected_output = "[section]\noption = None\n\n"
|
||||
|
||||
def prepare(self, config_class):
|
||||
# This is the default, but that's the point.
|
||||
cp = config_class(allow_no_value=False)
|
||||
cp.add_section("section")
|
||||
cp.set("section", "option", None)
|
||||
sio = io.StringIO()
|
||||
cp.write(sio)
|
||||
return sio.getvalue()
|
||||
|
||||
def test_none_as_value_stringified(self):
|
||||
output = self.prepare(configparser.ConfigParser)
|
||||
self.assertEqual(output, self.expected_output)
|
||||
|
||||
def test_none_as_value_stringified_raw(self):
|
||||
output = self.prepare(configparser.RawConfigParser)
|
||||
self.assertEqual(output, self.expected_output)
|
||||
|
||||
|
||||
class SortedTestCase(RawConfigParserTestCase):
|
||||
dict_type = SortedDict
|
||||
|
||||
|
@ -811,6 +839,7 @@ def test_main():
|
|||
SafeConfigParserTestCaseNoValue,
|
||||
SafeConfigParserTestCaseTrickyFile,
|
||||
SortedTestCase,
|
||||
Issue7005TestCase,
|
||||
StrictTestCase,
|
||||
CompatibleTestCase,
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue