feat: HUB-18 thème commun — barre v0.5.0 + init thème Hub (2.84.1, fusion #132)
CI / lint (pull_request) Successful in 1m16s
CI / security (pull_request) Successful in 16s
CI / test (pull_request) Successful in 3m38s
CI / build (pull_request) Successful in 13s
CI / e2e (pull_request) Failing after 15m2s

This commit is contained in:
Spark
2026-11-06 14:22:45 +00:00
parent 128deb248d
commit 2943e40e81
12 changed files with 198 additions and 13 deletions
+20
View File
@@ -239,3 +239,23 @@ def test_barre_v041_correctif_icones_espace_de_noms_svg():
assert "createElementNS(SVG_NS, spec[0])" in js
assert 'createElement("svg")' not in js
assert "createElement(spec[0])" not in js
def test_barre_v050_theme_commun_hub18():
# v0.5.0 (HUB-18, fusion #132) : la barre apprend la préférence
# de thème du Hub et l'applique à l'ouverture. La vendange reste
# verbatim commons ; l'initialisation propre à ObsiGate vit dans
# app.js (écouteur draco:theme → applyTheme).
js = (FRONTEND / "draco-barre.js").read_text(encoding="utf-8")
assert "api/profil/theme" in js
assert 'credentials: "include"' in js
assert "draco-theme-hub" in js
assert "THEME_CACHE_TTL_MS" in js
assert 'CustomEvent("draco:theme"' in js
assert "themePref" in js and "themeMode" in js
# Aucun nom de Hub figé de plus que les défauts/dérivations
# documentés : l'URL du Hub reste la résolue de la barre.
assert "resolvedUrls.hub" in js
app = (FRONTEND / "app.js").read_text(encoding="utf-8")
assert 'addEventListener("draco:theme"' in app
assert "barre.themeMode" in app