mirror of
https://github.com/immich-app/immich.git
synced 2026-07-04 03:45:59 -07:00
5164feb5b4
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
52 lines
1.6 KiB
Dart
52 lines
1.6 KiB
Dart
import 'package:easy_localization/easy_localization.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:immich_mobile/constants/locales.dart';
|
|
import 'package:immich_mobile/generated/codegen_loader.g.dart';
|
|
|
|
extension PumpConsumerWidget on WidgetTester {
|
|
/// Wraps the provided [widget] with a localized Material app such that it
|
|
/// becomes:
|
|
///
|
|
/// EasyLocalization
|
|
/// |-ProviderScope
|
|
/// |-MaterialApp (localization delegates wired up)
|
|
/// |-Material
|
|
/// |-[widget]
|
|
///
|
|
Future<void> pumpConsumerWidget(
|
|
Widget widget, {
|
|
Duration? duration,
|
|
EnginePhase phase = EnginePhase.sendSemanticsUpdate,
|
|
List<Override> overrides = const [],
|
|
}) async {
|
|
await pumpWidget(
|
|
EasyLocalization(
|
|
supportedLocales: locales.values.toList(),
|
|
path: translationsPath,
|
|
startLocale: locales.values.first,
|
|
fallbackLocale: locales.values.first,
|
|
saveLocale: false,
|
|
useFallbackTranslations: true,
|
|
assetLoader: const CodegenLoader(),
|
|
child: ProviderScope(
|
|
overrides: overrides,
|
|
child: Builder(
|
|
builder: (context) => MaterialApp(
|
|
debugShowCheckedModeBanner: false,
|
|
localizationsDelegates: context.localizationDelegates,
|
|
supportedLocales: context.supportedLocales,
|
|
locale: context.locale,
|
|
home: Material(child: widget),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
duration: duration,
|
|
phase: phase,
|
|
);
|
|
await pumpAndSettle();
|
|
}
|
|
}
|