Alex Li

✅ ++

@@ -7,13 +7,17 @@ void main() { @@ -7,13 +7,17 @@ void main() {
7 group( 7 group(
8 'Route.mainState are well-controlled by `mainState`', 8 'Route.mainState are well-controlled by `mainState`',
9 () { 9 () {
10 - testWidgets('with showCupertinoModalBottomSheet', (tester) async { 10 + Future<void> testInitStateAndDispose(
  11 + WidgetTester tester,
  12 + Future<void> Function(BuildContext context, WidgetBuilder builder)
  13 + onPressed,
  14 + ) async {
11 int _initState = 0, _dispose = 0; 15 int _initState = 0, _dispose = 0;
12 await _pumpWidget( 16 await _pumpWidget(
13 tester: tester, 17 tester: tester,
14 - onPressed: (context) => showCupertinoModalBottomSheet(  
15 - context: context,  
16 - builder: (_) => _TestWidget( 18 + onPressed: (context) => onPressed(
  19 + context,
  20 + (_) => _TestWidget(
17 onInitState: () => _initState++, 21 onInitState: () => _initState++,
18 onDispose: () => _dispose++, 22 onDispose: () => _dispose++,
19 ), 23 ),
@@ -36,6 +40,25 @@ void main() { @@ -36,6 +40,25 @@ void main() {
36 await tester.pumpAndSettle(); 40 await tester.pumpAndSettle();
37 expect(_initState, 1); 41 expect(_initState, 1);
38 expect(_dispose, 1); 42 expect(_dispose, 1);
  43 + }
  44 +
  45 + testWidgets('with showCupertinoModalBottomSheet', (tester) {
  46 + return testInitStateAndDispose(
  47 + tester,
  48 + (context, builder) => showCupertinoModalBottomSheet(
  49 + context: context,
  50 + builder: builder,
  51 + ),
  52 + );
  53 + });
  54 + testWidgets('with showMaterialModalBottomSheet', (tester) {
  55 + return testInitStateAndDispose(
  56 + tester,
  57 + (context, builder) => showMaterialModalBottomSheet(
  58 + context: context,
  59 + builder: builder,
  60 + ),
  61 + );
39 }); 62 });
40 }, 63 },
41 ); 64 );