summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_htmlparser.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_htmlparser.py')
-rw-r--r--[-rwxr-xr-x]Lib/test/test_htmlparser.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/Lib/test/test_htmlparser.py b/Lib/test/test_htmlparser.py
index c45cf00..0620d0b 100755..100644
--- a/Lib/test/test_htmlparser.py
+++ b/Lib/test/test_htmlparser.py
@@ -208,6 +208,23 @@ DOCTYPE html [
("starttag", "a", [("href", "mailto:xyz@example.com")]),
])
+ def test_attr_nonascii(self):
+ # see issue 7311
+ self._run_check(u"<img src=/foo/bar.png alt=\u4e2d\u6587>", [
+ ("starttag", "img", [("src", "/foo/bar.png"),
+ ("alt", u"\u4e2d\u6587")]),
+ ])
+ self._run_check(u"<a title='\u30c6\u30b9\u30c8' "
+ u"href='\u30c6\u30b9\u30c8.html'>", [
+ ("starttag", "a", [("title", u"\u30c6\u30b9\u30c8"),
+ ("href", u"\u30c6\u30b9\u30c8.html")]),
+ ])
+ self._run_check(u'<a title="\u30c6\u30b9\u30c8" '
+ u'href="\u30c6\u30b9\u30c8.html">', [
+ ("starttag", "a", [("title", u"\u30c6\u30b9\u30c8"),
+ ("href", u"\u30c6\u30b9\u30c8.html")]),
+ ])
+
def test_attr_entity_replacement(self):
self._run_check("""<a b='&amp;&gt;&lt;&quot;&apos;'>""", [
("starttag", "a", [("b", "&><\"'")]),
@@ -320,6 +337,11 @@ DOCTYPE html [
("endtag", "p"),
])
+ def test_unescape_function(self):
+ parser = HTMLParser.HTMLParser()
+ self.assertEqual(parser.unescape('&#bad;'),'&#bad;')
+ self.assertEqual(parser.unescape('&#0038;'),'&')
+
def test_main():
test_support.run_unittest(HTMLParserTestCase)