Fixed #10675 -- Added unicode paragraph and line-sep handling to escapejs.
There were a couple of line breaking Unicode characters (\u2028 and \u2029) that cause Javascript errors, at least in Firefox, if not escaped. So now we do so. Based on a patch from rleland. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10543 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
499a8ac331
commit
8931d8d688
|
@ -76,7 +76,9 @@ _base_js_escapes = (
|
||||||
('&', r'\x26'),
|
('&', r'\x26'),
|
||||||
('=', r'\x3D'),
|
('=', r'\x3D'),
|
||||||
('-', r'\x2D'),
|
('-', r'\x2D'),
|
||||||
(';', r'\x3B')
|
(';', r'\x3B'),
|
||||||
|
(u'\u2028', r'\u2028'),
|
||||||
|
(u'\u2029', r'\u2029')
|
||||||
)
|
)
|
||||||
|
|
||||||
# Escape every ASCII character with a value less than 32.
|
# Escape every ASCII character with a value less than 32.
|
||||||
|
|
|
@ -83,6 +83,9 @@ u'and lots of whitespace: \\x0D\\x0A\\x09\\x0B\\x0C\\x08'
|
||||||
>>> escapejs(ur'<script>and this</script>')
|
>>> escapejs(ur'<script>and this</script>')
|
||||||
u'\\x3Cscript\\x3Eand this\\x3C/script\\x3E'
|
u'\\x3Cscript\\x3Eand this\\x3C/script\\x3E'
|
||||||
|
|
||||||
|
>>> escapejs(u'paragraph separator:\u2029and line separator:\u2028')
|
||||||
|
u'paragraph separator:\\u2029and line separator:\\u2028'
|
||||||
|
|
||||||
>>> fix_ampersands(u'Jack & Jill & Jeroboam')
|
>>> fix_ampersands(u'Jack & Jill & Jeroboam')
|
||||||
u'Jack & Jill & Jeroboam'
|
u'Jack & Jill & Jeroboam'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue