import 'dart:ui'; import 'package:flutter_test/flutter_test.dart'; import 'package:pluriwave/estado/estado_idioma.dart'; import 'package:shared_preferences/shared_preferences.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('EstadoIdioma', () { test('arranca en modo sistema cuando no hay preferencia', () async { SharedPreferences.setMockInitialValues({}); final estado = EstadoIdioma(); await Future.delayed(Duration.zero); expect(estado.usaSistema, isTrue); expect(estado.localeSeleccionado, isNull); }); test('persiste locale manual y permite volver a sistema', () async { SharedPreferences.setMockInitialValues({}); final estado = EstadoIdioma(); await Future.delayed(Duration.zero); await estado.seleccionarLocale(const Locale('en')); expect(estado.usaSistema, isFalse); expect(estado.localeSeleccionado?.languageCode, 'en'); final recargado = EstadoIdioma(); await Future.delayed(Duration.zero); expect(recargado.localeSeleccionado?.languageCode, 'en'); await recargado.seleccionarSistema(); expect(recargado.usaSistema, isTrue); expect(recargado.localeSeleccionado, isNull); }); }); }