fix UnicodeDecodeError in PickerWidgetMixin (fixes #23055)
'%s' % _(whatever) will produce a str containing utf-8 characters, but it will fail when interpolated with another unicode string, which happend in: '%s %s' % (_('Format:'), self.options['format']) as self.options['format'] is unicode.
This commit is contained in:
parent
b3f89132ce
commit
33ffd4e42c
|
@ -121,7 +121,7 @@ class PickerWidgetMixin(object):
|
|||
|
||||
help_text = self.help_text
|
||||
if not help_text:
|
||||
help_text = '%s %s' % (_('Format:'), self.options['format'])
|
||||
help_text = u'%s %s' % (_('Format:'), self.options['format'])
|
||||
|
||||
return mark_safe(BOOTSTRAP_INPUT_TEMPLATE % dict(
|
||||
id=id,
|
||||
|
|
|
@ -330,3 +330,11 @@ def assert_external_redirect(external_redirect):
|
|||
def check_location(response, default_return):
|
||||
assert response['Location'] == urlparse.urljoin('http://testserver/', default_return)
|
||||
return check_location
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def french_translation():
|
||||
from django.utils.translation import activate, deactivate
|
||||
activate('fr')
|
||||
yield
|
||||
deactivate()
|
||||
|
|
|
@ -1,6 +1,13 @@
|
|||
from authentic2.widgets import DateTimeWidget, DateWidget, TimeWidget
|
||||
|
||||
def test_widgets_init():
|
||||
DateTimeWidget()
|
||||
DateWidget()
|
||||
TimeWidget()
|
||||
|
||||
def test_widgets_init_and_render_no_locale():
|
||||
DateTimeWidget().render('wt', '2019/12/12 12:34:34')
|
||||
DateWidget().render('wt', '2019/12/12')
|
||||
TimeWidget().render('wt', '12:34:34')
|
||||
|
||||
|
||||
def test_widgets_init_and_render_fr(french_translation):
|
||||
DateTimeWidget().render('wt', '2019/12/12 12:34:34')
|
||||
DateWidget().render('wt', '2019/12/12')
|
||||
TimeWidget().render('wt', '12:34:34')
|
||||
|
|
Loading…
Reference in New Issue