|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires du thème de l'IHM : modèle de feuille de style (LOT-56 TACHE-02, EX-IHM-050, EX-IHM-051) et police/typographie (TACHE-03, EX-IHM-052). More...
#include <cstdint>#include <fstream>#include <regex>#include <sstream>#include <unordered_map>#include <gtest/gtest.h>#include "HMI/Interface/DesignTokens.h"#include "HMI/Interface/FontResolution.h"#include "HMI/Interface/StyleSheetTemplate.h"#include "HMI/Interface/ThemeResolution.h"Functions | |
| TEST (ApplicationThemeTest, SubstitutionRemplaceTousLesMarqueurs) | |
| Chaque marqueur ${nom} présent dans le modèle est remplacé par sa valeur ; le résultat ne contient plus aucun marqueur. | |
| TEST (ApplicationThemeTest, MarqueurInconnuEstSignale) | |
| Un marqueur absent de la table de substitution est signalé, jamais produit silencieusement avec un trou. | |
| TEST (ApplicationThemeTest, AucuneCouleurLitteraleDansLeModeleReel) | |
| Les modèles réels livrés (Source/Elements/Themes/theme-*.qss) ne contiennent aucune couleur écrite en dur : toutes passent par un marqueur ${...}. | |
| TEST (ApplicationThemeTest, ResolutionDePoliceSansNomDeRepliCodeEnDur) | |
| La police embarquée est retenue quand elle a pu être enregistrée ; sinon, aucun nom de famille n'est renvoyé (TACHE-03) – l'appelant Qt doit alors demander une famille générique, jamais un second nom codé en dur. | |
| TEST (ApplicationThemeTest, EchelleTypographiquePositiveEtOrdonnee) | |
| L'échelle typographique produit des tailles strictement positives, et les rôles de titre et de corps sont ordonnés du plus grand au plus petit : titre d'écran > titre de section > corps > libellé secondaire. | |
| TEST (ApplicationThemeTest, ResolutionDuThemeEffectifSuitLeReglageEtLeSysteme) | |
| Résolution pure du thème effectif (LOT-56 TACHE-06) : Système suit le système d'exploitation, Clair/Sombre forcé l'ignore. | |
Tests unitaires du thème de l'IHM : modèle de feuille de style (LOT-56 TACHE-02, EX-IHM-050, EX-IHM-051) et police/typographie (TACHE-03, EX-IHM-052).
| TEST | ( | ApplicationThemeTest | , |
| AucuneCouleurLitteraleDansLeModeleReel | ) |
Les modèles réels livrés (Source/Elements/Themes/theme-*.qss) ne contiennent aucune couleur écrite en dur : toutes passent par un marqueur ${...}.
Cas de test : Le modele de theme livre ne contient aucune couleur litterale.
Categorie : Unitaire · Theme de l'IHM
Criticite : Majeur
Etapes :
1. Lire les feuilles de theme livrees.
2. Chercher un motif de couleur hexadecimale.
Resultat attendu : Aucune occurrence en dehors des commentaires n'est trouvee.
| TEST | ( | ApplicationThemeTest | , |
| EchelleTypographiquePositiveEtOrdonnee | ) |
L'échelle typographique produit des tailles strictement positives, et les rôles de titre et de corps sont ordonnés du plus grand au plus petit : titre d'écran > titre de section > corps > libellé secondaire.
Cas de test : L'echelle typographique est positive et ordonnee du plus grand au plus petit.
Categorie : Unitaire · Theme de l'IHM
Criticite : Majeur
Etapes :
1. Lire les tailles de l'echelle typographique des jetons.
Resultat attendu : Toutes sont strictement positives ; titre d'ecran > titre de section > corps > libelle secondaire.
| TEST | ( | ApplicationThemeTest | , |
| MarqueurInconnuEstSignale | ) |
Un marqueur absent de la table de substitution est signalé, jamais produit silencieusement avec un trou.
Cas de test : Un marqueur inconnu est signale plutot que produit avec un trou.
Categorie : Unitaire · Theme de l'IHM
Criticite : Critique
Etapes :
1. Substituer un modele dont un marqueur n'a pas de valeur.
Resultat attendu : Le resultat est en echec et nomme le marqueur manquant.
| TEST | ( | ApplicationThemeTest | , |
| ResolutionDePoliceSansNomDeRepliCodeEnDur | ) |
La police embarquée est retenue quand elle a pu être enregistrée ; sinon, aucun nom de famille n'est renvoyé (TACHE-03) – l'appelant Qt doit alors demander une famille générique, jamais un second nom codé en dur.
Cas de test : La resolution de police retombe sur une famille generique sans nom code en dur.
Categorie : Unitaire · Theme de l'IHM
Criticite : Critique
Etapes :
1. Resoudre la police embarquee enregistree, puis non enregistree.
Resultat attendu : Le premier cas rend la famille embarquee ; le second ne rend aucun nom de famille.
| TEST | ( | ApplicationThemeTest | , |
| ResolutionDuThemeEffectifSuitLeReglageEtLeSysteme | ) |
Résolution pure du thème effectif (LOT-56 TACHE-06) : Système suit le système d'exploitation, Clair/Sombre forcé l'ignore.
Cas de test : La resolution du theme effectif suit le reglage et, si Systeme, le systeme.
Categorie : Unitaire · Theme de l'IHM
Criticite : Critique
Etapes :
1. Resoudre les quatre combinaisons reglage/systeme.
Resultat attendu : Systeme+sombre -> Sombre ; Systeme+clair -> Clair ; Clair/Sombre force ignorent le systeme dans les deux etats.
| TEST | ( | ApplicationThemeTest | , |
| SubstitutionRemplaceTousLesMarqueurs | ) |
Chaque marqueur ${nom} présent dans le modèle est remplacé par sa valeur ; le résultat ne contient plus aucun marqueur.
Cas de test : La substitution remplace tous les marqueurs du modele.
Categorie : Unitaire · Theme de l'IHM
Criticite : Critique
Etapes :
1. Substituer un modele avec deux marqueurs connus.
Resultat attendu : Le texte produit contient les valeurs substituees et plus aucun marqueur.