2
2
3
3
import os
4
4
5
+ import pytest
6
+
5
7
from .support import get_data_files , test_dir , errorMessage , TestData as _TestData
6
8
from html5lib import HTMLParser , inputstream
7
9
@@ -28,6 +30,19 @@ def test_parser_reparse():
28
30
assert doc .find (".//title" ).text == "Caf\u00E9 "
29
31
30
32
33
+ @pytest .mark .parametrize ("expected,data,kwargs" , [
34
+ ("utf-16le" , b"\xFF \xFE " , {"override_encoding" : "utf-8" }),
35
+ ("utf-16be" , b"\xFE \xFF " , {"override_encoding" : "utf-8" }),
36
+ ("utf-8" , b"\xEF \xBB \xBF " , {"override_encoding" : "iso-8859-2" }),
37
+ ])
38
+ def test_parser_args (expected , data , kwargs ):
39
+ stream = inputstream .HTMLBinaryInputStream (data , useChardet = False )
40
+ assert expected == stream .charEncoding [0 ].name
41
+ p = HTMLParser ()
42
+ doc = p .parse (data , useChardet = False , ** kwargs )
43
+ assert expected == p .documentEncoding
44
+
45
+
31
46
def runParserEncodingTest (data , encoding ):
32
47
p = HTMLParser ()
33
48
assert p .documentEncoding is None
@@ -55,6 +70,7 @@ def test_encoding():
55
70
yield (runParserEncodingTest , test [b'data' ], test [b'encoding' ])
56
71
yield (runPreScanEncodingTest , test [b'data' ], test [b'encoding' ])
57
72
73
+
58
74
# pylint:disable=wrong-import-position
59
75
try :
60
76
import chardet # noqa
0 commit comments