config: Make list return tuples so we get imuttable data.
This commit is contained in:
parent
dcd0d7e813
commit
29a4ff040e
@ -154,7 +154,7 @@ class List(ConfigValue):
|
||||
values = re.split(r'\s*\n\s*', value.strip())
|
||||
else:
|
||||
values = re.split(r'\s*,\s*', value.strip())
|
||||
return [v for v in values if v]
|
||||
return tuple([v for v in values if v])
|
||||
|
||||
def serialize(self, value):
|
||||
return '\n '.join(v.encode('utf-8') for v in value)
|
||||
|
||||
@ -199,10 +199,10 @@ class ListTest(unittest.TestCase):
|
||||
def test_deserialize_conversion_success(self):
|
||||
value = config.List()
|
||||
|
||||
expected = ['foo', 'bar', 'baz']
|
||||
expected = ('foo', 'bar', 'baz')
|
||||
self.assertEqual(expected, value.deserialize('foo, bar ,baz '))
|
||||
|
||||
expected = ['foo,bar', 'bar', 'baz']
|
||||
expected = ('foo,bar', 'bar', 'baz')
|
||||
self.assertEqual(expected, value.deserialize(' foo,bar\nbar\nbaz'))
|
||||
|
||||
def test_deserialize_enforces_required(self):
|
||||
@ -212,12 +212,12 @@ class ListTest(unittest.TestCase):
|
||||
|
||||
def test_deserialize_respects_optional(self):
|
||||
value = config.List(optional=True)
|
||||
self.assertEqual([], value.deserialize(''))
|
||||
self.assertEqual([], value.deserialize(' '))
|
||||
self.assertEqual(tuple(), value.deserialize(''))
|
||||
self.assertEqual(tuple(), value.deserialize(' '))
|
||||
|
||||
def test_serialize(self):
|
||||
value = config.List()
|
||||
result = value.serialize(['foo', 'bar', 'baz'])
|
||||
result = value.serialize(('foo', 'bar', 'baz'))
|
||||
self.assertRegexpMatches(result, r'foo\n\s*bar\n\s*baz')
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user