Fixed #21725 -- Fixed JavaScript quoting encoding.
Thanks to nedbatchelder for the report.
This commit is contained in:
parent
44814e78cc
commit
1c1dffca75
|
@ -343,7 +343,7 @@ def javascript_quote(s, quote_double_quotes=False):
|
|||
s = s.replace('</', '<\\/')
|
||||
if quote_double_quotes:
|
||||
s = s.replace('"', '"')
|
||||
return str(ustring_re.sub(fix, s))
|
||||
return ustring_re.sub(fix, s)
|
||||
javascript_quote = allow_lazy(javascript_quote, six.text_type)
|
||||
|
||||
# Expression to match some_token and some_token="with spaces" (and similarly
|
||||
|
|
|
@ -155,3 +155,8 @@ class TestUtilsText(SimpleTestCase):
|
|||
self.assertEqual(text.javascript_quote(input), '"Text"')
|
||||
self.assertEqual(text.javascript_quote(input, quote_double_quotes=True),
|
||||
'"Text"')
|
||||
|
||||
def test_javascript_quote_unicode(self):
|
||||
input = "<script>alert('Hello \\xff.\n Wel𝕃come\there\r');</script>"
|
||||
output = r"<script>alert(\'Hello \\xff.\n Wel𝕃come\there\r\');<\/script>"
|
||||
self.assertEqual(text.javascript_quote(input), output)
|
||||
|
|
Loading…
Reference in New Issue