def test_all_with_import_err(): mod = extract.load_module(extract.parse_spec(here / "import_err")) m = Module(mod) with pytest.warns( RuntimeWarning, match= "Found 'err' in test.import_err.__all__, but it does not resolve: Error importing test.import_err", ): assert m.members
def test_attrs(): mod = extract.load_module( extract.parse_spec(here / "testdata" / "demo_long.py")) m = Module(mod) assert m.variables assert m.classes assert m.functions c = m.members["Foo"] assert isinstance(c, Class) assert c.class_variables assert c.instance_variables assert c.classmethods assert c.staticmethods assert c.methods
def test_repr_tb(monkeypatch): m = Module(dataclasses) with patch("pdoc.doc._docstr", side_effect=ValueError): with pytest.raises(RuntimeError, match="Error in dataclasses's repr!"): repr(m)
def test_order(): m = Module(dataclasses) m2 = Module(pytest) assert m < m2
def test_builtin_source_file(): m = Module(builtins) assert m.source_file is None