[1.6.x] Fix #21185: Added tests for unescape_entities.
Also fixed a py3 incompatibility.
Thanks to brutasse for the report.
Backport of 3754f4ad41
from master.
This commit is contained in:
parent
f621aba99b
commit
15bdc85117
|
@ -365,12 +365,12 @@ def _replace_entity(match):
|
|||
c = int(text[1:], 16)
|
||||
else:
|
||||
c = int(text)
|
||||
return unichr(c)
|
||||
return six.unichr(c)
|
||||
except ValueError:
|
||||
return match.group(0)
|
||||
else:
|
||||
try:
|
||||
return unichr(html_entities.name2codepoint[text])
|
||||
return six.unichr(html_entities.name2codepoint[text])
|
||||
except (ValueError, KeyError):
|
||||
return match.group(0)
|
||||
|
||||
|
|
|
@ -106,3 +106,16 @@ class TestUtilsText(SimpleTestCase):
|
|||
)
|
||||
for value, output in items:
|
||||
self.assertEqual(text.slugify(value), output)
|
||||
|
||||
def test_unescape_entities(self):
|
||||
items = [
|
||||
('', ''),
|
||||
('foo', 'foo'),
|
||||
('&', '&'),
|
||||
('&', '&'),
|
||||
('&', '&'),
|
||||
('foo & bar', 'foo & bar'),
|
||||
('foo & bar', 'foo & bar'),
|
||||
]
|
||||
for value, output in items:
|
||||
self.assertEqual(text.unescape_entities(value), output)
|
||||
|
|
Loading…
Reference in New Issue