Commit 8dd04fd8 authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #15683 -- Prevented escaped string to be needlessly marked safe twice in...

Fixed #15683 -- Prevented escaped string to be needlessly marked safe twice in force_escape filter. Thanks tyrion for the initial patch.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@17876 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 8663bc11
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ def force_escape(value):
    characters (as opposed to "escape", which marks the content for later
    possible escaping).
    """
    return mark_safe(escape(value))
    return escape(value)

@register.filter("linebreaks", is_safe=True, needs_autoescape=True)
@stringfilter
+4 −2
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ import decimal
from django.template.defaultfilters import *
from django.test import TestCase
from django.utils import unittest, translation
from django.utils.safestring import SafeData


class DefaultFiltersTests(TestCase):
@@ -328,9 +329,10 @@ class DefaultFiltersTests(TestCase):
                          u'a string to be mangled')

    def test_force_escape(self):
        escaped = force_escape(u'<some html & special characters > here')
        self.assertEqual(
            force_escape(u'<some html & special characters > here'),
            u'&lt;some html &amp; special characters &gt; here')
            escaped, u'&lt;some html &amp; special characters &gt; here')
        self.assertTrue(isinstance(escaped, SafeData))
        self.assertEqual(
            force_escape(u'<some html & special characters > here ĐÅ€£'),
            u'&lt;some html &amp; special characters &gt; here'\