ppt-web / tests /test_dom_to_pptx_inline_complex_smoke.py
26fwyzpz6f-max
Clean deploy without binary files
6aecb2e
Raw
History Blame Contribute Delete
1.34 kB
from pathlib import Path
import pytest
FIXTURE_PATH = Path(__file__).parent / "fixtures" / "dom_to_pptx_inline_complex_smoke.html"
EXPECTED_PATCH_VERSION = "2026-04-25-layer-clip-v21"
def test_dom_to_pptx_inline_complex_smoke():
try:
from playwright.sync_api import sync_playwright
except Exception as exc: # pragma: no cover - depends on local dependency install
pytest.skip(f"Playwright is not installed: {exc}")
with sync_playwright() as p:
try:
browser = p.chromium.launch()
except Exception as exc: # pragma: no cover - depends on local browser install
pytest.skip(f"Chromium is not available for Playwright: {exc}")
page = browser.new_page(viewport={"width": 1440, "height": 900})
page_errors = []
page.on("pageerror", lambda exc: page_errors.append(str(exc)))
try:
page.goto(FIXTURE_PATH.resolve().as_uri(), wait_until="load")
page.wait_for_function("window.domToPptx && window.runComplexInlinePptxSmokeTest")
result = page.evaluate("() => window.runComplexInlinePptxSmokeTest()")
finally:
browser.close()
assert not page_errors
assert result["slideCount"] == 2
assert result["patchVersion"] == EXPECTED_PATCH_VERSION
assert result["blobSize"] > 10_000