[utils] Fix unescapeHTML for misformed string like "&a"" (#13935)

pull/8/head
Yen Chi Hsuan 7 years ago
parent f5469da9e6
commit 95f3f7c20a
No known key found for this signature in database
GPG Key ID: 3FDDD575826C5C30

@ -1,3 +1,9 @@
version <unreleased>
Core
* [utils] Fix unescapeHTML for misformed string like "&a&quot;" (#13935)
version 2017.08.18 version 2017.08.18
Core Core

@ -279,6 +279,7 @@ class TestUtil(unittest.TestCase):
self.assertEqual(unescapeHTML('&#47;'), '/') self.assertEqual(unescapeHTML('&#47;'), '/')
self.assertEqual(unescapeHTML('&eacute;'), 'é') self.assertEqual(unescapeHTML('&eacute;'), 'é')
self.assertEqual(unescapeHTML('&#2013266066;'), '&#2013266066;') self.assertEqual(unescapeHTML('&#2013266066;'), '&#2013266066;')
self.assertEqual(unescapeHTML('&a&quot;'), '&a"')
# HTML5 entities # HTML5 entities
self.assertEqual(unescapeHTML('&period;&apos;'), '.\'') self.assertEqual(unescapeHTML('&period;&apos;'), '.\'')

@ -596,7 +596,7 @@ def unescapeHTML(s):
assert type(s) == compat_str assert type(s) == compat_str
return re.sub( return re.sub(
r'&([^;]+;)', lambda m: _htmlentity_transform(m.group(1)), s) r'&([^&;]+;)', lambda m: _htmlentity_transform(m.group(1)), s)
def get_subprocess_encoding(): def get_subprocess_encoding():

Loading…
Cancel
Save