From d241e5d5a9e9c01d88b3711a82a6114f846ffdb1 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Sat, 14 Jul 2018 15:35:24 -0400 Subject: Stopped HTMLParser from raising an exception in very rare cases of bad markup. [bug=1708831] --- bs4/tests/test_htmlparser.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bs4/tests/test_htmlparser.py') diff --git a/bs4/tests/test_htmlparser.py b/bs4/tests/test_htmlparser.py index d5cf025..c13d59f 100644 --- a/bs4/tests/test_htmlparser.py +++ b/bs4/tests/test_htmlparser.py @@ -5,6 +5,7 @@ from pdb import set_trace import pickle from bs4.testing import SoupTest, HTMLTreeBuilderSmokeTest from bs4.builder import HTMLParserTreeBuilder +from bs4.builder._htmlparser import BeautifulSoupHTMLParser class HTMLParserTreeBuilderSmokeTest(SoupTest, HTMLTreeBuilderSmokeTest): @@ -32,3 +33,12 @@ class HTMLParserTreeBuilderSmokeTest(SoupTest, HTMLTreeBuilderSmokeTest): def test_redundant_empty_element_closing_tags(self): self.assertSoupEquals('





', "


") self.assertSoupEquals('


', "") + + +class TestHTMLParserSubclass(SoupTest): + def test_error(self): + """Verify that our HTMLParser subclass implements error() in a way + that doesn't cause a crash. + """ + parser = BeautifulSoupHTMLParser() + parser.error("don't crash") -- cgit v1.2.3