summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2017-08-02 15:15:49 -0400
committerTim Graham <timograham@gmail.com>2017-08-02 15:16:22 -0400
commit293608a2e0c7968538597200b72c9b5e9df4184a (patch)
treef07b7b743850d94a7a039da69ef98420e3c28d71
parent74b7a20fe6973a53923059795cb538d094c925d8 (diff)
Refs #7697 -- Removed unnecessary force_escape of technical 500 debug view "unicode hint".
The test passes before and after the removal. unicode_hint will never be SafeText, so normal autoescaping is sufficient.
-rw-r--r--django/views/templates/technical_500.html2
-rw-r--r--tests/view_tests/tests/test_debug.py10
2 files changed, 8 insertions, 4 deletions
diff --git a/django/views/templates/technical_500.html b/django/views/templates/technical_500.html
index cb3254b5c9..01534f80d9 100644
--- a/django/views/templates/technical_500.html
+++ b/django/views/templates/technical_500.html
@@ -162,7 +162,7 @@
{% if unicode_hint %}
<div id="unicode-hint">
<h2>Unicode error hint</h2>
- <p>The string that could not be encoded/decoded was: <strong>{{ unicode_hint|force_escape }}</strong></p>
+ <p>The string that could not be encoded/decoded was: <strong>{{ unicode_hint }}</strong></p>
</div>
{% endif %}
{% if template_does_not_exist %}
diff --git a/tests/view_tests/tests/test_debug.py b/tests/view_tests/tests/test_debug.py
index aa0a025eed..767fdfdbc9 100644
--- a/tests/view_tests/tests/test_debug.py
+++ b/tests/view_tests/tests/test_debug.py
@@ -18,6 +18,7 @@ from django.test.utils import LoggingCaptureMixin, patch_logger
from django.urls import reverse
from django.utils.encoding import force_bytes
from django.utils.functional import SimpleLazyObject
+from django.utils.safestring import mark_safe
from django.views.debug import (
CLEANSED_SUBSTITUTE, CallableSettingWrapper, ExceptionReporter,
cleanse_setting, technical_500_response,
@@ -447,16 +448,19 @@ class ExceptionReporterTests(SimpleTestCase):
self.assertIn('&lt;trimmed %d bytes string&gt;' % (large + repr_of_str_adds,), html)
def test_encoding_error(self):
- """A UnicodeError displays a portion of the problematic string."""
+ """
+ A UnicodeError displays a portion of the problematic string. HTML in
+ safe strings is escaped.
+ """
try:
- 'abcdefghijklmnὀpqrstuwxyz'.encode('ascii')
+ mark_safe('abcdefghijkl<p>mnὀp</p>qrstuwxyz').encode('ascii')
except Exception:
exc_type, exc_value, tb = sys.exc_info()
reporter = ExceptionReporter(None, exc_type, exc_value, tb)
html = reporter.get_traceback_html()
self.assertIn('<h2>Unicode error hint</h2>', html)
self.assertIn('The string that could not be encoded/decoded was: ', html)
- self.assertIn('<strong>jklmnὀpqrst</strong>', html)
+ self.assertIn('<strong>&lt;p&gt;mnὀp&lt;/p&gt;</strong>', html)
def test_unfrozen_importlib(self):
"""