From e9f4a09527cc301687f181df9be3462d02772bfc Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sat, 20 Jun 2026 16:10:22 -0400 Subject: [PATCH] test(chronology): failing tests for generate_chronology.py extraction logic --- tests/test_generate_chronology.py | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/test_generate_chronology.py diff --git a/tests/test_generate_chronology.py b/tests/test_generate_chronology.py new file mode 100644 index 00000000..52866fc7 --- /dev/null +++ b/tests/test_generate_chronology.py @@ -0,0 +1,38 @@ +from pathlib import Path +import json +import pytest +from scripts.audit.generate_chronology import extract_slug_date, extract_summary + + +def test_slug_date_extraction() -> None: + result: str = extract_slug_date("gencpp_python_bindings_20260308") + assert result == "2026-03-08" + + +def test_slug_date_extraction_handles_missing_date() -> None: + result = extract_slug_date("my_folder") + assert result is None + + +def test_summary_extraction_from_spec_md(tmp_path: Path) -> None: + spec_content: str = "# Title\n\n## Overview\n\nFirst sentence here. Second sentence.\n" + (tmp_path / "spec.md").write_text(spec_content, encoding="utf-8") + result: str = extract_summary(tmp_path) + assert result == "First sentence here." + + +def test_summary_extraction_falls_back_to_metadata(tmp_path: Path) -> None: + metadata: dict = {"description": "From metadata."} + (tmp_path / "metadata.json").write_text(json.dumps(metadata), encoding="utf-8") + result: str = extract_summary(tmp_path) + assert result == "From metadata." + + +def test_summary_extraction_truncates_to_25_words(tmp_path: Path) -> None: + long_line: str = " ".join(["word"] * 50) + spec_content: str = f"# Title\n\n{long_line}\n" + (tmp_path / "spec.md").write_text(spec_content, encoding="utf-8") + result: str = extract_summary(tmp_path) + expected: str = " ".join(["word"] * 25) + "\u2026" + assert result == expected + assert result.endswith("\u2026") \ No newline at end of file