##// END OF EJS Templates
Fix and test for "async with does not allow new lines"....
Fix and test for "async with does not allow new lines". Use the opportunity to add a test, and parametrise a few other, plus set the correct stacklevel. Closes #12975

File last commit:

r26922:9c38a13d
r27405:cb6563dc
Show More
test_openpy.py
38 lines | 1.2 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add tests for IPython.utils.openpy
r6452 import io
import os.path
from IPython.utils import openpy
mydir = os.path.dirname(__file__)
Matthias Bussonnier
apply black on the file
r25105 nonascii_path = os.path.join(mydir, "../../core/tests/nonascii.py")
Thomas Kluyver
Add tests for IPython.utils.openpy
r6452
def test_detect_encoding():
Matthias Bussonnier
apply black on the file
r25105 with open(nonascii_path, "rb") as f:
Mickaël Schoentgen
Fix ResourceWarning: unclosed file...
r24897 enc, lines = openpy.detect_encoding(f.readline)
Samuel Gaist
[utils][tests][openpy] Remove nose
r26922 assert enc == "iso-8859-5"
Matthias Bussonnier
apply black on the file
r25105
Thomas Kluyver
Add tests for IPython.utils.openpy
r6452
def test_read_file():
Matthias Bussonnier
apply black on the file
r25105 with io.open(nonascii_path, encoding="iso-8859-5") as f:
Matthias Bussonnier
properly close resource
r25103 read_specified_enc = f.read()
Thomas Kluyver
Add tests for IPython.utils.openpy
r6452 read_detected_enc = openpy.read_py_file(nonascii_path, skip_encoding_cookie=False)
Samuel Gaist
[utils][tests][openpy] Remove nose
r26922 assert read_detected_enc == read_specified_enc
Matthias Bussonnier
apply black on the file
r25105 assert "coding: iso-8859-5" in read_detected_enc
read_strip_enc_cookie = openpy.read_py_file(
nonascii_path, skip_encoding_cookie=True
)
assert "coding: iso-8859-5" not in read_strip_enc_cookie
Thomas Kluyver
Add tests for things in utils
r15516
def test_source_to_unicode():
Matthias Bussonnier
apply black on the file
r25105 with io.open(nonascii_path, "rb") as f:
Thomas Kluyver
Add tests for things in utils
r15516 source_bytes = f.read()
Samuel Gaist
[utils][tests][openpy] Remove nose
r26922 assert (
openpy.source_to_unicode(source_bytes, skip_encoding_cookie=False).splitlines()
== source_bytes.decode("iso-8859-5").splitlines()
Matthias Bussonnier
apply black on the file
r25105 )
Thomas Kluyver
Add tests for things in utils
r15516
source_no_cookie = openpy.source_to_unicode(source_bytes, skip_encoding_cookie=True)
Samuel Gaist
[utils][tests][openpy] Remove nose
r26922 assert "coding: iso-8859-5" not in source_no_cookie