53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
from pathlib import Path
|
|
|
|
from docforge import MkDocsRenderer
|
|
from docforge.models import Project, Module
|
|
|
|
|
|
def test_mkdocs_idempotent(tmp_path: Path):
|
|
project = Project("testpkg")
|
|
project.add_module(Module("testpkg.mod"))
|
|
|
|
out_dir = tmp_path / "docs"
|
|
renderer = MkDocsRenderer()
|
|
|
|
renderer.generate_sources(project, out_dir)
|
|
first = (out_dir / "testpkg" / "mod.md").read_text()
|
|
|
|
renderer.generate_sources(project, out_dir)
|
|
second = (out_dir / "testpkg" / "mod.md").read_text()
|
|
|
|
assert first == second
|
|
|
|
|
|
def test_generate_readme_idempotent(tmp_path: Path):
|
|
project = Project("testpkg")
|
|
|
|
root = Module("testpkg")
|
|
root.docstring = "Test package documentation."
|
|
|
|
project.add_module(root)
|
|
|
|
docs_dir = tmp_path / "docs"
|
|
|
|
renderer = MkDocsRenderer()
|
|
|
|
renderer.generate_readme(
|
|
project,
|
|
docs_dir,
|
|
module_is_source=True,
|
|
)
|
|
|
|
readme = tmp_path / "README.md"
|
|
|
|
first = readme.read_text()
|
|
|
|
renderer.generate_readme(
|
|
project,
|
|
docs_dir,
|
|
module_is_source=True,
|
|
)
|
|
|
|
second = readme.read_text()
|
|
|
|
assert first == second |