27 lines
660 B
Python
27 lines
660 B
Python
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
|