/opt/imh-python/lib/python3.9/site-packages/IPython/utils/tests
NameSizeModeActions
__pycache__/-0755rm
test_capture.py53190644editdlrm
test_decorators.py1700644editdlrm
test_deprecated.py1830644editdlrm
test_dir2.py14460644editdlrm
test_imports.py4390644editdlrm
test_importstring.py12130644editdlrm
test_io.py14100644editdlrm
test_module_paths.py32720644editdlrm
test_openpy.py12190644editdlrm
test_path.py161040644editdlrm
test_process.py61340644editdlrm
test_pycolorize.py17610644editdlrm
test_shimmodule.py3870644editdlrm
test_sysinfo.py4640644editdlrm
test_tempdir.py11080644editdlrm
test_text.py77600644editdlrm
test_tokenutil.py39180644editdlrm
test_wildcard.py47290644editdlrm
__init__.py00644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/IPython/utils/tests/test_dir2.py (1446B)
from IPython.utils.dir2 import dir2 import pytest 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 assert res.count("x") == 1 assert res.count("__class__") == 1 def test_SubClass(): class SubClass(Base): y = 2 res = dir2(SubClass()) assert "y" in res assert res.count("y") == 1 assert 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: def __getattr__(self, attr): raise KeyError("I should be caught") def some_method(self): return True class SillierWithDir(MisbehavingGetattr): def __dir__(self): return ["some_method"] for bad_klass in (MisbehavingGetattr, SillierWithDir): obj = bad_klass() assert obj.some_method() with pytest.raises(KeyError): obj.other_method() res = dir2(obj) assert "some_method" in res