Ensure chardet is installed when testing using tox

Beautiful Soup uses chardet, if installed, to detect character
encodings. This can lead to different test results based on whether
chardet is installed or not.

Requests < 2.26.0 requires chardet, but since 2.26.0 Requests requires
charset_normalizer.

Explicitly installing chardet maintains consistent test results.
This commit is contained in:
Chris Mayo 2021-07-27 19:48:27 +01:00
parent f395c74aac
commit deed6ce231
2 changed files with 4 additions and 0 deletions

View file

@ -195,5 +195,8 @@ class TestParser(unittest.TestCase):
self.encoding_test(html, "ascii")
def encoding_test(self, html, expected):
# If chardet is installed Beautiful Soup uses it for encoding detection.
# Results for html without a valid charset may differ
# based on chardet availability.
soup = htmlsoup.make_soup(html)
self.assertEqual(soup.original_encoding, expected)

View file

@ -3,6 +3,7 @@ envlist = py36, py37, py38, py39
[base]
deps =
chardet
pyftpdlib
parameterized
pdfminer