##// END OF EJS Templates
Use 'Linux' (dark bg) colours for Windows...
Use 'Linux' (dark bg) colours for Windows This puts the colours in inspect output and tracebacks back to what they were in IPython 4.x, but leaves the prompt colouring as in 5.0. I tried changing the colour scheme to 'Linux' entirely for Windows, but that selects Monokai as the theme for prompt_toolkit, which looks pretty horrible in 16 colours (at least to my eyes). This is admittedly a hack, but hopefully our legacy colour system is on the way out anyway. Closes gh-9723

File last commit:

r21287:23cd8cd1
r22760:7b7d5608
Show More
test_dir2.py
58 lines | 1.3 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_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)
def test_misbehaving_object_without_trait_names():
# dir2 shouldn't raise even when objects are dumb and raise
# something other than AttribteErrors on bad getattr.
class MisbehavingGetattr(object):
def __getattr__(self):
raise KeyError("I should be caught")
def some_method(self):
pass
class SillierWithDir(MisbehavingGetattr):
def __dir__(self):
return ['some_method']
for bad_klass in (MisbehavingGetattr, SillierWithDir):
res = dir2(bad_klass())
assert('some_method' in res)