LCOV - code coverage report
Current view: top level - src/navigation/router - utils.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 13 13 100.0 %
Date: 2022-11-04 14:47:16 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:flutter/cupertino.dart';
       2             : import 'package:flutter/material.dart';
       3             : 
       4             : import '../transitions/transition.dart';
       5             : import 'contextless_navigator.dart';
       6             : import 'meedu_page_route.dart';
       7             : 
       8             : /// get the transition
       9           6 : Route<T> getRoute<T>(
      10             :   Widget page, {
      11             :   Object? arguments,
      12             :   bool maintainState = true,
      13             :   bool fullscreenDialog = false,
      14             :   bool backGestureEnabled = true,
      15             :   Transition? transition,
      16             :   Duration? transitionDuration,
      17             : }) {
      18          18 :   final name = '/${page.runtimeType.toString()}';
      19           6 :   final settings = RouteSettings(
      20             :     name: name,
      21             :     arguments: arguments,
      22             :   );
      23             : 
      24           8 :   final _transition = transition ?? ContextlessNavigator.i.transition;
      25             : 
      26             :   final _transitionDuration =
      27          10 :       transitionDuration ?? ContextlessNavigator.i.transitionDuration;
      28             : 
      29             :   switch (_transition) {
      30           6 :     case Transition.material:
      31           4 :       return MaterialPageRoute<T>(
      32           4 :         builder: (_) => page,
      33             :         maintainState: maintainState,
      34             :         fullscreenDialog: fullscreenDialog,
      35             :         settings: settings,
      36             :       );
      37           3 :     case Transition.cupertino:
      38           1 :       return CupertinoPageRoute<T>(
      39           1 :         builder: (_) => page,
      40             :         maintainState: maintainState,
      41             :         fullscreenDialog: fullscreenDialog,
      42             :         settings: settings,
      43             :       );
      44             : 
      45             :     default:
      46           3 :       return MeeduPageRoute<T>(
      47             :         child: page,
      48             :         settings: settings,
      49             :         maintainState: maintainState,
      50           3 :         transitionDuration: _transition == Transition.none
      51             :             ? Duration.zero
      52             :             : _transitionDuration,
      53             :         fullscreenDialog: fullscreenDialog,
      54             :         transition: _transition,
      55             :         backGestureEnabled: backGestureEnabled,
      56             :       );
      57             :   }
      58             : }

Generated by: LCOV version 1.16