zcbot/tests/test_static_vendor.py

33 lines
1.1 KiB
Python

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()