diff options
| author | Tom Christie | 2014-11-05 10:48:30 +0000 | 
|---|---|---|
| committer | Tom Christie | 2014-11-05 10:48:30 +0000 | 
| commit | 0a5d088287be1bb56f37504cc75cee10fb4e74a0 (patch) | |
| tree | bd7a05cb9496d4a374fa4d6186c631a752c5c82b /tests/test_validation.py | |
| parent | 26b6180f5047e965383553177cd5cd7938bbe63e (diff) | |
| download | django-rest-framework-0a5d088287be1bb56f37504cc75cee10fb4e74a0.tar.bz2 | |
Fix failing copy of fields when RegexValidator is used. Closes #1954.
Diffstat (limited to 'tests/test_validation.py')
| -rw-r--r-- | tests/test_validation.py | 20 | 
1 files changed, 19 insertions, 1 deletions
| diff --git a/tests/test_validation.py b/tests/test_validation.py index c278d90f..3db82555 100644 --- a/tests/test_validation.py +++ b/tests/test_validation.py @@ -1,9 +1,10 @@  from __future__ import unicode_literals -from django.core.validators import MaxValueValidator +from django.core.validators import RegexValidator, MaxValueValidator  from django.db import models  from django.test import TestCase  from rest_framework import generics, serializers, status  from rest_framework.test import APIRequestFactory +import re  factory = APIRequestFactory() @@ -174,3 +175,20 @@ class TestChoiceFieldChoicesValidate(TestCase):      #         f.to_native(value)      #     except ValidationError:      #         self.fail("Value %s does not validate" % str(value)) + + +class RegexSerializer(serializers.Serializer): +    pin = serializers.CharField( +        validators=[RegexValidator(regex=re.compile('^[0-9]{4,6}$'), +                                   message='A PIN is 4-6 digits')]) + +expected_repr = """ +RegexSerializer(): +    pin = CharField(validators=[<django.core.validators.RegexValidator object>]) +""".strip() + + +class TestRegexSerializer(TestCase): +    def test_regex_repr(self): +        serializer_repr = repr(RegexSerializer()) +        assert serializer_repr == expected_repr | 
