diff options
-rw-r--r-- | paste/util/quoting.py | 5 | ||||
-rw-r--r-- | tests/test_util/test_quoting.py | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/paste/util/quoting.py b/paste/util/quoting.py index 58ea308..b3d28a4 100644 --- a/paste/util/quoting.py +++ b/paste/util/quoting.py @@ -23,7 +23,10 @@ def html_quote(v, encoding=None): if v is None: return '' elif isinstance(v, six.binary_type): - return html.escape(v, 1) + if six.PY3: + return html.escape(v.decode(encoding), 1).encode(encoding) + else: + return html.escape(v, 1) elif isinstance(v, six.text_type): if six.PY3: return html.escape(v, 1) diff --git a/tests/test_util/test_quoting.py b/tests/test_util/test_quoting.py index 5f5e0a8..6df1139 100644 --- a/tests/test_util/test_quoting.py +++ b/tests/test_util/test_quoting.py @@ -20,6 +20,8 @@ class TestQuoting(unittest.TestCase): '') self.assertEqual(quoting.html_quote('<hey!>'), '<hey!>') + self.assertEqual(quoting.html_quote(b'<hey!>'), + b'<hey!>') if six.PY3: self.assertEqual(quoting.html_quote(u'<\u1029>'), u'<\u1029>') |