diff options
| author | Matteo Suppo | 2013-03-23 14:18:11 +0100 | 
|---|---|---|
| committer | Matteo Suppo | 2013-03-23 14:18:11 +0100 | 
| commit | 0081d744b9f530b2418d1e82d7ad94a2ebc31c9c (patch) | |
| tree | 8becd0fec6b13186d1c6a395052a157233a66e37 /rest_framework/tests/serializer.py | |
| parent | 9fdb661c593a3c042d7aa2cd4608ae5b81f8109c (diff) | |
| download | django-rest-framework-0081d744b9f530b2418d1e82d7ad94a2ebc31c9c.tar.bz2 | |
Added tests for issue 747 in serializer.py
Diffstat (limited to 'rest_framework/tests/serializer.py')
| -rw-r--r-- | rest_framework/tests/serializer.py | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index 05217f35..0386ca76 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -1082,3 +1082,32 @@ class DeserializeListTestCase(TestCase):          self.assertFalse(serializer.is_valid())          expected = [{}, {'email': ['This field is required.']}, {}]          self.assertEqual(serializer.errors, expected) + + +# test for issue 747 + +class LazyStringModel(object): +    def __init__(self, lazystring): +        self.lazystring = lazystring + + +class LazyStringSerializer(serializers.Serializer): +    lazystring = serializers.Field() + +    def restore_object(self, attrs, instance=None): +        if instance is not None: +            instance.lazystring = attrs.get('lazystring', instance.lazystring) +            return instance +        return Comment(**attrs) + + +class LazyStringsTestCase(TestCase): + +    def setUp(self): +        from django.utils.translation import ugettext_lazy as _ + +        self.model = LazyStringModel(lazystring=_("lazystring")) + +    def test_lazy_strings_are_translated(self): +        serializer = LazyStringSerializer(self.model) +        self.assertEqual(type(serializer.data['lazystring']), type("lazystring")) | 
