Tweaks for compat with Python 2.6 and Python 3.X

This commit is contained in:
Steven Cummings 2013-12-29 12:34:14 -06:00
parent fd4c87d67a
commit 877ef5c9ed
2 changed files with 10 additions and 18 deletions

View File

@ -76,7 +76,7 @@ class DictField(WritableField):
def to_native(self, obj): def to_native(self, obj):
if self.value_field and obj: if self.value_field and obj:
return dict( return dict(
(unicode(key, **self.unicode_options), self.value_field.to_native(value)) (six.text_type(key, **self.unicode_options), self.value_field.to_native(value))
for key, value in obj.items() for key, value in obj.items()
) )
return obj return obj
@ -84,7 +84,7 @@ class DictField(WritableField):
def from_native(self, data): def from_native(self, data):
if self.value_field and data: if self.value_field and data:
return dict( return dict(
(unicode(key, **self.unicode_options), self.value_field.from_native(value)) (six.text_type(key, **self.unicode_options), self.value_field.from_native(value))
for key, value in data.items() for key, value in data.items()
) )
return data return data

View File

@ -68,16 +68,14 @@ class ListFieldTests(unittest.TestCase):
(None) value. (None) value.
""" """
field = ListField() field = ListField()
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, None)
field.validate(None)
def test_validate_non_list(self): def test_validate_non_list(self):
""" """
When a ListField is given a non-list value, then validate will raise a ValidationError. When a ListField is given a non-list value, then validate will raise a ValidationError.
""" """
field = ListField() field = ListField()
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, 'notAList')
field.validate('notAList')
def test_validate_empty_list(self): def test_validate_empty_list(self):
""" """
@ -85,8 +83,7 @@ class ListFieldTests(unittest.TestCase):
value. value.
""" """
field = ListField() field = ListField()
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, [])
field.validate([])
def test_validate_elements_valid(self): def test_validate_elements_valid(self):
""" """
@ -105,8 +102,7 @@ class ListFieldTests(unittest.TestCase):
then validate will raise a ValidationError. then validate will raise a ValidationError.
""" """
field = ListField(CharField(max_length=5)) field = ListField(CharField(max_length=5))
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, ["012345", "012345"])
field.validate(["012345", "012345"])
class DictFieldTests(unittest.TestCase): class DictFieldTests(unittest.TestCase):
@ -162,16 +158,14 @@ class DictFieldTests(unittest.TestCase):
(None) value. (None) value.
""" """
field = DictField() field = DictField()
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, None)
field.validate(None)
def test_validate_non_dict(self): def test_validate_non_dict(self):
""" """
When a DictField is given a non-dict value, then validate will raise a ValidationError. When a DictField is given a non-dict value, then validate will raise a ValidationError.
""" """
field = DictField() field = DictField()
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, 'notADict')
field.validate('notADict')
def test_validate_empty_dict(self): def test_validate_empty_dict(self):
""" """
@ -179,8 +173,7 @@ class DictFieldTests(unittest.TestCase):
value. value.
""" """
field = DictField() field = DictField()
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, {})
field.validate({})
def test_validate_elements_valid(self): def test_validate_elements_valid(self):
""" """
@ -199,5 +192,4 @@ class DictFieldTests(unittest.TestCase):
then validate will raise a ValidationError. then validate will raise a ValidationError.
""" """
field = DictField(CharField(max_length=5)) field = DictField(CharField(max_length=5))
with self.assertRaises(ValidationError): self.assertRaises(ValidationError, field.validate, {"a": "012345", "b": "012345"})
field.validate({"a": "012345", "b": "012345"})