diff options
author | fuzzyman <devnull@localhost> | 2010-02-27 18:06:01 +0000 |
---|---|---|
committer | fuzzyman <devnull@localhost> | 2010-02-27 18:06:01 +0000 |
commit | 1c026e33f66be248ae380d7f7501e0216d5fb9d3 (patch) | |
tree | 2696f43ab01df748c0ec9abbdaa16108b5f747cf | |
parent | ffef79b899f76d930624ce0ebf628db6cb0b7f88 (diff) | |
download | configobj-1c026e33f66be248ae380d7f7501e0216d5fb9d3.tar.gz |
New tests for bugs in 4.7.1
-rw-r--r-- | configobj.py | 4 | ||||
-rw-r--r-- | functionaltests/test_configobj.py | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/configobj.py b/configobj.py index 90fad5b..6dcb554 100644 --- a/configobj.py +++ b/configobj.py @@ -573,7 +573,9 @@ class Section(dict): if isinstance(entry, basestring): return self._interpolate(key, entry) return entry - return [_check(entry) for entry in val] + new = [_check(entry) for entry in val] + if new != val: + return new return val diff --git a/functionaltests/test_configobj.py b/functionaltests/test_configobj.py index 9a6782c..73ecf25 100644 --- a/functionaltests/test_configobj.py +++ b/functionaltests/test_configobj.py @@ -39,4 +39,18 @@ class TestConfigObj(unittest.TestCase): # unpack the only member of log warning, = log - self.assertEqual(warning.category, DeprecationWarning)
\ No newline at end of file + self.assertEqual(warning.category, DeprecationWarning) + + def test_list_members(self): + c = ConfigObj() + c['a'] = [] + c['a'].append('foo') + self.assertEqual(c['a'], ['foo']) + + def test_list_interpolation_with_pop(self): + c = ConfigObj() + c['a'] = [] + c['a'].append('%(b)s') + c['b'] = 'bar' + self.assertEqual(c.pop('a'), ['bar']) + |