Skip to content

Commit cdfc472

Browse files
committed
fixup! Fix html5lib#120: introduce keyword arguments for encodings by source
1 parent a011a6a commit cdfc472

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

html5lib/tests/test_encoding.py

+16
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import os
44

5+
import pytest
6+
57
from .support import get_data_files, test_dir, errorMessage, TestData as _TestData
68
from html5lib import HTMLParser, inputstream
79

@@ -28,6 +30,19 @@ def test_parser_reparse():
2830
assert doc.find(".//title").text == "Caf\u00E9"
2931

3032

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+
3146
def runParserEncodingTest(data, encoding):
3247
p = HTMLParser()
3348
assert p.documentEncoding is None
@@ -55,6 +70,7 @@ def test_encoding():
5570
yield (runParserEncodingTest, test[b'data'], test[b'encoding'])
5671
yield (runPreScanEncodingTest, test[b'data'], test[b'encoding'])
5772

73+
5874
# pylint:disable=wrong-import-position
5975
try:
6076
import chardet # noqa

0 commit comments

Comments
 (0)