JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
test_scoped_log_level.cpp File Reference

Tests unitaires de l'élévation temporaire (RAII) du niveau minimal d'un journaliseur. More...

#include <gtest/gtest.h>
#include "Core/Diagnostics/Logger.h"
#include "Core/Diagnostics/ScopedLogLevel.h"

Functions

 TEST (ScopedLogLevelTest, ReleveUnNiveauPermissifPuisLeRestaure)
 Un niveau plus permissif (Trace) que le plancher demandé (Warning) est relevé pendant la portée, puis restauré à la sortie.
 TEST (ScopedLogLevelTest, NAssouplitJamaisUnNiveauDejaPlusStrict)
 Un niveau déjà plus strict que le plancher demandé n'est jamais assoupli.
 TEST (ScopedLogLevelTest, ElevationsImbriqueesNeRestaurentQuALaDerniereSortie)
 Deux élévations qui se chevauchent ne restaurent le niveau d'origine qu'à la sortie de la dernière.

Detailed Description

Tests unitaires de l'élévation temporaire (RAII) du niveau minimal d'un journaliseur.

Function Documentation

◆ TEST() [1/3]

TEST ( ScopedLogLevelTest ,
ElevationsImbriqueesNeRestaurentQuALaDerniereSortie  )

Deux élévations qui se chevauchent ne restaurent le niveau d'origine qu'à la sortie de la dernière.

C'est le cas réel de l'écran Mode IA : un entraînement et une évaluation peuvent tourner en même temps, chacun élevant le niveau pour la durée de son run. Avec une restauration par objet, la première portée à se fermer remettait le niveau qu'elle avait mémorisé — Warning, déjà relevé par l'autre — et le journal restait muet pour toute la session. Cas de test : Élévations imbriquées : restauration à la sortie de la dernière seulement.
Categorie : Unitaire · Core Diagnostics
Criticite : Majeur
Etapes :
1. Journaliseur à Info.
2. Ouvrir une première élévation à Warning, puis une seconde.
3. Fermer la première, vérifier le niveau ; fermer la seconde, vérifier à nouveau.
Resultat attendu : Le niveau reste Warning tant qu'une élévation est ouverte, et revient à Info seulement quand la dernière se ferme.

◆ TEST() [2/3]

TEST ( ScopedLogLevelTest ,
NAssouplitJamaisUnNiveauDejaPlusStrict  )

Un niveau déjà plus strict que le plancher demandé n'est jamais assoupli.

Cas de test : ScopedLogLevel n'assouplit jamais un niveau déjà plus strict.
Categorie : Unitaire · ScopedLogLevel
Criticite : Majeur
Etapes :
1. Logger au niveau Error.
2. Ouvrir une portée ScopedLogLevel(logger, Warning).
Resultat attendu : Le niveau reste Error pendant la portée et après.

◆ TEST() [3/3]

TEST ( ScopedLogLevelTest ,
ReleveUnNiveauPermissifPuisLeRestaure  )

Un niveau plus permissif (Trace) que le plancher demandé (Warning) est relevé pendant la portée, puis restauré à la sortie.

Cas de test : ScopedLogLevel relève un niveau permissif, puis le restaure.
Categorie : Unitaire · ScopedLogLevel
Criticite : Majeur
Etapes :
1. Logger au niveau Trace.
2. Ouvrir une portée ScopedLogLevel(logger, Warning).
3. Fermer la portée.
Resultat attendu : Niveau Warning pendant la portée, Trace restauré après.