mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
configparser: mapping protocol access get() handles configparser-specific arguments as well
This commit is contained in:
parent
1215915045
commit
2f0fd0fa4f
2 changed files with 59 additions and 6 deletions
|
@ -160,6 +160,49 @@ class BasicTestCase(CfgParserTestCaseClass):
|
|||
'this line is much, much longer than my editor\nlikes it.')
|
||||
if self.allow_no_value:
|
||||
eq(cf['NoValue']['option-without-value'], None)
|
||||
# test vars= and fallback=
|
||||
eq(cf['Foo Bar'].get('foo', 'baz'), 'bar1')
|
||||
eq(cf['Foo Bar'].get('foo', fallback='baz'), 'bar1')
|
||||
eq(cf['Foo Bar'].get('foo', vars={'foo': 'baz'}), 'baz')
|
||||
with self.assertRaises(KeyError):
|
||||
cf['No Such Foo Bar']['foo']
|
||||
with self.assertRaises(KeyError):
|
||||
cf['Foo Bar']['no-such-foo']
|
||||
with self.assertRaises(KeyError):
|
||||
cf['No Such Foo Bar'].get('foo', fallback='baz')
|
||||
eq(cf['Foo Bar'].get('no-such-foo', 'baz'), 'baz')
|
||||
eq(cf['Foo Bar'].get('no-such-foo', fallback='baz'), 'baz')
|
||||
eq(cf['Spacey Bar'].get('foo', None), 'bar2')
|
||||
eq(cf['Spacey Bar'].get('foo', fallback=None), 'bar2')
|
||||
with self.assertRaises(KeyError):
|
||||
cf['No Such Spacey Bar'].get('foo', None)
|
||||
eq(cf['Types'].getint('int', 18), 42)
|
||||
eq(cf['Types'].getint('int', fallback=18), 42)
|
||||
eq(cf['Types'].getint('no-such-int', 18), 18)
|
||||
eq(cf['Types'].getint('no-such-int', fallback=18), 18)
|
||||
eq(cf['Types'].getint('no-such-int', "18"), "18") # sic!
|
||||
eq(cf['Types'].getint('no-such-int', fallback="18"), "18") # sic!
|
||||
self.assertAlmostEqual(cf['Types'].getfloat('float', 0.0), 0.44)
|
||||
self.assertAlmostEqual(cf['Types'].getfloat('float',
|
||||
fallback=0.0), 0.44)
|
||||
self.assertAlmostEqual(cf['Types'].getfloat('no-such-float', 0.0), 0.0)
|
||||
self.assertAlmostEqual(cf['Types'].getfloat('no-such-float',
|
||||
fallback=0.0), 0.0)
|
||||
eq(cf['Types'].getfloat('no-such-float', "0.0"), "0.0") # sic!
|
||||
eq(cf['Types'].getfloat('no-such-float', fallback="0.0"), "0.0") # sic!
|
||||
eq(cf['Types'].getboolean('boolean', True), False)
|
||||
eq(cf['Types'].getboolean('boolean', fallback=True), False)
|
||||
eq(cf['Types'].getboolean('no-such-boolean', "yes"), "yes") # sic!
|
||||
eq(cf['Types'].getboolean('no-such-boolean', fallback="yes"),
|
||||
"yes") # sic!
|
||||
eq(cf['Types'].getboolean('no-such-boolean', True), True)
|
||||
eq(cf['Types'].getboolean('no-such-boolean', fallback=True), True)
|
||||
if self.allow_no_value:
|
||||
eq(cf['NoValue'].get('option-without-value', False), None)
|
||||
eq(cf['NoValue'].get('option-without-value', fallback=False), None)
|
||||
eq(cf['NoValue'].get('no-such-option-without-value', False), False)
|
||||
eq(cf['NoValue'].get('no-such-option-without-value',
|
||||
fallback=False), False)
|
||||
|
||||
# Make sure the right things happen for remove_option();
|
||||
# added to include check for SourceForge bug #123324:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue