Merge "Fix issue with coercing valid_values to a tuple"

This commit is contained in:
Jenkins 2016-05-10 20:02:10 +00:00 committed by Gerrit Code Review
commit 72dad26004
2 changed files with 6 additions and 2 deletions

View File

@ -293,7 +293,7 @@ class Enum(String):
@property
def valid_values(self):
return tuple(self._valid_values)
return copy.copy(self._valid_values)
def coerce(self, obj, attr, value):
if value not in self._valid_values:

View File

@ -55,7 +55,7 @@ class FakeEnumAlt(fields.Enum):
PLATYPUS = "platypus"
AARDVARK = "aardvark"
ALL = (FROG, PLATYPUS, AARDVARK)
ALL = set([FROG, PLATYPUS, AARDVARK])
def __init__(self, **kwargs):
super(FakeEnumAlt, self).__init__(valid_values=FakeEnumAlt.ALL,
@ -256,6 +256,10 @@ class TestBaseEnum(TestField):
self.assertEqual(self.field.valid_values,
FakeEnum.ALL)
def test_valid_values_keeps_type(self):
self.assertIsInstance(self.field.valid_values, tuple)
self.assertIsInstance(FakeEnumAltField().valid_values, set)
class TestEnum(TestField):
def setUp(self):