import asyncio from pathlib import Path import pytest from app.contracts import ExportRequest from app.export import service from app.export.document import ExportResult from app.export.browser_pdf import render_snapshot, browser_executable def test_browser_snapshot_uses_print_pipeline(monkeypatch): calls=[] def render(html,size): calls.append((html,size));return ExportResult(content=b'%PDF-browser',mime_type='application/pdf') monkeypatch.setattr('app.export.browser_pdf.render_snapshot',render) monkeypatch.setattr(service,'parse_document',lambda _:pytest.fail('Browser snapshots must not be reparsed by ReportLab')) async def run(): request=ExportRequest(format='pdf',source={'type':'markdown','markdown':'snapshot'},print_html='