mirror of
https://github.com/python/cpython
synced 2024-09-05 08:17:45 +00:00
gh-95813: Improve HTMLParser from the view of inheritance (#95874)
* gh-95813: Improve HTMLParser from the view of inheritance * gh-95813: Add unittest * Address code review
This commit is contained in:
parent
c5bc67b2a1
commit
157aef79b0
|
@ -89,6 +89,7 @@ def __init__(self, *, convert_charrefs=True):
|
|||
If convert_charrefs is True (the default), all character references
|
||||
are automatically converted to the corresponding Unicode characters.
|
||||
"""
|
||||
super().__init__()
|
||||
self.convert_charrefs = convert_charrefs
|
||||
self.reset()
|
||||
|
||||
|
@ -98,7 +99,7 @@ def reset(self):
|
|||
self.lasttag = '???'
|
||||
self.interesting = interesting_normal
|
||||
self.cdata_elem = None
|
||||
_markupbase.ParserBase.reset(self)
|
||||
super().reset()
|
||||
|
||||
def feed(self, data):
|
||||
r"""Feed data to the parser.
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
import pprint
|
||||
import unittest
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
|
||||
class EventCollector(html.parser.HTMLParser):
|
||||
|
||||
|
@ -787,5 +789,17 @@ def test_weird_chars_in_unquoted_attribute_values(self):
|
|||
('starttag', 'form',
|
||||
[('action', 'bogus|&#()value')])])
|
||||
|
||||
|
||||
class TestInheritance(unittest.TestCase):
|
||||
|
||||
@patch("_markupbase.ParserBase.__init__")
|
||||
@patch("_markupbase.ParserBase.reset")
|
||||
def test_base_class_methods_called(self, super_reset_method, super_init_method):
|
||||
with patch('_markupbase.ParserBase') as parser_base:
|
||||
EventCollector()
|
||||
super_init_method.assert_called_once()
|
||||
super_reset_method.assert_called_once()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in a new issue