@@ -52,6 +52,10 @@ class TestUtils(SearxTestCase):
52 self.assertIsNotNone(utils.html_to_text(html))
52 self.assertIsNotNone(utils.html_to_text(html))
53 self.assertEqual(utils.html_to_text(html), "Test text")
53 self.assertEqual(utils.html_to_text(html), "Test text")
55+ def test_html_to_text_invalid(self):
56+ html = '<p><b>Lorem ipsum</i>dolor sit amet</p>'
57+ self.assertEqual(utils.html_to_text(html), "Lorem ipsum")
55 def test_prettify_url(self):
59 def test_prettify_url(self):
56 data = (('https://searx.me/', 'https://searx.me/'),
60 data = (('https://searx.me/', 'https://searx.me/'),
57 ('https://searx.me/ű', 'https://searx.me/ű'),
61 ('https://searx.me/ű', 'https://searx.me/ű'),
@@ -116,6 +120,11 @@ class TestHTMLTextExtractor(SearxTestCase):
116 self.html_text_extractor.handle_entityref(entity)
120 self.html_text_extractor.handle_entityref(entity)
117 self.assertIn(entity, self.html_text_extractor.result)
121 self.assertIn(entity, self.html_text_extractor.result)
123+ def test_invalid_html(self):
124+ text = '<p><b>Lorem ipsum</i>dolor sit amet</p>'
125+ with self.assertRaises(utils.HTMLTextExtractorException):
126+ self.html_text_extractor.feed(text)
120class TestUnicodeWriter(SearxTestCase):
129class TestUnicodeWriter(SearxTestCase):