Files
md2pdf/tests/test_md2doc_cli.py

43 lines
1015 B
Python

"""CLI tests for md2doc.py — argparse interface, no actual conversion."""
import subprocess
import sys
from pathlib import Path
REPO = Path(__file__).parent.parent
def run_cli(*args):
return subprocess.run(
[sys.executable, "md2doc.py", *args],
cwd=REPO, capture_output=True, text=True
)
def test_no_args_shows_usage():
r = run_cli()
assert r.returncode != 0
assert "usage:" in r.stderr.lower()
def test_nonexistent_input_exits_1():
r = run_cli("nonexistent.md")
assert r.returncode == 1
assert "not found" in r.stderr.lower()
def test_style_choices_listed_in_help():
r = run_cli("--help")
assert r.returncode == 0
for s in ("elegant", "default", "dark", "mono", "report"):
assert s in r.stdout
def test_invalid_style_rejected():
tmp = REPO / "tests" / "tmp_test.md"
tmp.write_text("# test\n")
try:
r = run_cli(str(tmp), "--style", "nonexistent")
assert r.returncode != 0
finally:
tmp.unlink()