diff -ur _orig\test_htmlparser.py .\test_htmlparser.py
--- _orig\test_htmlparser.py Tue May 27 12:41:08 2008
+++ .\test_htmlparser.py Tue Aug 24 11:44:20 2010
@@ -8,10 +8,10 @@
class EventCollector(HTMLParser.HTMLParser):
- def __init__(self):
+ def __init__(self, *args, **kwargs):
self.events = []
self.append = self.events.append
- HTMLParser.HTMLParser.__init__(self)
+ HTMLParser.HTMLParser.__init__(self, *args, **kwargs)
def get_events(self):
# Normalize the list of events so that buffer artefacts don't
@@ -72,8 +72,10 @@
class TestCaseBase(unittest.TestCase):
- def _run_check(self, source, expected_events, collector=EventCollector):
- parser = collector()
+ def _run_check(self, source, expected_events, collector=None):
+ if collector is None:
+ collector = EventCollector()
+ parser = collector
for s in source:
parser.feed(s)
parser.close()
@@ -84,7 +86,7 @@
"\nReceived:\n" + pprint.pformat(events))
def _run_check_extra(self, source, events):
- self._run_check(source, events, EventCollectorExtra)
+ self._run_check(source, events, EventCollectorExtra())
def _parse_error(self, source):
def parse(source=source):
@@ -314,8 +316,30 @@
])
+class HTMLParserTolerantTestCase(TestCaseBase):
+ def test_tolerant_parsing(self):
+ c = EventCollector(tolerant=9,
+ warning_file=sys.stdout
+ )
+ self._run_check('te>>xt&a<\n'
+ '/img>