summaryrefslogtreecommitdiff
path: root/tests/forms_tests
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2024-12-09 15:40:47 +0000
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-12-10 12:14:52 +0100
commit4806c42efac790dd65bc890b85904df7bdeb1309 (patch)
treea81b462c0611b3a0e8585944b80005e64477e664 /tests/forms_tests
parent02628c051c18d000256424daffe996c22bed5ae3 (diff)
Fixed #35987 -- Made ErrorList.copy() copy the renderer attribute.
Diffstat (limited to 'tests/forms_tests')
-rw-r--r--tests/forms_tests/tests/test_forms.py6
-rw-r--r--tests/forms_tests/tests/test_utils.py12
2 files changed, 18 insertions, 0 deletions
diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py
index d88ac33f24..b49f0a8a69 100644
--- a/tests/forms_tests/tests/test_forms.py
+++ b/tests/forms_tests/tests/test_forms.py
@@ -4849,6 +4849,12 @@ class RendererTests(SimpleTestCase):
form = CustomForm(renderer=custom)
self.assertEqual(form.renderer, custom)
+ def test_get_context_errors(self):
+ custom = CustomRenderer()
+ form = Form(renderer=custom)
+ context = form.get_context()
+ self.assertEqual(context["errors"].renderer, custom)
+
class TemplateTests(SimpleTestCase):
def test_iterate_radios(self):
diff --git a/tests/forms_tests/tests/test_utils.py b/tests/forms_tests/tests/test_utils.py
index f9a5d4c82a..85f7094212 100644
--- a/tests/forms_tests/tests/test_utils.py
+++ b/tests/forms_tests/tests/test_utils.py
@@ -2,6 +2,7 @@ import copy
import json
from django.core.exceptions import ValidationError
+from django.forms.renderers import DjangoTemplates
from django.forms.utils import (
ErrorDict,
ErrorList,
@@ -161,6 +162,17 @@ class FormsUtilsTestCase(SimpleTestCase):
'<a href="http://www.example.com/">example</a></li></ul>',
)
+ def test_error_list_copy_attributes(self):
+ class CustomRenderer(DjangoTemplates):
+ pass
+
+ renderer = CustomRenderer()
+ e = ErrorList(error_class="woopsies", renderer=renderer)
+
+ e_copy = e.copy()
+ self.assertEqual(e.error_class, e_copy.error_class)
+ self.assertEqual(e.renderer, e_copy.renderer)
+
def test_error_dict_copy(self):
e = ErrorDict()
e["__all__"] = ErrorList(