/// **`heureLisible` — une heure nue n'est honnête que dans la journée du lecteur.** library; import 'package:etm_powersync_app/services/telemetry_text.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { final n = DateTime(2026, 9, 8, 6, 15); test('aujourd\'hui : l\'heure seule suffit', () { expect(heureLisible(DateTime(2026, 9, 8, 4, 33), maintenant: n), '04:33'); }); test('hier : le jour est dit', () { expect(heureLisible(DateTime(2026, 9, 7, 16, 37), maintenant: n), 'hier 16:37'); }); test('plus ancien : la date est dite', () { expect(heureLisible(DateTime(2026, 9, 4, 9, 5), maintenant: n), 'le 04/09 à 09:05'); }); test('la comparaison porte sur le JOUR, pas sur 24 h', () { // À 00:05, un instant de 23:50 a quinze minutes — et c'est quand même hier. Comparer // des durées au lieu de dates calendaires l'aurait rendu « aujourd'hui ». final minuitPasse = DateTime(2026, 9, 8, 0, 5); expect(heureLisible(DateTime(2026, 9, 7, 23, 50), maintenant: minuitPasse), 'hier 23:50'); // Et l'inverse : 23 h d'écart mais le même jour civil reste une heure nue. expect(heureLisible(DateTime(2026, 9, 8, 0, 1), maintenant: DateTime(2026, 9, 8, 23, 30)), '00:01'); }); }