diff options
| author | Loic Bistuer <loic.bistuer@sixmedia.com> | 2013-10-22 00:33:57 +0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-10-21 14:54:52 -0400 |
| commit | e565e1332ddfbb44fe7e6139375e3c243af7398d (patch) | |
| tree | e435682dd384a2fa4aca78b378679c92076041f2 /tests | |
| parent | 28b70425afb2fb8bcbec09d249e37fa786f8a155 (diff) | |
Fixed #21275 -- Fixed a serializer error when generating migrations for contrib.auth.
The migration serializer now looks for a deconstruct method on any object.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/migrations/test_writer.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/migrations/test_writer.py b/tests/migrations/test_writer.py index 3e6fe50793..0d64d40350 100644 --- a/tests/migrations/test_writer.py +++ b/tests/migrations/test_writer.py @@ -6,11 +6,13 @@ import copy import datetime import os +from django.core.validators import RegexValidator, EmailValidator from django.db import models, migrations from django.db.migrations.writer import MigrationWriter from django.db.models.loading import cache from django.test import TestCase, override_settings from django.utils import six +from django.utils.deconstruct import deconstructible from django.utils.translation import ugettext_lazy as _ @@ -77,6 +79,18 @@ class WriterTests(TestCase): self.assertSerializedEqual(datetime.datetime.today) self.assertSerializedEqual(datetime.date.today()) self.assertSerializedEqual(datetime.date.today) + # Classes + validator = RegexValidator(message="hello") + string, imports = MigrationWriter.serialize(validator) + self.assertEqual(string, "django.core.validators.RegexValidator(message=%s)" % repr("hello")) + self.serialize_round_trip(validator) + validator = EmailValidator(message="hello") # Test with a subclass. + string, imports = MigrationWriter.serialize(validator) + self.assertEqual(string, "django.core.validators.EmailValidator(message=%s)" % repr("hello")) + self.serialize_round_trip(validator) + validator = deconstructible(path="custom.EmailValidator")(EmailValidator)(message="hello") + string, imports = MigrationWriter.serialize(validator) + self.assertEqual(string, "custom.EmailValidator(message=%s)" % repr("hello")) # Django fields self.assertSerializedFieldEqual(models.CharField(max_length=255)) self.assertSerializedFieldEqual(models.TextField(null=True, blank=True)) |
