Commit 73ffe268 authored by Baptiste Mispelon's avatar Baptiste Mispelon
Browse files

[1.5.x] Fix #21185: Added tests for unescape_entities.

Also fixed a py3 incompatibility.
Thanks to brutasse for the report.

Backport of 3754f4ad from master.
parent cb95516a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -381,12 +381,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)

+13 −0
Original line number Diff line number Diff line
@@ -121,3 +121,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)