Fix minor bug in settings subsystem that prevented _FILE/PATH settings to be set to None

This commit is contained in:
Thomas Adamcik 2011-07-17 02:11:06 +02:00
parent 2b5f942f44
commit e2597ab23f
2 changed files with 10 additions and 0 deletions

View File

@ -53,6 +53,8 @@ class SettingsProxy(object):
value = self.current[attr]
if isinstance(value, basestring) and len(value) == 0:
raise SettingsError(u'Setting "%s" is empty.' % attr)
if not value:
return value
if attr.endswith('_PATH') or attr.endswith('_FILE'):
value = os.path.expanduser(value)
value = os.path.abspath(value)

View File

@ -150,6 +150,14 @@ class SettingsProxyTest(unittest.TestCase):
actual = self.settings.TEST
self.assertEqual(actual, './test')
def test_value_ending_in_file_can_be_none(self):
self.settings.TEST_FILE = None
self.assertEqual(self.settings.TEST_FILE, None)
def test_value_ending_in_path_can_be_none(self):
self.settings.TEST_PATH = None
self.assertEqual(self.settings.TEST_PATH, None)
def test_interactive_input_of_missing_defaults(self):
self.settings.default['TEST'] = ''
interactive_input = 'input'