summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configobj.py2
-rw-r--r--docs/configobj.txt11
-rw-r--r--test_configobj.py24
3 files changed, 31 insertions, 6 deletions
diff --git a/configobj.py b/configobj.py
index ed1d5ea..fee7bda 100644
--- a/configobj.py
+++ b/configobj.py
@@ -702,6 +702,8 @@ class Section(dict):
self.comments = {}
self.inline_comments = {}
self.configspec = None
+ self.defaults = []
+ self.extra_values = []
def setdefault(self, key, default=None):
diff --git a/docs/configobj.txt b/docs/configobj.txt
index ab8e9a4..60f78e9 100644
--- a/docs/configobj.txt
+++ b/docs/configobj.txt
@@ -2341,13 +2341,12 @@ From version 4 it lists all releases and changes.
* ~25% performance improvement thanks to Christian Heimes
* Removed __revision__ and __docformat__
* BUGFIX: Checks that failed validation would not populate 'default_values' and
- 'restore_default_value' wouldn't work.
-* String interpolation now works in list values.
+ 'restore_default_value' wouldn't work
+* String interpolation now works in list values
* After validation any additional entries not in the configspec are listed in
- the 'extra_values' section member.
-
-XXX clear should also clear defaults and extras but not default_values
- reset should clear all
+ the 'extra_values' section member
+* BUGFIX: clear() clears 'defaults'
+
2009/04/13 - Version 4.6.0
--------------------------
diff --git a/test_configobj.py b/test_configobj.py
index f02d240..b68a505 100644
--- a/test_configobj.py
+++ b/test_configobj.py
@@ -2039,6 +2039,30 @@ def _test_extra_values():
[]
"""
+def _test_reset_and_clear_more():
+ """
+ >>> c = ConfigObj()
+ >>> c.extra_values = ['foo']
+ >>> c.defaults = ['bar']
+ >>> c.default_values = {'bar': 'baz'}
+ >>> c.clear()
+ >>> c.defaults
+ []
+ >>> c.extra_values
+ []
+ >>> c.default_values
+ {'bar': 'baz'}
+ >>> c.extra_values = ['foo']
+ >>> c.defaults = ['bar']
+ >>> c.reset()
+ >>> c.defaults
+ []
+ >>> c.extra_values
+ []
+ >>> c.default_values
+ {}
+ """
+
# TODO: Test BOM handling
# TODO: Test error code for badly built multiline values
# TODO: Test handling of StringIO