summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-11-22 05:49:29 +0200
committerEzio Melotti <ezio.melotti@gmail.com>2013-11-22 05:49:29 +0200
commitf620cad215ab9ce8416802bd5f128ead76ead907 (patch)
tree2a1238455ac32b0cf4fa5bb8a4712250dbb3b88b
parent5bc83f8b89d723754b91bafafe8d660a1d8a8ff3 (diff)
downloadcpython-f620cad215ab9ce8416802bd5f128ead76ead907.tar.gz
#19688: add back and deprecate the internal HTMLParser.unescape() method.
-rw-r--r--Lib/html/parser.py7
-rw-r--r--Lib/test/test_htmlparser.py7
2 files changed, 14 insertions, 0 deletions
diff --git a/Lib/html/parser.py b/Lib/html/parser.py
index e793c37cd8..a228e8ed37 100644
--- a/Lib/html/parser.py
+++ b/Lib/html/parser.py
@@ -513,3 +513,10 @@ class HTMLParser(_markupbase.ParserBase):
def unknown_decl(self, data):
if self.strict:
self.error("unknown declaration: %r" % (data,))
+
+ # Internal -- helper to remove special character quoting
+ def unescape(self, s):
+ warnings.warn('The unescape method is deprecated and will be removed '
+ 'in 3.5, use html.unescape() instead.',
+ DeprecationWarning, stacklevel=2)
+ return unescape(s)
diff --git a/Lib/test/test_htmlparser.py b/Lib/test/test_htmlparser.py
index a943d3a453..509b3cdcbe 100644
--- a/Lib/test/test_htmlparser.py
+++ b/Lib/test/test_htmlparser.py
@@ -569,6 +569,13 @@ class HTMLParserTolerantTestCase(HTMLParserStrictTestCase):
for html, expected in data:
self._run_check(html, expected)
+ def test_unescape_method(self):
+ from html import unescape
+ p = self.get_collector()
+ with self.assertWarns(DeprecationWarning):
+ s = '&quot;&#34;&#x22;&quot&#34&#x22&#bad;'
+ self.assertEqual(p.unescape(s), unescape(s))
+
def test_broken_comments(self):
html = ('<! not really a comment >'
'<! not a comment either -->'