Commit 20c6ba6f authored by Tim Graham's avatar Tim Graham
Browse files

Fixed #24962 -- Added newline to characters escaped by contrib.admin.utils.quote()

Thanks alito for the report and patch.
parent 74261bc5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ def quote(s):
    res = list(s)
    for i in range(len(res)):
        c = res[i]
        if c in """:/_#?;@&=+$,"[]<>%\\""":
        if c in """:/_#?;@&=+$,"[]<>%\n\\""":
            res[i] = '_%02X' % ord(c)
    return ''.join(res)

+4 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ from django.contrib import admin
from django.contrib.admin import helpers
from django.contrib.admin.utils import (
    NestedObjects, display_for_field, flatten, flatten_fieldsets,
    label_for_field, lookup_field,
    label_for_field, lookup_field, quote,
)
from django.db import DEFAULT_DB_ALIAS, models
from django.test import TestCase, override_settings
@@ -379,3 +379,6 @@ class UtilsTests(TestCase):
            }),
        )
        self.assertEqual(flatten_fieldsets(fieldsets), ['url', 'title', 'content', 'sites'])

    def test_quote(self):
        self.assertEqual(quote('something\nor\nother'), 'something_0Aor_0Aother')