From 1940e3daef8192d289f82fe97a9535fbca6a2c8c Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Fri, 2 Jun 2017 06:46:43 -0700 Subject: [1.11.x] Fixed #28265 -- Prevented renderer warning on Widget.render() with **kwargs. Backport of 29a518006f7f96186483fa50e249e1c3f21728d5 from master --- .../widget_tests/test_render_deprecation.py | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/forms_tests/widget_tests/test_render_deprecation.py (limited to 'tests') diff --git a/tests/forms_tests/widget_tests/test_render_deprecation.py b/tests/forms_tests/widget_tests/test_render_deprecation.py new file mode 100644 index 0000000000..fc979957fb --- /dev/null +++ b/tests/forms_tests/widget_tests/test_render_deprecation.py @@ -0,0 +1,30 @@ +from django import forms +from django.test import SimpleTestCase +from django.utils.deprecation import RemovedInDjango21Warning + + +class RenderDeprecationTests(SimpleTestCase): + def test_custom_widget_renderer_warning(self): + class CustomWidget1(forms.TextInput): + def render(self, name, value, attrs=None, renderer=None): + return super(CustomWidget1, self).render(name, value, attrs, renderer) + + class CustomWidget2(forms.TextInput): + def render(self, *args, **kwargs): + return super(CustomWidget2, self).render(*args, **kwargs) + + class CustomWidget3(forms.TextInput): + def render(self, name, value, attrs=None): + return super(CustomWidget3, self).render(name, value, attrs) + + class MyForm(forms.Form): + foo = forms.CharField(widget=CustomWidget1) + bar = forms.CharField(widget=CustomWidget2) + baz = forms.CharField(widget=CustomWidget3) + + form = MyForm() + str(form['foo']) # No warning. + str(form['bar']) # No warning. + msg = "Add the `renderer` argument to the render() method of