253: Fixed error in Option.get_default() where Option.convert() was being called on Option.default; updated corresponding unit tests

This commit is contained in:
Jason Gerard DeRose
2008-09-04 02:41:31 +00:00
parent cf7e4c1038
commit a5c6bf179b
2 changed files with 5 additions and 7 deletions

View File

@@ -162,7 +162,7 @@ class Option(plugable.ReadOnly):
default = self.default_from(**kw)
if default is not None:
return self.convert(default)
return self.convert(self.default)
return self.default
def get_values(self):
if self.type.name in ('Enum', 'CallbackEnum'):
@@ -208,16 +208,13 @@ class Command(plugable.Plugin):
return dict(self.__convert_iter(kw))
def __normalize_iter(self, kw):
for (key, value) in kw.items():
for (key, value) in kw.iteritems():
if key in self.Option:
yield (
key, self.Option[key].normalize(value)
)
yield (key, self.Option[key].normalize(value))
else:
yield (key, value)
def normalize(self, **kw):
self.print_call('normalize', kw, 1)
return dict(self.__normalize_iter(kw))
def __get_default_iter(self, kw):

View File

@@ -293,6 +293,7 @@ class test_Option(ClassChecker):
assert o.get_default(first='John', last='Doe') == 'Hello, John Doe!'
# Scenario 2: multivalue=True
default = (default,)
o = self.cls(name, doc, type_,
default=default,
default_from=default_from,
@@ -300,7 +301,7 @@ class test_Option(ClassChecker):
)
assert o.default is default
assert o.default_from is default_from
assert o.get_default() == (default,)
assert o.get_default() == default
assert o.get_default(first='John', last='Doe') == ('Hello, John Doe!',)
def test_get_value(self):