Commit 436aeb6e authored by Julien Phalip's avatar Julien Phalip
Browse files

Fixed #16676 -- Corrected the behavior of the 'add' template filter to return...

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
parent 357910c1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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):
+3 −3
Original line number Diff line number Diff line
@@ -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)'),