summaryrefslogtreecommitdiff
path: root/tests/postgres_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/postgres_tests')
-rw-r--r--tests/postgres_tests/test_json.py20
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)