diff options
author | Łukasz Langa <lukasz@langa.pl> | 2011-04-28 15:04:25 (GMT) |
---|---|---|
committer | Łukasz Langa <lukasz@langa.pl> | 2011-04-28 15:04:25 (GMT) |
commit | 70eb79c669547509d82b3e2d8fac7fa1b6244f75 (patch) | |
tree | 5b6ee8a0b6371c450196ddab8f4c0d99850efdb6 /Lib/test/test_configparser.py | |
parent | bf53a9c25670c75433b1c95263741f8a29c7c8b5 (diff) | |
parent | 1aa422fe8f056fd0000da45a67d875adc75cf034 (diff) | |
download | cpython-70eb79c669547509d82b3e2d8fac7fa1b6244f75.zip cpython-70eb79c669547509d82b3e2d8fac7fa1b6244f75.tar.gz cpython-70eb79c669547509d82b3e2d8fac7fa1b6244f75.tar.bz2 |
Merged solution for #11324 from 3.2.
Diffstat (limited to 'Lib/test/test_configparser.py')
-rw-r--r-- | Lib/test/test_configparser.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Lib/test/test_configparser.py b/Lib/test/test_configparser.py index 299f37a..a712b2b 100644 --- a/Lib/test/test_configparser.py +++ b/Lib/test/test_configparser.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, |