rwml 0.1.0

Native Rust toolkit for Microsoft Word — read, write, edit, and render legacy .doc (Word 97-2003, [MS-DOC]) and modern .docx (OOXML): one document model, package-preserving edits, field evaluation, Markdown/HTML export, PDF preview
Documentation
import pathlib
import unittest


WORKFLOW = (
    pathlib.Path(__file__).resolve().parents[1]
    / ".github"
    / "workflows"
    / "release.yml"
)


class ReleaseWorkflowTests(unittest.TestCase):
    def test_release_workflow_publishes_manifest_artifact(self):
        text = WORKFLOW.read_text(encoding="utf-8")

        self.assertIn("python3 scripts/public_hygiene_audit.py", text)
        self.assertIn("python3 scripts/public_hygiene_audit.py --json", text)
        self.assertIn("cargo fmt --all -- --check", text)
        self.assertIn("cargo clippy --all-targets -- -D warnings", text)
        self.assertIn(
            "cargo clippy --all-targets --all-features -- -D warnings", text
        )
        self.assertIn("cargo test --no-default-features", text)
        self.assertIn("cargo test --doc --all-features", text)
        self.assertIn("cargo doc --no-deps --all-features", text)
        self.assertIn("scripts/release_manifest.py", text)
        self.assertIn("--git-rev \"$GITHUB_SHA\"", text)
        self.assertIn("--release-policy public-release", text)
        self.assertNotIn("--enforce-policy-inputs", text)
        self.assertIn("--hygiene-report dist/public-hygiene.json", text)
        self.assertIn("--corpus-manifest corpus/public/MANIFEST.tsv", text)
        self.assertIn("--corpus-manifest corpus/public/RENDER_MANIFEST.tsv", text)
        self.assertIn("cargo test --all-targets --features render", text)
        self.assertIn("dist/public-hygiene.json", text)
        self.assertIn("dist/rwml-release-manifest.json", text)
        self.assertIn("target/package/rwml-*.crate", text)
        self.assertIn("actions/upload-artifact@v4", text)


if __name__ == "__main__":
    unittest.main()