Squash-merge lib-standardisation: adopt repo standards across packaging, tooling, docs, and CI. - standardize pyproject.toml (canonical packaging, lint config, extras, GSDFC pydoclint) - add py.typed marker, modernize type hints and Google-style docstrings - nest generated docs under docs/lib and docs/mcp; add hand-written wiki - adopt standard Type A PyPI CI pipeline (tag==version guard + quality gate) - promote generated CHANGELOG.md; bump version to 0.0.7
25 lines
646 B
Python
25 lines
646 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
|