stackchain-dashboard/tests/test_markdown_renderer.py
timmy f63c8c39b1
All checks were successful
CI / lint (pull_request) Successful in 7s
CI / build-frontend (pull_request) Successful in 4s
fix: escape markdown preview HTML (#52)
2026-08-05 23:48:27 +00:00

26 lines
651 B
Python

import json
import subprocess
from pathlib import Path
RENDERER = Path(__file__).parent.parent / "frontend" / "markdown.js"
def test_markdown_renderer_escapes_raw_html_before_rendering_heading():
payload = "# <img src=x onerror=alert(document.domain)>"
script = (
f"const render = require({json.dumps(str(RENDERER))});"
f"process.stdout.write(render({json.dumps(payload)}));"
)
result = subprocess.run(
["node", "-e", script],
check=True,
capture_output=True,
text=True,
)
assert result.stdout == (
"<h1>&lt;img src=x onerror=alert(document.domain)&gt;</h1>"
)