diff --git a/document_engine/rendering/render_document_element.py b/document_engine/rendering/render_document_element.py index 89fe2195..f3d74caf 100644 --- a/document_engine/rendering/render_document_element.py +++ b/document_engine/rendering/render_document_element.py @@ -1,4 +1,5 @@ import html as html_lib +import json from typing import Any _SHAPE_TAGS = {"rectangle": "rect", "cercle": "circle", "trait": "line"} @@ -130,9 +131,42 @@ def _render_minigame_placeholder( return ( f'
' + f'
' f'{label}' f'Formulaire de contenu à venir' + f"
" + ) + + +def _render_quiz_player(config: dict[str, Any]) -> str: + """Questionnaire RÉELLEMENT interactif — affiché uniquement en Mode + Aperçu (voir static/document/document-editor.css, + .docEditor3--preview), pour que le créateur puisse tester son quiz + avant un futur export (voir docs/plan/maquettes/ + document-formation-web.html, référence visuelle de ce rendu). Les + questions sont embarquées en JSON dans un attribut data-* (jamais un + ', "choices": ["A", "B"], "correct_index": 0, "points": 1}, + ] + } + ) + html = doc_engine.render_document_element(_quiz_element(config), {}) + assert "" not in html + assert "<script>" in html