Fixed #16676 -- Corrected the behavior of the 'add' template filter to return an empty string instead of the given value unchanged in the case of an invalid use. Thanks to dtrebbien for the report and to Aymeric Augustin for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16851 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
357910c1c6
commit
436aeb6e15
|
@ -665,8 +665,8 @@ def add(value, arg):
|
|||
except (ValueError, TypeError):
|
||||
try:
|
||||
return value + arg
|
||||
except:
|
||||
return value
|
||||
except Exception:
|
||||
return ''
|
||||
add.is_safe = False
|
||||
|
||||
def get_digit(value, arg):
|
||||
|
|
|
@ -346,10 +346,10 @@ def get_filter_tests():
|
|||
#Ticket 9520: Make sure |date doesn't blow up on non-dates
|
||||
'date03': (r'{{ d|date:"m" }}', {'d': 'fail_string'}, ''),
|
||||
|
||||
# Tests for #11687
|
||||
# Tests for #11687 and #16676
|
||||
'add01': (r'{{ i|add:"5" }}', {'i': 2000}, '2005'),
|
||||
'add02': (r'{{ i|add:"napis" }}', {'i': 2000}, '2000'),
|
||||
'add03': (r'{{ i|add:16 }}', {'i': 'not_an_int'}, 'not_an_int'),
|
||||
'add02': (r'{{ i|add:"napis" }}', {'i': 2000}, ''),
|
||||
'add03': (r'{{ i|add:16 }}', {'i': 'not_an_int'}, ''),
|
||||
'add04': (r'{{ i|add:"16" }}', {'i': 'not_an_int'}, 'not_an_int16'),
|
||||
'add05': (r'{{ l1|add:l2 }}', {'l1': [1, 2], 'l2': [3, 4]}, '[1, 2, 3, 4]'),
|
||||
'add06': (r'{{ t1|add:t2 }}', {'t1': (3, 4), 't2': (1, 2)}, '(3, 4, 1, 2)'),
|
||||
|
|
Loading…
Reference in New Issue