summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_htmlparser.py
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2015-09-06 18:38:06 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2015-09-06 18:38:06 (GMT)
commit6f2bb98966853edcf1855b9dd310529d071241a2 (patch)
tree088d7d3cdd103b5b01a6d9c081ec3b40fcd110bd /Lib/test/test_htmlparser.py
parent527ef0792f79fda93f568830bba396b22fbcec6a (diff)
downloadcpython-6f2bb98966853edcf1855b9dd310529d071241a2.zip
cpython-6f2bb98966853edcf1855b9dd310529d071241a2.tar.gz
cpython-6f2bb98966853edcf1855b9dd310529d071241a2.tar.bz2
#23144: Make sure that HTMLParser.feed() returns all the data, even when convert_charrefs is True.
Diffstat (limited to 'Lib/test/test_htmlparser.py')
-rw-r--r--Lib/test/test_htmlparser.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/Lib/test/test_htmlparser.py b/Lib/test/test_htmlparser.py
index 2d771a2..144f820 100644
--- a/Lib/test/test_htmlparser.py
+++ b/Lib/test/test_htmlparser.py
@@ -72,9 +72,6 @@ class EventCollectorExtra(EventCollector):
class EventCollectorCharrefs(EventCollector):
- def get_events(self):
- return self.events
-
def handle_charref(self, data):
self.fail('This should never be called with convert_charrefs=True')
@@ -685,6 +682,18 @@ class HTMLParserTolerantTestCase(HTMLParserStrictTestCase):
]
self._run_check(html, expected)
+ def test_convert_charrefs_dropped_text(self):
+ # #23144: make sure that all the events are triggered when
+ # convert_charrefs is True, even if we don't call .close()
+ parser = EventCollector(convert_charrefs=True)
+ # before the fix, bar & baz was missing
+ parser.feed("foo <a>link</a> bar &amp; baz")
+ self.assertEqual(
+ parser.get_events(),
+ [('data', 'foo '), ('starttag', 'a', []), ('data', 'link'),
+ ('endtag', 'a'), ('data', ' bar & baz')]
+ )
+
class AttributesStrictTestCase(TestCaseBase):