##// END OF EJS Templates
Fix Mixin Inheritence in Xunit unittest....
Fix Mixin Inheritence in Xunit unittest. Some unittest were weird mixin, properly make the base class an TestCase, and use setup/teardown to set local attributes. This adds compatibility with PyTest

File last commit:

r25105:29618b48
r25113:3ac47845
Show More
test_openpy.py
39 lines | 1.2 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add tests for IPython.utils.openpy
r6452 import io
import os.path
import nose.tools as nt
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)
Matthias Bussonnier
apply black on the file
r25105 nt.assert_equal(enc, "iso-8859-5")
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)
nt.assert_equal(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()
Matthias Bussonnier
apply black on the file
r25105 nt.assert_equal(
openpy.source_to_unicode(source_bytes, skip_encoding_cookie=False).splitlines(),
source_bytes.decode("iso-8859-5").splitlines(),
)
Thomas Kluyver
Add tests for things in utils
r15516
source_no_cookie = openpy.source_to_unicode(source_bytes, skip_encoding_cookie=True)
Matthias Bussonnier
apply black on the file
r25105 nt.assert_not_in("coding: iso-8859-5", source_no_cookie)