introspection

This commit is contained in:
2026-01-20 20:24:22 +05:30
parent c910da9d14
commit 102ea4e215
26 changed files with 525 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
from docforge import GriffeLoader
def test_class_and_methods(temp_package):
(temp_package / "cls.py").write_text(
'''class MyClass:
"""Class doc."""
def method(self, x: int) -> int:
"""Method doc."""
return x
'''
)
loader = GriffeLoader()
project = loader.load_project(["testpkg.cls"])
module = project.get_module("testpkg.cls")
cls = module.get_object("MyClass")
assert cls.kind == "class"
assert cls.docstring == "Class doc."
assert "method" in cls.members
method = cls.get_member("method")
assert method.kind in {"method", "function"}
assert method.signature is not None