Fix minor bug in settings subsystem that prevented _FILE/PATH settings to be set to None
This commit is contained in:
parent
2b5f942f44
commit
e2597ab23f
@ -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)
|
||||
|
||||
@ -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'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user