"""Durée de vie maximale de l'overlay. Bug du 2026-08-21 : le halo est resté figé à l'écran. Depuis la refonte du design, la fenêtre ne se ferme plus à l'arrêt de l'enregistrement mais après le collage — donc tout blocage dans cette chaîne la laisse affichée indéfiniment. La fenêtre porte désormais sa propre limite : quoi qu'il arrive en amont, elle se referme seule. Ce test verrouille la COHÉRENCE de la limite, qui doit couvrir le pire cas réel — un enregistrement de durée maximale SUIVI d'une transcription. """ import pytest from core import CONFIG, duree_vie_overlay_coherente def test_la_limite_couvre_un_enregistrement_maximal_plus_la_transcription(): assert duree_vie_overlay_coherente(CONFIG) is True def test_une_limite_plus_courte_que_l_enregistrement_est_refusee(): mauvais = dict(CONFIG, duree_max_overlay_s=CONFIG["max_duration_s"] - 1) assert duree_vie_overlay_coherente(mauvais) is False def test_une_limite_sans_marge_pour_transcrire_est_refusee(): # juste egale a la duree d'enregistrement : la transcription serait coupee serre = dict(CONFIG, duree_max_overlay_s=CONFIG["max_duration_s"]) assert duree_vie_overlay_coherente(serre) is False def test_validate_config_rejette_une_limite_incoherente(): from core import validate_config mauvais = dict(CONFIG, duree_max_overlay_s=10.0) with pytest.raises(ValueError): validate_config(mauvais) def test_la_config_livree_est_coherente(): from core import validate_config validate_config(CONFIG) # ne doit pas lever