Browse Source

[FIX] Do not die miserably when you get `False` as the HTML input. Test it.

pull/412/head
Yajo 9 years ago
committed by Pedro M. Baeza
parent
commit
51d65013e3
  1. 2
      html_text/models/ir_fields_converter.py
  2. 6
      html_text/tests/test_extractor.py

2
html_text/models/ir_fields_converter.py

@ -41,7 +41,7 @@ class IrFieldsConverter(models.Model):
# Parse HTML
try:
doc = html.fromstring(html_content)
except (etree.XMLSyntaxError, etree.ParserError):
except (TypeError, etree.XMLSyntaxError, etree.ParserError):
if fail:
raise
else:

6
html_text/tests/test_extractor.py

@ -46,6 +46,12 @@ class ExtractorCase(TransactionCase):
with self.assertRaises(etree.XMLSyntaxError):
self.text_from_html("", fail=True)
def test_false_html(self):
"""``False`` HTML handled correctly."""
self.assertEqual(self.text_from_html(False), "")
with self.assertRaises(TypeError):
self.text_from_html(False, fail=True)
def test_bad_html(self):
"""Bad HTML handled correctly."""
self.assertEqual(self.text_from_html("<<bad>"), "")

Loading…
Cancel
Save