diff options
Diffstat (limited to 'tests/postgres_tests/test_json.py')
| -rw-r--r-- | tests/postgres_tests/test_json.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/postgres_tests/test_json.py b/tests/postgres_tests/test_json.py index 11b6a349aa..f334118a1f 100644 --- a/tests/postgres_tests/test_json.py +++ b/tests/postgres_tests/test_json.py @@ -3,7 +3,7 @@ import unittest from django.core import exceptions, serializers from django.db import connection -from django.forms import CharField, Form +from django.forms import CharField, Form, widgets from django.test import TestCase from django.utils.html import escape @@ -291,3 +291,21 @@ class TestFormField(PostgreSQLTestCase): form = JsonForm({'name': 'xy', 'jfield': '{"foo"}'}) # Appears once in the textarea and once in the error message self.assertEqual(form.as_p().count(escape('{"foo"}')), 2) + + def test_widget(self): + """The default widget of a JSONField is a Textarea.""" + field = forms.JSONField() + self.assertIsInstance(field.widget, widgets.Textarea) + + def test_custom_widget_kwarg(self): + """The widget can be overridden with a kwarg.""" + field = forms.JSONField(widget=widgets.Input) + self.assertIsInstance(field.widget, widgets.Input) + + def test_custom_widget_attribute(self): + """The widget can be overridden with an attribute.""" + class CustomJSONField(forms.JSONField): + widget = widgets.Input + + field = CustomJSONField() + self.assertIsInstance(field.widget, widgets.Input) |
