##// END OF EJS Templates
Properly clean up input for interactive pasting....
Properly clean up input for interactive pasting. This requires applying email quote removal, input splitting and prefiltering of all single-line inputs in a fairly careful manner. New method `clean_input` was added to the terminal magics to implement this logic in an isolated and easy to test place. Closes #1258.

File last commit:

r6310:1ff2bdd6
r7717:28ad69d7
Show More
test_dir2.py
52 lines | 1.1 KiB | text/x-python | PythonLexer
import nose.tools as nt
from IPython.utils.dir2 import dir2
class Base(object):
x = 1
z = 23
def test_base():
res = dir2(Base())
assert ('x' in res)
assert ('z' in res)
assert ('y' not in res)
assert ('__class__' in res)
nt.assert_equal(res.count('x'), 1)
nt.assert_equal(res.count('__class__'), 1)
def test_SubClass():
class SubClass(Base):
y = 2
res = dir2(SubClass())
assert ('y' in res)
nt.assert_equal(res.count('y'), 1)
nt.assert_equal(res.count('x'), 1)
def test_SubClass_with_trait_names_method():
class SubClass(Base):
y = 2
def trait_names(self):
return ['t', 'umbrella']
res = dir2(SubClass())
assert('trait_names' in res)
assert('umbrella' in res)
nt.assert_equal(res[-6:], ['t', 'trait_names','umbrella', 'x','y','z'])
nt.assert_equal(res.count('t'), 1)
def test_SubClass_with_trait_names_attr():
# usecase: trait_names is used in a class describing psychological classification
class SubClass(Base):
y = 2
trait_names = 44
res = dir2(SubClass())
assert('trait_names' in res)