Skip to content

Commit 38bb175

Browse files
committed
Fix test_encoding pytest4
1 parent 5bb2dcd commit 38bb175

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

.pytest.expect

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
pytest-expect file v1
2-
(2, 7, 11, 'final', 0)
3-
b'html5lib/tests/test_encoding.py::test_encoding::[110]': FAIL
4-
b'html5lib/tests/test_encoding.py::test_encoding::[111]': FAIL
2+
(2, 7, 18, 'final', 0)
3+
b'html5lib/tests/test_encoding.py::test_parser_encoding[<!DOCTYPE HTML>\n<script>document.write(\'<meta charset="ISO-8859-\' + \'2">\')</script>-iso-8859-2]': FAIL
4+
b'html5lib/tests/test_encoding.py::test_prescan_encoding[<!DOCTYPE HTML>\n<script>document.write(\'<meta charset="ISO-8859-\' + \'2">\')</script>-iso-8859-2]': FAIL
55
u'html5lib/tests/testdata/tokenizer/test2.test::0::dataState': FAIL
66
u'html5lib/tests/testdata/tokenizer/test3.test::228::dataState': FAIL
77
u'html5lib/tests/testdata/tokenizer/test3.test::231::dataState': FAIL

html5lib/tests/test_encoding.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,15 @@ def test_parser_args_raises(kwargs):
7575
assert exc_info.value.args[0].startswith("Cannot set an encoding with a unicode input")
7676

7777

78-
def runParserEncodingTest(data, encoding):
78+
def param_encoding():
79+
for filename in get_data_files("encoding"):
80+
tests = _TestData(filename, b"data", encoding=None)
81+
for test in tests:
82+
yield test[b'data'], test[b'encoding']
83+
84+
85+
@pytest.mark.parametrize("data, encoding", param_encoding())
86+
def test_parser_encoding(data, encoding):
7987
p = HTMLParser()
8088
assert p.documentEncoding is None
8189
p.parse(data, useChardet=False)
@@ -84,7 +92,8 @@ def runParserEncodingTest(data, encoding):
8492
assert encoding == p.documentEncoding, errorMessage(data, encoding, p.documentEncoding)
8593

8694

87-
def runPreScanEncodingTest(data, encoding):
95+
@pytest.mark.parametrize("data, encoding", param_encoding())
96+
def test_prescan_encoding(data, encoding):
8897
stream = _inputstream.HTMLBinaryInputStream(data, useChardet=False)
8998
encoding = encoding.lower().decode("ascii")
9099

@@ -95,14 +104,6 @@ def runPreScanEncodingTest(data, encoding):
95104
assert encoding == stream.charEncoding[0].name, errorMessage(data, encoding, stream.charEncoding[0].name)
96105

97106

98-
def test_encoding():
99-
for filename in get_data_files("encoding"):
100-
tests = _TestData(filename, b"data", encoding=None)
101-
for test in tests:
102-
yield (runParserEncodingTest, test[b'data'], test[b'encoding'])
103-
yield (runPreScanEncodingTest, test[b'data'], test[b'encoding'])
104-
105-
106107
# pylint:disable=wrong-import-position
107108
try:
108109
import chardet # noqa

0 commit comments

Comments
 (0)