From fb0f987f7de5f01d72c671444df0f95de4706fc6 Mon Sep 17 00:00:00 2001 From: chillaranand Date: Wed, 14 Jun 2017 18:11:02 +0530 Subject: Fixed #27914 -- Added support for nested classes in Field.deconstruct()/__repr__(). --- tests/model_fields/tests.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests/model_fields') diff --git a/tests/model_fields/tests.py b/tests/model_fields/tests.py index 11a2e7d52d..29e1f102ab 100644 --- a/tests/model_fields/tests.py +++ b/tests/model_fields/tests.py @@ -9,6 +9,11 @@ from .models import ( ) +class Nested(): + class Field(models.Field): + pass + + class BasicFieldTests(TestCase): def test_show_hidden_initial(self): @@ -33,6 +38,10 @@ class BasicFieldTests(TestCase): f = models.fields.CharField() self.assertEqual(repr(f), '') + def test_field_repr_nested(self): + """__repr__() uses __qualname__ for nested class support.""" + self.assertEqual(repr(Nested.Field()), '') + def test_field_name(self): """ A defined field name (name="fieldname") is used instead of the model @@ -85,6 +94,11 @@ class BasicFieldTests(TestCase): field._get_default pickle.dumps(field) + def test_deconstruct_nested_field(self): + """deconstruct() uses __qualname__ for nested class support.""" + name, path, args, kwargs = Nested.Field().deconstruct() + self.assertEqual(path, 'model_fields.tests.Nested.Field') + class ChoicesTests(SimpleTestCase): -- cgit v1.3