import 'package:flutter_test/flutter_test.dart'; import 'package:plezy/i18n/strings.g.dart'; void main() { test('empty overrides fall back in every affected locale', () async { final english = await AppLocale.en.build(); final commonEnglishValues = [ english.videoControls.showPlaybackControls, english.videoControls.hidePlaybackControls, ]; final spotlightEnglishValues = [ english.settings.tvCornerSpotlightBackdrop, english.settings.tvCornerSpotlightBackdropDescription, ]; expect([...commonEnglishValues, ...spotlightEnglishValues], everyElement(isNotEmpty)); const commonFallbackLocales = [ AppLocale.bg, AppLocale.da, AppLocale.de, AppLocale.es, AppLocale.fr, AppLocale.it, AppLocale.ja, AppLocale.ko, AppLocale.nb, AppLocale.nl, AppLocale.pl, AppLocale.pt, AppLocale.ru, AppLocale.sv, AppLocale.zh, ]; const spotlightFallbackLocales = [ AppLocale.bg, AppLocale.da, AppLocale.es, AppLocale.fr, AppLocale.it, AppLocale.ja, AppLocale.ko, AppLocale.nb, AppLocale.nl, AppLocale.pl, AppLocale.pt, AppLocale.ru, AppLocale.sv, AppLocale.zh, ]; for (final locale in commonFallbackLocales) { final translations = await locale.build(); expect( [translations.videoControls.showPlaybackControls, translations.videoControls.hidePlaybackControls], commonEnglishValues, reason: '${locale.languageCode} must inherit the common English values', ); } for (final locale in spotlightFallbackLocales) { final translations = await locale.build(); expect( [ translations.settings.tvCornerSpotlightBackdrop, translations.settings.tvCornerSpotlightBackdropDescription, ], spotlightEnglishValues, reason: '${locale.languageCode} must inherit the English spotlight values', ); } }); }