from pathlib import Path import unittest ROOT = Path(__file__).resolve().parents[1] DEV_HTML = ROOT / "web" / "static" / "dev.html" VENDOR_DIR = ROOT / "web" / "static" / "vendor" / "markdown" class StaticVendorTests(unittest.TestCase): def test_dev_html_uses_local_markdown_vendor_assets(self) -> None: html = DEV_HTML.read_text(encoding="utf-8") self.assertNotIn("cdn.jsdelivr.net", html) self.assertIn('src="vendor/markdown/marked.umd.js"', html) self.assertIn('src="vendor/markdown/purify.min.js"', html) self.assertIn('src="vendor/markdown/highlight.min.js"', html) self.assertIn('href="vendor/markdown/github.min.css"', html) for name in ( "marked.umd.js", "purify.min.js", "highlight.min.js", "github.min.css", ): path = VENDOR_DIR / name self.assertTrue(path.exists(), f"missing vendored asset: {path}") self.assertGreater(path.stat().st_size, 0, f"empty vendored asset: {path}") if __name__ == "__main__": unittest.main()