##// END OF EJS Templates
Remove EventManager reset methods, because they violate encapsulation....
Remove EventManager reset methods, because they violate encapsulation. The whole idea of the EventManager is that you can register hooks without worrying about what hooks other pieces of code might be registering. The reset methods violate this separation of concerns, since they will blow away everyone else's hooks too. (See gh-6680 for an example of this breaking things.) Since there is never any safe way to use them, we simply remove them entirely.

File last commit:

r16745:a56cfe97
r18547:4043b271
Show More
test_openpy.py
38 lines | 1.4 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__)
nonascii_path = os.path.join(mydir, '../../core/tests/nonascii.py')
def test_detect_encoding():
f = open(nonascii_path, 'rb')
enc, lines = openpy.detect_encoding(f.readline)
nt.assert_equal(enc, 'iso-8859-5')
def test_read_file():
read_specified_enc = io.open(nonascii_path, encoding='iso-8859-5').read()
read_detected_enc = openpy.read_py_file(nonascii_path, skip_encoding_cookie=False)
nt.assert_equal(read_detected_enc, read_specified_enc)
Fernando Perez
Quick, trivial fix to test failure introduced in cca0bf (PR #1624)
r6563 assert u'coding: iso-8859-5' in read_detected_enc
Thomas Kluyver
Add tests for IPython.utils.openpy
r6452
read_strip_enc_cookie = openpy.read_py_file(nonascii_path, skip_encoding_cookie=True)
Fernando Perez
Quick, trivial fix to test failure introduced in cca0bf (PR #1624)
r6563 assert u'coding: iso-8859-5' not in read_strip_enc_cookie
Thomas Kluyver
Add tests for things in utils
r15516
def test_source_to_unicode():
with io.open(nonascii_path, 'rb') as f:
source_bytes = f.read()
Thomas Kluyver
Make test robust against differences in line endings...
r16745 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)
nt.assert_not_in(u'coding: iso-8859-5', source_no_cookie)
def test_list_readline():
l = ['a', 'b']
readline = openpy._list_readline(l)
nt.assert_equal(readline(), 'a')
nt.assert_equal(readline(), 'b')
with nt.assert_raises(StopIteration):
readline()