Corrige le texte invisible dans la boîte de dialogue (régression du style Bulma)
Régression du commit précédent (d87d6ad, classes Bulma sur la
superposition) : la classe ".box" impose elle-même une couleur de texte
SOMBRE (pensée pour un fond blanc). Comme aucun widget ne fige de couleur
de texte à sa création (default_style_for_widget.py), un titre/texte posé
dans la boîte SANS couleur personnalisée héritait de ce gris sombre
imposé par Bulma — invisible sur le fond sombre par défaut de cette boîte
de dialogue. Ni erreur serveur ni régression de test visible : juste un
texte "présent mais invisible", exactement ce qui a été rapporté ("j'ai
mis un texte dedans mais il ne se voit pas").
Correctif : la boîte fixe elle-même une couleur de texte claire par
défaut (color:#e8eaf0) dans son propre style inline — l'élément le plus
proche gagne, donc ça écrase la couleur imposée par la classe Bulma, tout
en restant surchargeable : un titre/texte qui personnalise sa propre
couleur (réglage "Couleur du texte") continue de l'emporter normalement.
Nouveau test de régression, confirmé en échec sur le commit précédent
(même style Bulma, pas encore cette couleur) puis au vert avec le
correctif. 138 tests au vert au total. Jeu de démo régénéré.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
d87d6addce
commit
69bafcb5c5
@@ -181,6 +181,28 @@ def test_overlay_widget_renders_fullscreen_fixed_box(client, game):
|
||||
assert "forgeOverlayBox" in snippet
|
||||
|
||||
|
||||
def test_overlay_box_default_text_color_survives_the_bulma_box_class(client, game):
|
||||
"""Régression : la classe Bulma ".box" (voir render_overlay.py) impose
|
||||
elle-même une couleur de texte SOMBRE, pensée pour un fond blanc. Un
|
||||
texte posé dans la boîte SANS couleur personnalisée (le cas par défaut
|
||||
— aucun widget ne fige de couleur à sa création, voir
|
||||
default_style_for_widget.py) héritait donc de ce gris sombre, invisible
|
||||
sur le fond sombre par défaut de la boîte — "j'ai mis un texte dedans
|
||||
mais il ne se voit pas", sans la moindre erreur serveur. La boîte doit
|
||||
donc fixer elle-même une couleur de texte claire par défaut, que Bulma
|
||||
ne peut plus écraser (élément le plus proche gagne)."""
|
||||
screen_id = _create_screen(client, game)
|
||||
overlay_id = _add_element(client, game, screen_id, "superposition")
|
||||
client.post(f"/game/{game}/elements/{overlay_id}/children/add", data={"widget": "texte"})
|
||||
|
||||
resp = client.get(f"/game/{game}/play")
|
||||
html = resp.data.decode()
|
||||
idx = html.find("forgeOverlayBox")
|
||||
assert idx != -1
|
||||
box_tag = html[html.rfind("<div", 0, idx):idx + 200]
|
||||
assert "color:#e8eaf0" in box_tag
|
||||
|
||||
|
||||
def test_overlay_wrapper_does_not_trap_its_own_z_index(client, game):
|
||||
"""Régression : le cadre .playElement/.canvasElement partagé par TOUS
|
||||
les widgets (voir filters/element_style_filter.py) posait quand même
|
||||
|
||||
Reference in New Issue
Block a user