From 1aa422fe8f056fd0000da45a67d875adc75cf034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Langa?= Date: Thu, 28 Apr 2011 17:03:45 +0200 Subject: Closes #11324: ConfigParser(interpolation=None) doesn't work. Initial patches by Tobias Brink. Thanks! --- Lib/test/test_cfgparser.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'Lib/test/test_cfgparser.py') diff --git a/Lib/test/test_cfgparser.py b/Lib/test/test_cfgparser.py index 299f37a107..a712b2b396 100644 --- a/Lib/test/test_cfgparser.py +++ b/Lib/test/test_cfgparser.py @@ -864,6 +864,43 @@ class ConfigParserTestCase(BasicTestCase): cf = self.newconfig() self.assertRaises(ValueError, cf.add_section, self.default_section) + +class ConfigParserTestCaseNoInterpolation(BasicTestCase): + config_class = configparser.ConfigParser + interpolation = None + ini = textwrap.dedent(""" + [numbers] + one = 1 + two = %(one)s * 2 + three = ${common:one} * 3 + + [hexen] + sixteen = ${numbers:two} * 8 + """).strip() + + def assertMatchesIni(self, cf): + self.assertEqual(cf['numbers']['one'], '1') + self.assertEqual(cf['numbers']['two'], '%(one)s * 2') + self.assertEqual(cf['numbers']['three'], '${common:one} * 3') + self.assertEqual(cf['hexen']['sixteen'], '${numbers:two} * 8') + + def test_no_interpolation(self): + cf = self.fromstring(self.ini) + self.assertMatchesIni(cf) + + def test_empty_case(self): + cf = self.newconfig() + self.assertIsNone(cf.read_string("")) + + def test_none_as_default_interpolation(self): + class CustomConfigParser(configparser.ConfigParser): + _DEFAULT_INTERPOLATION = None + + cf = CustomConfigParser() + cf.read_string(self.ini) + self.assertMatchesIni(cf) + + class ConfigParserTestCaseLegacyInterpolation(ConfigParserTestCase): config_class = configparser.ConfigParser interpolation = configparser.LegacyInterpolation() @@ -1444,6 +1481,7 @@ def test_main(): ConfigParserTestCaseNoValue, ConfigParserTestCaseExtendedInterpolation, ConfigParserTestCaseLegacyInterpolation, + ConfigParserTestCaseNoInterpolation, ConfigParserTestCaseTrickyFile, MultilineValuesTestCase, RawConfigParserTestCase, -- cgit v1.2.1