Commit 1c1dffca authored by MattBlack85's avatar MattBlack85 Committed by Baptiste Mispelon
Browse files

Fixed #21725 -- Fixed JavaScript quoting encoding.

Thanks to nedbatchelder for the report.
parent 44814e78
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -343,7 +343,7 @@ def javascript_quote(s, quote_double_quotes=False):
    s = s.replace('</', '<\\/')
    if quote_double_quotes:
        s = s.replace('"', '&quot;')
    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
+5 −0
Original line number Diff line number Diff line
@@ -155,3 +155,8 @@ class TestUtilsText(SimpleTestCase):
        self.assertEqual(text.javascript_quote(input), '"Text"')
        self.assertEqual(text.javascript_quote(input, quote_double_quotes=True),
                         '&quot;Text&quot;')

    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)