Browse files

Fixed #16676 -- Corrected the behavior of the 'add' template filter t…

…o 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
  • Loading branch information...
1 parent 357910c commit 436aeb6e1513085d09e33683cd0f60ee4fb746a7 @jphalip jphalip committed Sep 18, 2011
Showing with 5 additions and 5 deletions.
  1. +2 −2 django/template/defaultfilters.py
  2. +3 −3 tests/regressiontests/templates/filters.py
View
4 django/template/defaultfilters.py
@@ -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):
View
6 tests/regressiontests/templates/filters.py
@@ -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)'),

0 comments on commit 436aeb6

Please sign in to comment.