@@ -43,6 +43,7 @@ def test_parser_reparse():
4343 ("iso-8859-2" ,b"" , {"same_origin_parent_encoding" :"utf-16le" ,"likely_encoding" :"iso-8859-2" }),
4444 ("iso-8859-2" ,b"" , {"likely_encoding" :"iso-8859-2" ,"default_encoding" :"iso-8859-3" }),
4545 ("iso-8859-2" ,b"" , {"default_encoding" :"iso-8859-2" }),
46+ ("windows-1252" ,b"" , {"default_encoding" :"totally-bogus-string" }),
4647 ("windows-1252" ,b"" , {}),
4748])
4849def test_parser_args (expected ,data ,kwargs ):
@@ -53,6 +54,27 @@ def test_parser_args(expected, data, kwargs):
5354assert expected == p .documentEncoding
5455
5556
57+ @pytest .mark .parametrize ("kwargs" , [
58+ {"override_encoding" :"iso-8859-2" },
59+ {"override_encoding" :None },
60+ {"transport_encoding" :"iso-8859-2" },
61+ {"transport_encoding" :None },
62+ {"same_origin_parent_encoding" :"iso-8859-2" },
63+ {"same_origin_parent_encoding" :None },
64+ {"likely_encoding" :"iso-8859-2" },
65+ {"likely_encoding" :None },
66+ {"default_encoding" :"iso-8859-2" },
67+ {"default_encoding" :None },
68+ {"foo_encoding" :"iso-8859-2" },
69+ {"foo_encoding" :None },
70+ ])
71+ def test_parser_args_raises (kwargs ):
72+ with pytest .raises (TypeError )as exc_info :
73+ p = HTMLParser ()
74+ p .parse ("" ,useChardet = False ,** kwargs )
75+ assert exc_info .value .message .startswith ("Cannot set an encoding with a unicode input" )
76+
77+
5678def runParserEncodingTest (data ,encoding ):
5779p = HTMLParser ()
5880assert p .documentEncoding is None