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

Thanks alito for the report and patch.
This commit is contained in:
Tim Graham 2015-06-18 15:46:15 -04:00
parent 74261bc593
commit 20c6ba6ffa
2 changed files with 5 additions and 2 deletions

View File

@ -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)

View File

@ -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')