summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCarles Pina <carles@pina.cat>2020-05-04 17:41:38 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-06-01 12:25:25 +0200
commite46c2326c8cfc038e015f55fd050ab5d7eb91b62 (patch)
tree717bae6135483bfeb4061fc90932f8ad52519f43 /tests
parent578b3046e3b4adc43655bb5dd955054b7bf19f89 (diff)
Fixed #31536 -- Fixed rendering of disabled AdminFileWidget and ClearableFileInput.
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_widgets/tests.py14
-rw-r--r--tests/forms_tests/widget_tests/test_clearablefileinput.py15
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py
index 7241ea9554..b60d01e43f 100644
--- a/tests/admin_widgets/tests.py
+++ b/tests/admin_widgets/tests.py
@@ -487,6 +487,20 @@ class AdminFileWidgetTests(TestDataMixin, TestCase):
},
)
+ def test_render_disabled(self):
+ widget = widgets.AdminFileWidget(attrs={'disabled': True})
+ self.assertHTMLEqual(
+ widget.render('test', self.album.cover_art),
+ '<p class="file-upload">Currently: <a href="%(STORAGE_URL)salbums/'
+ r'hybrid_theory.jpg">albums\hybrid_theory.jpg</a> '
+ '<span class="clearable-file-input">'
+ '<input type="checkbox" name="test-clear" id="test-clear_id" disabled>'
+ '<label for="test-clear_id">Clear</label></span><br>'
+ 'Change: <input type="file" name="test" disabled></p>' % {
+ 'STORAGE_URL': default_storage.url(''),
+ },
+ )
+
def test_readonly_fields(self):
"""
File widgets should render as a link when they're marked "read only."
diff --git a/tests/forms_tests/widget_tests/test_clearablefileinput.py b/tests/forms_tests/widget_tests/test_clearablefileinput.py
index fabf71934f..dee44c4239 100644
--- a/tests/forms_tests/widget_tests/test_clearablefileinput.py
+++ b/tests/forms_tests/widget_tests/test_clearablefileinput.py
@@ -74,6 +74,21 @@ class ClearableFileInputTest(WidgetTest):
"""
self.check_html(self.widget, 'myfile', None, html='<input type="file" name="myfile">')
+ def test_render_disabled(self):
+ self.check_html(
+ self.widget,
+ 'myfile',
+ FakeFieldFile(),
+ attrs={'disabled': True},
+ html=(
+ 'Currently: <a href="something">something</a>'
+ '<input type="checkbox" name="myfile-clear" '
+ 'id="myfile-clear_id" disabled>'
+ '<label for="myfile-clear_id">Clear</label><br>'
+ 'Change: <input type="file" name="myfile" disabled>'
+ ),
+ )
+
def test_render_as_subwidget(self):
"""A ClearableFileInput as a subwidget of MultiWidget."""
widget = MultiWidget(widgets=(self.widget,))