summaryrefslogtreecommitdiff
path: root/Lib/test/test_htmlparser.py
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-05-01 16:20:00 +0300
committerEzio Melotti <ezio.melotti@gmail.com>2013-05-01 16:20:00 +0300
commitf6ca26fbffb689190da9dbe66df09c7d7e118616 (patch)
treecad09a0c76c4ad8547c01d2a7b170f278423dafa /Lib/test/test_htmlparser.py
parent8a42d601888e9f71e2c1fcfe93593c509f431c15 (diff)
parent8e596a765cf323cbd2ba31b15f2939f903d87913 (diff)
downloadcpython-git-f6ca26fbffb689190da9dbe66df09c7d7e118616.tar.gz
#17802: merge with 3.3.
Diffstat (limited to 'Lib/test/test_htmlparser.py')
-rw-r--r--Lib/test/test_htmlparser.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_htmlparser.py b/Lib/test/test_htmlparser.py
index c5d878dca5..b15b6fd4c6 100644
--- a/Lib/test/test_htmlparser.py
+++ b/Lib/test/test_htmlparser.py
@@ -535,6 +535,20 @@ class HTMLParserTolerantTestCase(HTMLParserStrictTestCase):
]
self._run_check(html, expected)
+ def test_EOF_in_charref(self):
+ # see #17802
+ # This test checks that the UnboundLocalError reported in the issue
+ # is not raised, however I'm not sure the returned values are correct.
+ # Maybe HTMLParser should use self.unescape for these
+ data = [
+ ('a&', [('data', 'a&')]),
+ ('a&b', [('data', 'ab')]),
+ ('a&b ', [('data', 'a'), ('entityref', 'b'), ('data', ' ')]),
+ ('a&b;', [('data', 'a'), ('entityref', 'b')]),
+ ]
+ for html, expected in data:
+ self._run_check(html, expected)
+
def test_unescape_function(self):
p = self.get_collector()
self.assertEqual(p.unescape('&#bad;'),'&#bad;')