# Copyright (c) 2013-2014 Google, Inc. # Copyright (c) 2013-2014 LOGILAB S.A. (Paris, FRANCE) # Copyright (c) 2014 Arun Persaud # Copyright (c) 2015-2018, 2020 Claudiu Popa # Copyright (c) 2015 Aru Sahni # Copyright (c) 2015 Ionel Cristian Maries # Copyright (c) 2016 Derek Gustafson # Copyright (c) 2016 Glenn Matthews # Copyright (c) 2017-2019, 2021 Pierre Sassoulas # Copyright (c) 2017-2018, 2020 Anthony Sottile # Copyright (c) 2017 ttenhoeve-aa # Copyright (c) 2017 Łukasz Rogalski # Copyright (c) 2019 Ashley Whetter # Copyright (c) 2020 Peter Kolbus # Copyright (c) 2020 hippo91 # Copyright (c) 2021 Daniël van Noord <13665637+DanielNoord@users.noreply.github.com> # Copyright (c) 2021 Marc Mueller <30130371+cdce8p@users.noreply.github.com> # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/main/LICENSE import io from pylint.utils import utils def test_decoding_stream_unknown_encoding() -> None: """decoding_stream should fall back to *some* decoding when given an unknown encoding. """ binary_io = io.BytesIO(b"foo\nbar") stream = utils.decoding_stream(binary_io, "garbage-encoding") # should still act like a StreamReader ret = stream.readlines() assert ret == ["foo\n", "bar"] def test_decoding_stream_known_encoding() -> None: binary_io = io.BytesIO("€".encode("cp1252")) stream = utils.decoding_stream(binary_io, "cp1252") assert stream.read() == "€"