Kanbante 0.45.12 : barre v0.4.1 — correctif des icônes invisibles du menu compte, vendange verbatim (fusion #125) + tests + version/changelog
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
"""Barre commune v0.4.1 (correctif fusion #125) — re-vendange 0.45.12.
|
||||
|
||||
- JS vendangé VERBATIM depuis dracodev-commons, branche
|
||||
menu-compte-icones-svg-ns-v0-4-1 (PR commons #11),
|
||||
ui/barre-apps/. Le CSS est inchangé par rapport à la v0.4.0.
|
||||
- Correctif : en v0.4.0, les icônes du menu compte étaient
|
||||
créées via document.createElement() — espace de noms HTML,
|
||||
jamais dessinées par le navigateur (libellés décalés d'un
|
||||
cran d'icône, aucun glyphe visible en production). La v0.4.1
|
||||
crée le <svg> et ses primitives via
|
||||
document.createElementNS() (espace de noms SVG).
|
||||
"""
|
||||
import hashlib
|
||||
from pathlib import Path
|
||||
|
||||
R = Path(__file__).resolve().parents[1]
|
||||
|
||||
# Empreintes SHA-256 de la source commons
|
||||
# (Projets/dracodev-commons, ui/barre-apps/ ; CSS : v0.4.0
|
||||
# inchangé, JS : branche du correctif v0.4.1 @32a729f).
|
||||
SHA256_CSS_V040 = "d8cf53b2f6700ebc7499d43869d5cae256d1f74636f0113bffb174b8a6bd06ec"
|
||||
SHA256_JS_V041 = "82c4940e8e115ed71d95f7c0dcdc906b93e49855580cc0fec7a1ccba34f85a42"
|
||||
|
||||
|
||||
def _sha256(chemin):
|
||||
return hashlib.sha256((R / chemin).read_bytes()).hexdigest()
|
||||
|
||||
|
||||
def test_barre_css_js_verbatim_commons_v041():
|
||||
assert _sha256("static/css/draco-barre.css") == SHA256_CSS_V040
|
||||
assert _sha256("static/js/draco-barre.js") == SHA256_JS_V041
|
||||
|
||||
|
||||
def test_js_icones_espace_de_noms_svg():
|
||||
js = (R / "static/js/draco-barre.js").read_text(encoding="utf-8")
|
||||
assert "MENU_ICONES" in js
|
||||
# Le correctif : création dans l'espace de noms SVG…
|
||||
assert 'createElementNS(SVG_NS, "svg")' in js
|
||||
assert "createElementNS(SVG_NS, spec[0])" in js
|
||||
# …et plus aucune création HTML du svg ou des primitives.
|
||||
assert 'createElement("svg")' not in js
|
||||
assert "createElement(spec[0])" not in js
|
||||
# Comportements conservés.
|
||||
assert 'hub: "https://hub.dracodev.net/"' in js
|
||||
assert '"profil", "Profil"' in js
|
||||
assert 'data-compte-act", "deconnexion"' in js
|
||||
Reference in New Issue
Block a user