summaryrefslogtreecommitdiff
path: root/tests/forms_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/forms_tests')
-rw-r--r--tests/forms_tests/tests/test_forms.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py
index 6005472194..930a200b14 100644
--- a/tests/forms_tests/tests/test_forms.py
+++ b/tests/forms_tests/tests/test_forms.py
@@ -4579,6 +4579,22 @@ Options: <select multiple name="options" required>
'<legend number="9999" for="id_first_name">First name:</legend>',
)
+ def test_remove_cached_field(self):
+ class TestForm(Form):
+ name = CharField(max_length=10)
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ # Populate fields cache.
+ [field for field in self]
+ # Removed cached field.
+ del self.fields["name"]
+
+ f = TestForm({"name": "abcde"})
+
+ with self.assertRaises(KeyError):
+ f["name"]
+
@jinja2_tests
class Jinja2FormsTestCase(FormsTestCase):