diff options
| author | Tim Graham <timograham@gmail.com> | 2017-08-02 15:15:49 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-08-02 15:16:22 -0400 |
| commit | 293608a2e0c7968538597200b72c9b5e9df4184a (patch) | |
| tree | f07b7b743850d94a7a039da69ef98420e3c28d71 | |
| parent | 74b7a20fe6973a53923059795cb538d094c925d8 (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.html | 2 | ||||
| -rw-r--r-- | tests/view_tests/tests/test_debug.py | 10 |
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('<trimmed %d bytes string>' % (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><p>mnὀp</p></strong>', html) def test_unfrozen_importlib(self): """ |
