"""Tests Sprint 62 — vue HTML « Profil philologique ». Couvre : 1. Sections individuelles : rendu correct quand au moins un moteur a du signal pour le module donné ; chaîne vide si aucun. 2. Agrégateur : 6 sections présentes si les 6 modules ont du signal, sinon seulement les sections avec signal. 3. Adaptive masking complet : aucun moteur n'a de signal → ``""``. 4. Anti-injection HTML : noms de moteurs / catégories / caractères contenant ``") html = build_mufi_section([eng]) assert "