diff --git a/analysis_options.yaml b/analysis_options.yaml index a5de895abc4..0d631cee7a2 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -29,7 +29,7 @@ linter: - always_declare_return_types - always_put_control_body_on_new_line # - always_put_required_named_parameters_first # we prefer having parameters in the same order as fields https://github.com/flutter/flutter/issues/10219 - - always_specify_types + # - always_specify_types # conflicts with omit_obvious_local_variable_types # - always_use_package_imports # we do this commonly - annotate_overrides # - avoid_annotating_with_dynamic # conflicts with always_specify_types @@ -128,7 +128,8 @@ linter: - noop_primitive_operations - null_check_on_nullable_type_parameter - null_closures - # - omit_local_variable_types # opposite of always_specify_types + # - omit_local_variable_types # conflicts with specify_nonobvious_local_variable_types + - omit_obvious_local_variable_types # - one_member_abstracts # too many false positives - only_throw_errors # this does get disabled in a few places where we have legacy code that uses strings et al - overridden_fields @@ -187,10 +188,12 @@ linter: - sort_constructors_first - sort_pub_dependencies # DIFFERENT FROM FLUTTER/FLUTTER: Flutter's use case for not sorting does not apply to this repository. - sort_unnamed_constructors_first + - specify_nonobvious_local_variable_types + - specify_nonobvious_property_types - test_types_in_equals - throw_in_finally - tighten_type_of_initializing_formals - # - type_annotate_public_apis # subset of always_specify_types + - type_annotate_public_apis - type_init_formals - type_literal_in_constant_pattern - unawaited_futures # DIFFERENT FROM FLUTTER/FLUTTER: It's disabled there for "too many false positives"; that's not an issue here, and missing awaits have caused production issues in plugins. diff --git a/packages/animations/example/lib/container_transition.dart b/packages/animations/example/lib/container_transition.dart index 4f188eae2b2..26e91cccdc5 100644 --- a/packages/animations/example/lib/container_transition.dart +++ b/packages/animations/example/lib/container_transition.dart @@ -384,7 +384,7 @@ class _ExampleSingleTile extends StatelessWidget { @override Widget build(BuildContext context) { - const double height = 100.0; + const height = 100.0; return _InkWellOverlay( openContainer: openContainer, diff --git a/packages/animations/example/lib/shared_axis_transition.dart b/packages/animations/example/lib/shared_axis_transition.dart index 299f32cbaba..4806644caf2 100644 --- a/packages/animations/example/lib/shared_axis_transition.dart +++ b/packages/animations/example/lib/shared_axis_transition.dart @@ -152,7 +152,7 @@ class _CourseSwitchState extends State<_CourseSwitch> { @override Widget build(BuildContext context) { - final String subtitle = _value ? 'Bundled' : 'Shown Individually'; + final subtitle = _value ? 'Bundled' : 'Shown Individually'; return SwitchListTile( title: Text(widget.course), subtitle: Text(subtitle), diff --git a/packages/animations/lib/src/open_container.dart b/packages/animations/lib/src/open_container.dart index 56b3446e230..10dd2b2f5e7 100644 --- a/packages/animations/lib/src/open_container.dart +++ b/packages/animations/lib/src/open_container.dart @@ -643,7 +643,7 @@ class _OpenContainerRoute extends ModalRoute { required BuildContext navigatorContext, bool delayForSourceRoute = false, }) { - final RenderBox navigator = + final navigator = Navigator.of( navigatorContext, rootNavigator: useRootNavigator, @@ -679,8 +679,7 @@ class _OpenContainerRoute extends ModalRoute { Rect _getRect(GlobalKey key, RenderBox ancestor) { assert(key.currentContext != null); assert(ancestor.hasSize); - final RenderBox render = - key.currentContext!.findRenderObject()! as RenderBox; + final render = key.currentContext!.findRenderObject()! as RenderBox; assert(render.hasSize); return MatrixUtils.transformRect( render.getTransformTo(ancestor), @@ -689,8 +688,8 @@ class _OpenContainerRoute extends ModalRoute { } bool get _transitionWasInterrupted { - bool wasInProgress = false; - bool isInProgress = false; + var wasInProgress = false; + var isInProgress = false; switch (_currentAnimationStatus) { case AnimationStatus.completed: @@ -884,8 +883,8 @@ class _FlippableTweenSequence extends TweenSequence { _FlippableTweenSequence? get flipped { if (_flipped == null) { - final List> newItems = >[]; - for (int i = 0; i < _items.length; i++) { + final newItems = >[]; + for (var i = 0; i < _items.length; i++) { newItems.add( TweenSequenceItem( tween: _items[i].tween, diff --git a/packages/animations/lib/src/page_transition_switcher.dart b/packages/animations/lib/src/page_transition_switcher.dart index 1b2e7365d9f..53d4f7479a0 100644 --- a/packages/animations/lib/src/page_transition_switcher.dart +++ b/packages/animations/lib/src/page_transition_switcher.dart @@ -293,8 +293,8 @@ class _PageTransitionSwitcherState extends State _activeEntries.forEach(_updateTransitionForEntry); } - final bool hasNewChild = widget.child != null; - final bool hasOldChild = _currentEntry != null; + final hasNewChild = widget.child != null; + final hasOldChild = _currentEntry != null; if (hasNewChild != hasOldChild || hasNewChild && !Widget.canUpdate(widget.child!, _currentEntry!.widgetChild)) { @@ -327,11 +327,11 @@ class _PageTransitionSwitcherState extends State if (widget.child == null) { return; } - final AnimationController primaryController = AnimationController( + final primaryController = AnimationController( duration: widget.duration, vsync: this, ); - final AnimationController secondaryController = AnimationController( + final secondaryController = AnimationController( duration: widget.duration, vsync: this, ); @@ -373,7 +373,7 @@ class _PageTransitionSwitcherState extends State primaryController, secondaryController, ); - final _ChildEntry entry = _ChildEntry( + final entry = _ChildEntry( widgetChild: child, transition: KeyedSubtree.wrap(transition, _childNumber), primaryController: primaryController, diff --git a/packages/animations/test/dual_transition_builder_test.dart b/packages/animations/test/dual_transition_builder_test.dart index c8fd4cea946..7c7e25fc8b0 100644 --- a/packages/animations/test/dual_transition_builder_test.dart +++ b/packages/animations/test/dual_transition_builder_test.dart @@ -7,7 +7,7 @@ import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('runs animations', (WidgetTester tester) async { - final AnimationController controller = AnimationController( + final controller = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -75,7 +75,7 @@ void main() { }); testWidgets('keeps state', (WidgetTester tester) async { - final AnimationController controller = AnimationController( + final controller = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -146,7 +146,7 @@ void main() { testWidgets('does not jump when interrupted - forward', ( WidgetTester tester, ) async { - final AnimationController controller = AnimationController( + final controller = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -212,7 +212,7 @@ void main() { testWidgets('does not jump when interrupted - reverse', ( WidgetTester tester, ) async { - final AnimationController controller = AnimationController( + final controller = AnimationController( value: 1.0, vsync: const TestVSync(), duration: const Duration(milliseconds: 300), diff --git a/packages/animations/test/fade_scale_transition_test.dart b/packages/animations/test/fade_scale_transition_test.dart index b8a30e3f96c..f5631c7695c 100644 --- a/packages/animations/test/fade_scale_transition_test.dart +++ b/packages/animations/test/fade_scale_transition_test.dart @@ -361,7 +361,7 @@ void main() { }); testWidgets('should preserve state', (WidgetTester tester) async { - final AnimationController controller = AnimationController( + final controller = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -416,7 +416,7 @@ double _getOpacity(GlobalKey key, WidgetTester tester) { matching: find.byType(FadeTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final FadeTransition transition = widget as FadeTransition; + final transition = widget as FadeTransition; return a * transition.opacity.value; }); } @@ -427,7 +427,7 @@ double _getScale(GlobalKey key, WidgetTester tester) { matching: find.byType(ScaleTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final ScaleTransition transition = widget as ScaleTransition; + final transition = widget as ScaleTransition; return a * transition.scale.value; }); } diff --git a/packages/animations/test/fade_through_transition_test.dart b/packages/animations/test/fade_through_transition_test.dart index 82d26b6e552..10973d06e2e 100644 --- a/packages/animations/test/fade_through_transition_test.dart +++ b/packages/animations/test/fade_through_transition_test.dart @@ -10,12 +10,8 @@ void main() { testWidgets( 'FadeThroughPageTransitionsBuilder builds a FadeThroughTransition', (WidgetTester tester) async { - final AnimationController animation = AnimationController( - vsync: const TestVSync(), - ); - final AnimationController secondaryAnimation = AnimationController( - vsync: const TestVSync(), - ); + final animation = AnimationController(vsync: const TestVSync()); + final secondaryAnimation = AnimationController(vsync: const TestVSync()); await tester.pumpWidget( const FadeThroughPageTransitionsBuilder().buildTransitions( @@ -34,9 +30,9 @@ void main() { testWidgets('FadeThroughTransition runs forward', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget(_TestWidget(navigatorKey: navigator)); expect(find.text(bottomRoute), findsOneWidget); @@ -116,9 +112,9 @@ void main() { testWidgets('FadeThroughTransition runs backwards', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget(_TestWidget(navigatorKey: navigator)); navigator.currentState!.pushNamed('/a'); @@ -206,9 +202,9 @@ void main() { testWidgets('FadeThroughTransition does not jump when interrupted', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget(_TestWidget(navigatorKey: navigator)); expect(find.text(bottomRoute), findsOneWidget); @@ -271,9 +267,9 @@ void main() { testWidgets('State is not lost when transitioning', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -358,11 +354,11 @@ void main() { }); testWidgets('should keep state', (WidgetTester tester) async { - final AnimationController animation = AnimationController( + final animation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); - final AnimationController secondaryAnimation = AnimationController( + final secondaryAnimation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -431,7 +427,7 @@ double _getOpacity(String key, WidgetTester tester) { matching: find.byType(FadeTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final FadeTransition transition = widget as FadeTransition; + final transition = widget as FadeTransition; return a * transition.opacity.value; }); } @@ -442,7 +438,7 @@ double _getScale(String key, WidgetTester tester) { matching: find.byType(ScaleTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final ScaleTransition transition = widget as ScaleTransition; + final transition = widget as ScaleTransition; return a * transition.scale.value; }); } diff --git a/packages/animations/test/modal_test.dart b/packages/animations/test/modal_test.dart index 2f3bbe90182..eb2963176e8 100644 --- a/packages/animations/test/modal_test.dart +++ b/packages/animations/test/modal_test.dart @@ -430,7 +430,7 @@ void main() { testWidgets('showModal builds a new route with specified route settings', ( WidgetTester tester, ) async { - const RouteSettings routeSettings = RouteSettings( + const routeSettings = RouteSettings( name: 'route-name', arguments: 'arguments', ); @@ -473,7 +473,7 @@ void main() { testWidgets('showModal builds a new route with specified image filter', ( WidgetTester tester, ) async { - final ui.ImageFilter filter = ui.ImageFilter.blur(sigmaX: 1, sigmaY: 1); + final filter = ui.ImageFilter.blur(sigmaX: 1, sigmaY: 1); final Widget button = Builder( builder: (BuildContext context) { @@ -518,7 +518,7 @@ double _getOpacity(GlobalKey key, WidgetTester tester) { matching: find.byType(FadeTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final FadeTransition transition = widget as FadeTransition; + final transition = widget as FadeTransition; return a * transition.opacity.value; }); } @@ -529,7 +529,7 @@ double _getScale(GlobalKey key, WidgetTester tester) { matching: find.byType(ScaleTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final ScaleTransition transition = widget as ScaleTransition; + final transition = widget as ScaleTransition; return a * transition.scale.value; }); } diff --git a/packages/animations/test/open_container_test.dart b/packages/animations/test/open_container_test.dart index 916f5ed3f12..67354703999 100644 --- a/packages/animations/test/open_container_test.dart +++ b/packages/animations/test/open_container_test.dart @@ -8,8 +8,7 @@ import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('Can be opened via GlobalKey', (WidgetTester tester) async { - final GlobalKey openContainerKey = - GlobalKey(); + final openContainerKey = GlobalKey(); await tester.pumpWidget( _boilerplate( @@ -43,8 +42,8 @@ void main() { const ShapeBorder shape = RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(8.0)), ); - bool closedBuilderCalled = false; - bool openBuilderCalled = false; + var closedBuilderCalled = false; + var openBuilderCalled = false; await tester.pumpWidget( _boilerplate( @@ -72,7 +71,7 @@ void main() { final Element srcMaterialElement = tester.firstElement( find.ancestor(of: find.text('Closed'), matching: find.byType(Material)), ); - final Material srcMaterial = srcMaterialElement.widget as Material; + final srcMaterial = srcMaterialElement.widget as Material; expect(srcMaterial.color, Colors.green); expect(srcMaterial.elevation, 4.0); expect(srcMaterial.shape, shape); @@ -94,7 +93,7 @@ void main() { final Element destMaterialElement = tester.firstElement( find.ancestor(of: find.text('Closed'), matching: find.byType(Material)), ); - final Material closedMaterial = destMaterialElement.widget as Material; + final closedMaterial = destMaterialElement.widget as Material; expect(closedMaterial.color, Colors.green); expect(closedMaterial.elevation, 4.0); expect(closedMaterial.shape, shape); @@ -107,14 +106,11 @@ void main() { expect(_getOpacity(tester, 'Open'), 0.0); expect(_getOpacity(tester, 'Closed'), 1.0); - final _TrackedData dataClosed = _TrackedData( - closedMaterial, - closedMaterialRect, - ); + final dataClosed = _TrackedData(closedMaterial, closedMaterialRect); // Jump to the start of the fade in. await tester.pump(const Duration(milliseconds: 60)); // 300ms * 1/5 = 60ms - final _TrackedData dataPreFade = _TrackedData( + final dataPreFade = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -130,7 +126,7 @@ void main() { // Jump to the middle of the fade in. await tester.pump(const Duration(milliseconds: 30)); // 300ms * 3/10 = 90ms - final _TrackedData dataMidFadeIn = _TrackedData( + final dataMidFadeIn = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -149,7 +145,7 @@ void main() { // Jump to the end of the fade in at 2/5 of 300ms. await tester.pump(const Duration(milliseconds: 30)); // 300ms * 2/5 = 120ms - final _TrackedData dataPostFadeIn = _TrackedData( + final dataPostFadeIn = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -165,7 +161,7 @@ void main() { // Jump almost to the end of the transition. await tester.pump(const Duration(milliseconds: 180)); - final _TrackedData dataTransitionDone = _TrackedData( + final dataTransitionDone = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -188,7 +184,7 @@ void main() { final Element finalMaterialElement = tester.firstElement( find.ancestor(of: find.text('Open'), matching: find.byType(Material)), ); - final _TrackedData dataOpen = _TrackedData( + final dataOpen = _TrackedData( finalMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == finalMaterialElement), @@ -236,7 +232,7 @@ void main() { final Element initialMaterialElement = tester.firstElement( find.ancestor(of: find.text('Open'), matching: find.byType(Material)), ); - final _TrackedData dataOpen = _TrackedData( + final dataOpen = _TrackedData( initialMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == initialMaterialElement), @@ -257,7 +253,7 @@ void main() { final Element materialElement = tester.firstElement( find.ancestor(of: find.text('Open'), matching: find.byType(Material)), ); - final _TrackedData dataTransitionStart = _TrackedData( + final dataTransitionStart = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -271,7 +267,7 @@ void main() { // Jump to start of fade out: 1/5 of 300. await tester.pump(const Duration(milliseconds: 60)); // 300 * 1/5 = 60 - final _TrackedData dataPreFadeOut = _TrackedData( + final dataPreFadeOut = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -287,7 +283,7 @@ void main() { // Jump to the middle of the fade out. await tester.pump(const Duration(milliseconds: 30)); // 300 * 3/10 = 90 - final _TrackedData dataMidpoint = _TrackedData( + final dataMidpoint = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -305,7 +301,7 @@ void main() { // Jump to the end of the fade out. await tester.pump(const Duration(milliseconds: 30)); // 300 * 2/5 = 120 - final _TrackedData dataPostFadeOut = _TrackedData( + final dataPostFadeOut = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -321,7 +317,7 @@ void main() { // Jump almost to the end of the transition. await tester.pump(const Duration(milliseconds: 180)); - final _TrackedData dataTransitionDone = _TrackedData( + final dataTransitionDone = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -344,7 +340,7 @@ void main() { final Element finalMaterialElement = tester.firstElement( find.ancestor(of: find.text('Closed'), matching: find.byType(Material)), ); - final _TrackedData dataClosed = _TrackedData( + final dataClosed = _TrackedData( finalMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == finalMaterialElement), @@ -363,8 +359,8 @@ void main() { const ShapeBorder shape = RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(8.0)), ); - bool closedBuilderCalled = false; - bool openBuilderCalled = false; + var closedBuilderCalled = false; + var openBuilderCalled = false; await tester.pumpWidget( _boilerplate( @@ -394,7 +390,7 @@ void main() { final Element srcMaterialElement = tester.firstElement( find.ancestor(of: find.text('Closed'), matching: find.byType(Material)), ); - final Material srcMaterial = srcMaterialElement.widget as Material; + final srcMaterial = srcMaterialElement.widget as Material; expect(srcMaterial.color, Colors.green); expect(srcMaterial.elevation, 4.0); expect(srcMaterial.shape, shape); @@ -416,7 +412,7 @@ void main() { final Element destMaterialElement = tester.firstElement( find.ancestor(of: find.text('Closed'), matching: find.byType(Material)), ); - final Material closedMaterial = destMaterialElement.widget as Material; + final closedMaterial = destMaterialElement.widget as Material; expect(closedMaterial.color, Colors.green); expect(closedMaterial.elevation, 4.0); expect(closedMaterial.shape, shape); @@ -429,14 +425,11 @@ void main() { expect(_getOpacity(tester, 'Open'), 0.0); expect(_getOpacity(tester, 'Closed'), 1.0); - final _TrackedData dataClosed = _TrackedData( - closedMaterial, - closedMaterialRect, - ); + final dataClosed = _TrackedData(closedMaterial, closedMaterialRect); // The fade-out takes 1/5 of 300ms. Let's jump to the midpoint of that. await tester.pump(const Duration(milliseconds: 30)); // 300ms * 1/10 = 30ms - final _TrackedData dataMidFadeOut = _TrackedData( + final dataMidFadeOut = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -454,7 +447,7 @@ void main() { // Let's jump to the crossover point at 1/5 of 300ms. await tester.pump(const Duration(milliseconds: 30)); // 300ms * 1/5 = 60ms - final _TrackedData dataMidpoint = _TrackedData( + final dataMidpoint = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -471,7 +464,7 @@ void main() { // Let's jump to the middle of the fade-in at 3/5 of 300ms await tester.pump(const Duration(milliseconds: 120)); // 300ms * 3/5 = 180ms - final _TrackedData dataMidFadeIn = _TrackedData( + final dataMidFadeIn = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -489,7 +482,7 @@ void main() { // Let's jump almost to the end of the transition. await tester.pump(const Duration(milliseconds: 120)); - final _TrackedData dataTransitionDone = _TrackedData( + final dataTransitionDone = _TrackedData( destMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == destMaterialElement), @@ -517,7 +510,7 @@ void main() { final Element finalMaterialElement = tester.firstElement( find.ancestor(of: find.text('Open'), matching: find.byType(Material)), ); - final _TrackedData dataOpen = _TrackedData( + final dataOpen = _TrackedData( finalMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == finalMaterialElement), @@ -565,7 +558,7 @@ void main() { final Element initialMaterialElement = tester.firstElement( find.ancestor(of: find.text('Open'), matching: find.byType(Material)), ); - final _TrackedData dataOpen = _TrackedData( + final dataOpen = _TrackedData( initialMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == initialMaterialElement), @@ -587,7 +580,7 @@ void main() { final Element materialElement = tester.firstElement( find.ancestor(of: find.text('Open'), matching: find.byType(Material)), ); - final _TrackedData dataTransitionStart = _TrackedData( + final dataTransitionStart = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -602,7 +595,7 @@ void main() { // Jump to mid-point of fade-out: 1/10 of 300ms. await tester.pump(const Duration(milliseconds: 30)); // 300ms * 1/10 = 30ms - final _TrackedData dataMidFadeOut = _TrackedData( + final dataMidFadeOut = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -623,7 +616,7 @@ void main() { // Let's jump to the crossover point at 1/5 of 300ms. await tester.pump(const Duration(milliseconds: 30)); // 300ms * 1/5 = 60ms - final _TrackedData dataMidpoint = _TrackedData( + final dataMidpoint = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -640,7 +633,7 @@ void main() { // Let's jump to the middle of the fade-in at 3/5 of 300ms await tester.pump(const Duration(milliseconds: 120)); // 300ms * 3/5 = 180ms - final _TrackedData dataMidFadeIn = _TrackedData( + final dataMidFadeIn = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -658,7 +651,7 @@ void main() { // Let's jump almost to the end of the transition. await tester.pump(const Duration(milliseconds: 120)); - final _TrackedData dataTransitionDone = _TrackedData( + final dataTransitionDone = _TrackedData( materialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == materialElement), @@ -685,7 +678,7 @@ void main() { final Element finalMaterialElement = tester.firstElement( find.ancestor(of: find.text('Closed'), matching: find.byType(Material)), ); - final _TrackedData dataClosed = _TrackedData( + final dataClosed = _TrackedData( finalMaterialElement.widget as Material, tester.getRect( find.byElementPredicate((Element e) => e == finalMaterialElement), @@ -1040,7 +1033,7 @@ void main() { ), ), ); - const Rect fullNavigator = Rect.fromLTWH(250, 100, 300, 400); + const fullNavigator = Rect.fromLTWH(250, 100, 300, 400); expect(tester.getRect(find.byType(Navigator)), fullNavigator); final Rect materialRectClosed = tester.getRect( @@ -1306,9 +1299,7 @@ void main() { testWidgets( 'Container partly offscreen can be opened without crash - vertical', (WidgetTester tester) async { - final ScrollController controller = ScrollController( - initialScrollOffset: 50, - ); + final controller = ScrollController(initialScrollOffset: 50); await tester.pumpWidget( Center( child: SizedBox( @@ -1382,9 +1373,7 @@ void main() { testWidgets( 'Container partly offscreen can be opened without crash - horizontal', (WidgetTester tester) async { - final ScrollController controller = ScrollController( - initialScrollOffset: 50, - ); + final controller = ScrollController(initialScrollOffset: 50); await tester.pumpWidget( Center( child: SizedBox( @@ -1494,7 +1483,7 @@ void main() { testWidgets('onClosed callback is called when container has closed', ( WidgetTester tester, ) async { - bool hasClosed = false; + var hasClosed = false; final Widget openContainer = OpenContainer( onClosed: (dynamic _) { hasClosed = true; @@ -1666,8 +1655,8 @@ void main() { testWidgets( 'Verify that "useRootNavigator: false" uses the correct navigator', (WidgetTester tester) async { - const Key appKey = Key('App'); - const Key nestedNavigatorKey = Key('Nested Navigator'); + const appKey = Key('App'); + const nestedNavigatorKey = Key('Nested Navigator'); await tester.pumpWidget( createRootNavigatorTest( @@ -1698,8 +1687,8 @@ void main() { testWidgets( 'Verify that "useRootNavigator: true" uses the correct navigator', (WidgetTester tester) async { - const Key appKey = Key('App'); - const Key nestedNavigatorKey = Key('Nested Navigator'); + const appKey = Key('App'); + const nestedNavigatorKey = Key('Nested Navigator'); await tester.pumpWidget( createRootNavigatorTest( @@ -1730,8 +1719,8 @@ void main() { testWidgets('Verify correct opened size when "useRootNavigator: false"', ( WidgetTester tester, ) async { - const Key appKey = Key('App'); - const Key nestedNavigatorKey = Key('Nested Navigator'); + const appKey = Key('App'); + const nestedNavigatorKey = Key('Nested Navigator'); await tester.pumpWidget( createRootNavigatorTest( @@ -1753,8 +1742,8 @@ void main() { testWidgets('Verify correct opened size when "useRootNavigator: true"', ( WidgetTester tester, ) async { - const Key appKey = Key('App'); - const Key nestedNavigatorKey = Key('Nested Navigator'); + const appKey = Key('App'); + const nestedNavigatorKey = Key('Nested Navigator'); await tester.pumpWidget( createRootNavigatorTest( @@ -1776,7 +1765,7 @@ void main() { testWidgets('Verify routeSettings passed to Navigator', ( WidgetTester tester, ) async { - const RouteSettings routeSettings = RouteSettings( + const routeSettings = RouteSettings( name: 'route-name', arguments: 'arguments', ); @@ -1852,12 +1841,11 @@ class _TrackedData { } double _getRadius(Material material) { - final RoundedRectangleBorder? shape = - material.shape as RoundedRectangleBorder?; + final shape = material.shape as RoundedRectangleBorder?; if (shape == null) { return 0.0; } - final BorderRadius radius = shape.borderRadius as BorderRadius; + final radius = shape.borderRadius as BorderRadius; return radius.topRight.x; } diff --git a/packages/animations/test/page_transition_switcher_test.dart b/packages/animations/test/page_transition_switcher_test.dart index 930729893c7..56f4c774b81 100644 --- a/packages/animations/test/page_transition_switcher_test.dart +++ b/packages/animations/test/page_transition_switcher_test.dart @@ -8,9 +8,9 @@ import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('transitions in a new child.', (WidgetTester tester) async { - final UniqueKey containerOne = UniqueKey(); - final UniqueKey containerTwo = UniqueKey(); - final UniqueKey containerThree = UniqueKey(); + final containerOne = UniqueKey(); + final containerTwo = UniqueKey(); + final containerThree = UniqueKey(); await tester.pumpWidget( PageTransitionSwitcher( duration: const Duration(milliseconds: 100), @@ -87,9 +87,9 @@ void main() { testWidgets('transitions in a new child in reverse.', ( WidgetTester tester, ) async { - final UniqueKey containerOne = UniqueKey(); - final UniqueKey containerTwo = UniqueKey(); - final UniqueKey containerThree = UniqueKey(); + final containerOne = UniqueKey(); + final containerTwo = UniqueKey(); + final containerThree = UniqueKey(); await tester.pumpWidget( PageTransitionSwitcher( duration: const Duration(milliseconds: 100), @@ -167,9 +167,9 @@ void main() { }); testWidgets('switch from forward to reverse', (WidgetTester tester) async { - final UniqueKey containerOne = UniqueKey(); - final UniqueKey containerTwo = UniqueKey(); - final UniqueKey containerThree = UniqueKey(); + final containerOne = UniqueKey(); + final containerTwo = UniqueKey(); + final containerThree = UniqueKey(); await tester.pumpWidget( PageTransitionSwitcher( duration: const Duration(milliseconds: 100), @@ -239,9 +239,9 @@ void main() { }); testWidgets('switch from reverse to forward.', (WidgetTester tester) async { - final UniqueKey containerOne = UniqueKey(); - final UniqueKey containerTwo = UniqueKey(); - final UniqueKey containerThree = UniqueKey(); + final containerOne = UniqueKey(); + final containerTwo = UniqueKey(); + final containerThree = UniqueKey(); await tester.pumpWidget( PageTransitionSwitcher( duration: const Duration(milliseconds: 100), @@ -458,9 +458,9 @@ void main() { testWidgets("doesn't reset state of the children in transitions.", ( WidgetTester tester, ) async { - final UniqueKey statefulOne = UniqueKey(); - final UniqueKey statefulTwo = UniqueKey(); - final UniqueKey statefulThree = UniqueKey(); + final statefulOne = UniqueKey(); + final statefulTwo = UniqueKey(); + final statefulThree = UniqueKey(); StatefulTestWidgetState.generation = 0; @@ -555,9 +555,9 @@ void main() { testWidgets( 'updates previous child transitions if the transitionBuilder changes.', (WidgetTester tester) async { - final UniqueKey containerOne = UniqueKey(); - final UniqueKey containerTwo = UniqueKey(); - final UniqueKey containerThree = UniqueKey(); + final containerOne = UniqueKey(); + final containerTwo = UniqueKey(); + final containerThree = UniqueKey(); // Insert three unique children so that we have some previous children. await tester.pumpWidget( @@ -687,8 +687,8 @@ Widget _transitionBuilder( Map _getSecondaryAnimation(List keys, WidgetTester tester) { expect(find.byType(FadeTransition), findsNWidgets(keys.length)); - final Map result = {}; - for (final Key key in keys) { + final result = {}; + for (final key in keys) { final FadeTransition transition = tester.firstWidget( find.ancestor(of: find.byKey(key), matching: find.byType(FadeTransition)), ); @@ -699,8 +699,8 @@ Map _getSecondaryAnimation(List keys, WidgetTester tester) { Map _getPrimaryAnimation(List keys, WidgetTester tester) { expect(find.byType(ScaleTransition), findsNWidgets(keys.length)); - final Map result = {}; - for (final Key key in keys) { + final result = {}; + for (final key in keys) { final ScaleTransition transition = tester.firstWidget( find.ancestor( of: find.byKey(key), diff --git a/packages/animations/test/shared_axis_transition_test.dart b/packages/animations/test/shared_axis_transition_test.dart index db861390a6f..d422071df18 100644 --- a/packages/animations/test/shared_axis_transition_test.dart +++ b/packages/animations/test/shared_axis_transition_test.dart @@ -12,10 +12,8 @@ void main() { testWidgets( 'SharedAxisPageTransitionsBuilder builds a SharedAxisTransition', (WidgetTester tester) async { - final AnimationController animation = AnimationController( - vsync: const TestVSync(), - ); - final AnimationController secondaryAnimation = AnimationController( + final animation = AnimationController(vsync: const TestVSync()); + final secondaryAnimation = AnimationController( vsync: const TestVSync(), ); @@ -38,9 +36,9 @@ void main() { testWidgets('SharedAxisTransition runs forward', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -160,9 +158,9 @@ void main() { testWidgets('SharedAxisTransition runs in reverse', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -285,9 +283,9 @@ void main() { testWidgets('SharedAxisTransition does not jump when interrupted', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -414,9 +412,9 @@ void main() { testWidgets('State is not lost when transitioning', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -502,9 +500,9 @@ void main() { }); testWidgets('default fill color', (WidgetTester tester) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; // The default fill color should be derived from ThemeData.canvasColor. final Color defaultFillColor = ThemeData().canvasColor; @@ -547,9 +545,9 @@ void main() { }); testWidgets('custom fill color', (WidgetTester tester) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -590,11 +588,11 @@ void main() { }); testWidgets('should keep state', (WidgetTester tester) async { - final AnimationController animation = AnimationController( + final animation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); - final AnimationController secondaryAnimation = AnimationController( + final secondaryAnimation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -662,10 +660,8 @@ void main() { testWidgets( 'SharedAxisPageTransitionsBuilder builds a SharedAxisTransition', (WidgetTester tester) async { - final AnimationController animation = AnimationController( - vsync: const TestVSync(), - ); - final AnimationController secondaryAnimation = AnimationController( + final animation = AnimationController(vsync: const TestVSync()); + final secondaryAnimation = AnimationController( vsync: const TestVSync(), ); @@ -688,9 +684,9 @@ void main() { testWidgets('SharedAxisTransition runs forward', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -810,9 +806,9 @@ void main() { testWidgets('SharedAxisTransition runs in reverse', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -935,9 +931,9 @@ void main() { testWidgets('SharedAxisTransition does not jump when interrupted', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1064,9 +1060,9 @@ void main() { testWidgets('State is not lost when transitioning', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1152,9 +1148,9 @@ void main() { }); testWidgets('default fill color', (WidgetTester tester) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; // The default fill color should be derived from ThemeData.canvasColor. final Color defaultFillColor = ThemeData().canvasColor; @@ -1197,9 +1193,9 @@ void main() { }); testWidgets('custom fill color', (WidgetTester tester) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1240,11 +1236,11 @@ void main() { }); testWidgets('should keep state', (WidgetTester tester) async { - final AnimationController animation = AnimationController( + final animation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); - final AnimationController secondaryAnimation = AnimationController( + final secondaryAnimation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -1312,10 +1308,8 @@ void main() { testWidgets( 'SharedAxisPageTransitionsBuilder builds a SharedAxisTransition', (WidgetTester tester) async { - final AnimationController animation = AnimationController( - vsync: const TestVSync(), - ); - final AnimationController secondaryAnimation = AnimationController( + final animation = AnimationController(vsync: const TestVSync()); + final secondaryAnimation = AnimationController( vsync: const TestVSync(), ); @@ -1338,9 +1332,9 @@ void main() { testWidgets('SharedAxisTransition runs forward', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1415,9 +1409,9 @@ void main() { testWidgets('SharedAxisTransition runs in reverse', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1497,9 +1491,9 @@ void main() { testWidgets('SharedAxisTransition does not jump when interrupted', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1569,9 +1563,9 @@ void main() { testWidgets('SharedAxisTransition properly disposes animation', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1604,9 +1598,9 @@ void main() { testWidgets('State is not lost when transitioning', ( WidgetTester tester, ) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1692,9 +1686,9 @@ void main() { }); testWidgets('default fill color', (WidgetTester tester) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; // The default fill color should be derived from ThemeData.canvasColor. final Color defaultFillColor = ThemeData().canvasColor; @@ -1737,9 +1731,9 @@ void main() { }); testWidgets('custom fill color', (WidgetTester tester) async { - final GlobalKey navigator = GlobalKey(); - const String bottomRoute = '/'; - const String topRoute = '/a'; + final navigator = GlobalKey(); + const bottomRoute = '/'; + const topRoute = '/a'; await tester.pumpWidget( _TestWidget( @@ -1780,11 +1774,11 @@ void main() { }); testWidgets('should keep state', (WidgetTester tester) async { - final AnimationController animation = AnimationController( + final animation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); - final AnimationController secondaryAnimation = AnimationController( + final secondaryAnimation = AnimationController( vsync: const TestVSync(), duration: const Duration(milliseconds: 300), ); @@ -1855,7 +1849,7 @@ double _getOpacity(String key, WidgetTester tester) { matching: find.byType(FadeTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final FadeTransition transition = widget as FadeTransition; + final transition = widget as FadeTransition; return a * transition.opacity.value; }); } @@ -1876,7 +1870,7 @@ double _getTranslationOffset( double a, Widget widget, ) { - final Transform transition = widget as Transform; + final transition = widget as Transform; final Vector3 translation = transition.transform.getTranslation(); return a + translation.x; }); @@ -1885,7 +1879,7 @@ double _getTranslationOffset( double a, Widget widget, ) { - final Transform transition = widget as Transform; + final transition = widget as Transform; final Vector3 translation = transition.transform.getTranslation(); return a + translation.y; }); @@ -1904,7 +1898,7 @@ double _getScale(String key, WidgetTester tester) { matching: find.byType(ScaleTransition), ); return tester.widgetList(finder).fold(1.0, (double a, Widget widget) { - final ScaleTransition transition = widget as ScaleTransition; + final transition = widget as ScaleTransition; return a * transition.scale.value; }); } diff --git a/packages/camera/camera/example/integration_test/camera_test.dart b/packages/camera/camera/example/integration_test/camera_test.dart index c12e5880bd5..258110e41a1 100644 --- a/packages/camera/camera/example/integration_test/camera_test.dart +++ b/packages/camera/camera/example/integration_test/camera_test.dart @@ -31,19 +31,18 @@ void main() { await testDir.delete(recursive: true); }); - final Map presetExpectedSizes = - { - ResolutionPreset.low: Platform.isAndroid - ? const Size(240, 320) - : const Size(288, 352), - ResolutionPreset.medium: Platform.isAndroid - ? const Size(480, 720) - : const Size(480, 640), - ResolutionPreset.high: const Size(720, 1280), - ResolutionPreset.veryHigh: const Size(1080, 1920), - ResolutionPreset.ultraHigh: const Size(2160, 3840), - // Don't bother checking for max here since it could be anything. - }; + final presetExpectedSizes = { + ResolutionPreset.low: Platform.isAndroid + ? const Size(240, 320) + : const Size(288, 352), + ResolutionPreset.medium: Platform.isAndroid + ? const Size(480, 720) + : const Size(480, 640), + ResolutionPreset.high: const Size(720, 1280), + ResolutionPreset.veryHigh: const Size(1080, 1920), + ResolutionPreset.ultraHigh: const Size(2160, 3840), + // Don't bother checking for max here since it could be anything. + }; /// Verify that [actual] has dimensions that are at least as large as /// [expectedSize]. Allows for a mismatch in portrait vs landscape. Returns @@ -70,10 +69,8 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video metadata - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final Size video = videoController.value.size; @@ -92,14 +89,11 @@ void main() { if (cameras.isEmpty) { return; } - for (final CameraDescription cameraDescription in cameras) { - bool previousPresetExactlySupported = true; + for (final cameraDescription in cameras) { + var previousPresetExactlySupported = true; for (final MapEntry preset in presetExpectedSizes.entries) { - final CameraController controller = CameraController( - cameraDescription, - preset.key, - ); + final controller = CameraController(cameraDescription, preset.key); await controller.initialize(); await controller.prepareForVideoRecording(); final bool presetExactlySupported = await testCaptureVideoResolution( @@ -125,7 +119,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, @@ -142,10 +136,8 @@ void main() { final int recordingTime = DateTime.now().millisecondsSinceEpoch - recordingStart; - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); @@ -159,7 +151,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, @@ -169,14 +161,14 @@ void main() { await controller.prepareForVideoRecording(); int startPause; - int timePaused = 0; - const int pauseIterations = 2; + var timePaused = 0; + const pauseIterations = 2; await controller.startVideoRecording(); final int recordingStart = DateTime.now().millisecondsSinceEpoch; sleep(const Duration(milliseconds: 500)); - for (int i = 0; i < pauseIterations; i++) { + for (var i = 0; i < pauseIterations; i++) { await controller.pauseVideoRecording(); startPause = DateTime.now().millisecondsSinceEpoch; sleep(const Duration(milliseconds: 500)); @@ -190,10 +182,8 @@ void main() { final int recordingTime = DateTime.now().millisecondsSinceEpoch - recordingStart; - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); @@ -207,14 +197,14 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, ); await controller.initialize(); - bool isDetecting = false; + var isDetecting = false; await controller.startImageStream((CameraImage image) { if (isDetecting) { @@ -239,7 +229,7 @@ void main() { List cameras, ImageFormatGroup? imageFormatGroup, ) async { - final CameraController controller = CameraController( + final controller = CameraController( cameras.first, ResolutionPreset.low, enableAudio: false, @@ -247,7 +237,7 @@ void main() { ); await controller.initialize(); - final Completer completer = Completer(); + final completer = Completer(); await controller.startImageStream((CameraImage image) { if (!completer.isCompleted) { @@ -270,10 +260,7 @@ void main() { return; } - final CameraController controller = CameraController( - cameras[0], - ResolutionPreset.low, - ); + final controller = CameraController(cameras[0], ResolutionPreset.low); await controller.initialize(); await controller.prepareForVideoRecording(); @@ -289,10 +276,8 @@ void main() { final XFile file = await controller.stopVideoRecording(); - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); @@ -310,7 +295,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, diff --git a/packages/camera/camera/example/lib/main.dart b/packages/camera/camera/example/lib/main.dart index f8d4c8c44dc..9185f3e34f1 100644 --- a/packages/camera/camera/example/lib/main.dart +++ b/packages/camera/camera/example/lib/main.dart @@ -558,7 +558,7 @@ class _CameraExampleHomeState extends State /// Display a row of toggle to select the camera (or a message if no camera is available). Widget _cameraTogglesRowWidget() { - final List toggles = []; + final toggles = []; void onChanged(CameraDescription? description) { if (description == null) { @@ -614,7 +614,7 @@ class _CameraExampleHomeState extends State final CameraController cameraController = controller!; - final Offset offset = Offset( + final offset = Offset( details.localPosition.dx / constraints.maxWidth, details.localPosition.dy / constraints.maxHeight, ); @@ -633,7 +633,7 @@ class _CameraExampleHomeState extends State Future _initializeCameraController( CameraDescription cameraDescription, ) async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( cameraDescription, kIsWeb ? ResolutionPreset.max : ResolutionPreset.medium, enableAudio: enableAudio, @@ -985,7 +985,7 @@ class _CameraExampleHomeState extends State return; } - final VideoPlayerController vController = kIsWeb + final vController = kIsWeb ? VideoPlayerController.networkUrl(Uri.parse(videoFile!.path)) : VideoPlayerController.file(File(videoFile!.path)); diff --git a/packages/camera/camera/example/test/main_test.dart b/packages/camera/camera/example/test/main_test.dart index fe969d9a3c6..9563df089fa 100644 --- a/packages/camera/camera/example/test/main_test.dart +++ b/packages/camera/camera/example/test/main_test.dart @@ -20,7 +20,7 @@ void main() { ) async { WidgetsFlutterBinding.ensureInitialized(); // Adds 10 fake camera descriptions. - for (int i = 0; i < 10; i++) { + for (var i = 0; i < 10; i++) { cameras.add( CameraDescription( name: 'camera_$i', diff --git a/packages/camera/camera/example/test_driver/integration_test.dart b/packages/camera/camera/example/test_driver/integration_test.dart index d512473309e..ef65f091ca0 100644 --- a/packages/camera/camera/example/test_driver/integration_test.dart +++ b/packages/camera/camera/example/test_driver/integration_test.dart @@ -17,8 +17,7 @@ Future main() async { print('This test must be run on a POSIX host. Skipping...'); exit(0); } - final bool adbExists = - Process.runSync('which', ['adb']).exitCode == 0; + final adbExists = Process.runSync('which', ['adb']).exitCode == 0; if (!adbExists) { print(r'This test needs ADB to exist on the $PATH. Skipping...'); exit(0); @@ -61,6 +60,6 @@ Future main() async { 'android.permission.RECORD_AUDIO', ]); - final Map result = jsonDecode(data) as Map; + final result = jsonDecode(data) as Map; exit(result['result'] == 'true' ? 0 : 1); } diff --git a/packages/camera/camera/lib/src/camera_controller.dart b/packages/camera/camera/lib/src/camera_controller.dart index 23494b4b27f..f44404a3b7b 100644 --- a/packages/camera/camera/lib/src/camera_controller.dart +++ b/packages/camera/camera/lib/src/camera_controller.dart @@ -327,12 +327,11 @@ class CameraController extends ValueNotifier { ); } - final Completer initializeCompleter = Completer(); + final initializeCompleter = Completer(); _initializeFuture = initializeCompleter.future; try { - final Completer initializeCompleter = - Completer(); + final initializeCompleter = Completer(); _deviceOrientationSubscription ??= CameraPlatform.instance .onDeviceOrientationChanged() diff --git a/packages/camera/camera/lib/src/camera_preview.dart b/packages/camera/camera/lib/src/camera_preview.dart index ea0b601ac73..c4af103bb00 100644 --- a/packages/camera/camera/lib/src/camera_preview.dart +++ b/packages/camera/camera/lib/src/camera_preview.dart @@ -59,7 +59,7 @@ class CameraPreview extends StatelessWidget { } int _getQuarterTurns() { - final Map turns = { + final turns = { DeviceOrientation.portraitUp: 0, DeviceOrientation.landscapeRight: 1, DeviceOrientation.portraitDown: 2, diff --git a/packages/camera/camera/test/camera_image_stream_test.dart b/packages/camera/camera/test/camera_image_stream_test.dart index a78536b4b00..0a9644fcd8d 100644 --- a/packages/camera/camera/test/camera_image_stream_test.dart +++ b/packages/camera/camera/test/camera_image_stream_test.dart @@ -20,7 +20,7 @@ void main() { }); test('startImageStream() throws $CameraException when uninitialized', () { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -50,7 +50,7 @@ void main() { test( 'startImageStream() throws $CameraException when recording videos', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -80,7 +80,7 @@ void main() { test( 'startImageStream() throws $CameraException when already streaming images', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -107,7 +107,7 @@ void main() { ); test('startImageStream() calls CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -127,7 +127,7 @@ void main() { }); test('stopImageStream() throws $CameraException when uninitialized', () { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -157,7 +157,7 @@ void main() { test( 'stopImageStream() throws $CameraException when not streaming images', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -181,7 +181,7 @@ void main() { ); test('stopImageStream() intended behaviour', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -203,7 +203,7 @@ void main() { }); test('startVideoRecording() can stream images', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -225,7 +225,7 @@ void main() { }); test('startVideoRecording() by default does not stream', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, diff --git a/packages/camera/camera/test/camera_image_test.dart b/packages/camera/camera/test/camera_image_test.dart index a9ea9d9c663..6eb594497e3 100644 --- a/packages/camera/camera/test/camera_image_test.dart +++ b/packages/camera/camera/test/camera_image_test.dart @@ -9,7 +9,7 @@ import 'package:flutter_test/flutter_test.dart'; void main() { test('translates correctly from platform interface classes', () { - final CameraImageData originalImage = CameraImageData( + final originalImage = CameraImageData( format: const CameraImageFormat(ImageFormatGroup.jpeg, raw: 1234), planes: [ CameraImagePlane( @@ -34,7 +34,7 @@ void main() { sensorSensitivity: 1.3, ); - final CameraImage image = CameraImage.fromPlatformInterface(originalImage); + final image = CameraImage.fromPlatformInterface(originalImage); // Simple values. expect(image.width, 640); expect(image.height, 480); @@ -46,12 +46,12 @@ void main() { expect(image.format.raw, 1234); // Planes. expect(image.planes.length, originalImage.planes.length); - for (int i = 0; i < image.planes.length; i++) { + for (var i = 0; i < image.planes.length; i++) { expect( image.planes[i].bytes.length, originalImage.planes[i].bytes.length, ); - for (int j = 0; j < image.planes[i].bytes.length; j++) { + for (var j = 0; j < image.planes[i].bytes.length; j++) { expect(image.planes[i].bytes[j], originalImage.planes[i].bytes[j]); } expect( @@ -67,25 +67,23 @@ void main() { group('legacy constructors', () { test('$CameraImage can be created', () { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraImage cameraImage = CameraImage.fromPlatformData( - { - 'format': 35, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4, - }, - ], - }, - ); + final cameraImage = CameraImage.fromPlatformData({ + 'format': 35, + 'height': 1, + 'width': 4, + 'lensAperture': 1.8, + 'sensorExposureTime': 9991324, + 'sensorSensitivity': 92.0, + 'planes': [ + { + 'bytes': Uint8List.fromList([1, 2, 3, 4]), + 'bytesPerPixel': 1, + 'bytesPerRow': 4, + 'height': 1, + 'width': 4, + }, + ], + }); expect(cameraImage.height, 1); expect(cameraImage.width, 4); expect(cameraImage.format.group, ImageFormatGroup.yuv420); @@ -95,123 +93,113 @@ void main() { test('$CameraImage has ImageFormatGroup.yuv420 for iOS', () { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final CameraImage cameraImage = CameraImage.fromPlatformData( - { - 'format': 875704438, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4, - }, - ], - }, - ); + final cameraImage = CameraImage.fromPlatformData({ + 'format': 875704438, + 'height': 1, + 'width': 4, + 'lensAperture': 1.8, + 'sensorExposureTime': 9991324, + 'sensorSensitivity': 92.0, + 'planes': [ + { + 'bytes': Uint8List.fromList([1, 2, 3, 4]), + 'bytesPerPixel': 1, + 'bytesPerRow': 4, + 'height': 1, + 'width': 4, + }, + ], + }); expect(cameraImage.format.group, ImageFormatGroup.yuv420); }); test('$CameraImage has ImageFormatGroup.yuv420 for Android', () { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraImage cameraImage = CameraImage.fromPlatformData( - { - 'format': 35, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4, - }, - ], - }, - ); + final cameraImage = CameraImage.fromPlatformData({ + 'format': 35, + 'height': 1, + 'width': 4, + 'lensAperture': 1.8, + 'sensorExposureTime': 9991324, + 'sensorSensitivity': 92.0, + 'planes': [ + { + 'bytes': Uint8List.fromList([1, 2, 3, 4]), + 'bytesPerPixel': 1, + 'bytesPerRow': 4, + 'height': 1, + 'width': 4, + }, + ], + }); expect(cameraImage.format.group, ImageFormatGroup.yuv420); }); test('$CameraImage has ImageFormatGroup.nv21 for android', () { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraImage cameraImage = CameraImage.fromPlatformData( - { - 'format': 17, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4, - }, - ], - }, - ); + final cameraImage = CameraImage.fromPlatformData({ + 'format': 17, + 'height': 1, + 'width': 4, + 'lensAperture': 1.8, + 'sensorExposureTime': 9991324, + 'sensorSensitivity': 92.0, + 'planes': [ + { + 'bytes': Uint8List.fromList([1, 2, 3, 4]), + 'bytesPerPixel': 1, + 'bytesPerRow': 4, + 'height': 1, + 'width': 4, + }, + ], + }); expect(cameraImage.format.group, ImageFormatGroup.nv21); }); test('$CameraImage has ImageFormatGroup.bgra8888 for iOS', () { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final CameraImage cameraImage = CameraImage.fromPlatformData( - { - 'format': 1111970369, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4, - }, - ], - }, - ); + final cameraImage = CameraImage.fromPlatformData({ + 'format': 1111970369, + 'height': 1, + 'width': 4, + 'lensAperture': 1.8, + 'sensorExposureTime': 9991324, + 'sensorSensitivity': 92.0, + 'planes': [ + { + 'bytes': Uint8List.fromList([1, 2, 3, 4]), + 'bytesPerPixel': 1, + 'bytesPerRow': 4, + 'height': 1, + 'width': 4, + }, + ], + }); expect(cameraImage.format.group, ImageFormatGroup.bgra8888); }); test('$CameraImage has ImageFormatGroup.unknown', () { - final CameraImage cameraImage = CameraImage.fromPlatformData( - { - 'format': null, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4, - }, - ], - }, - ); + final cameraImage = CameraImage.fromPlatformData({ + 'format': null, + 'height': 1, + 'width': 4, + 'lensAperture': 1.8, + 'sensorExposureTime': 9991324, + 'sensorSensitivity': 92.0, + 'planes': [ + { + 'bytes': Uint8List.fromList([1, 2, 3, 4]), + 'bytesPerPixel': 1, + 'bytesPerRow': 4, + 'height': 1, + 'width': 4, + }, + ], + }); expect(cameraImage.format.group, ImageFormatGroup.unknown); }); }); diff --git a/packages/camera/camera/test/camera_preview_test.dart b/packages/camera/camera/test/camera_preview_test.dart index bafc77831dc..cec01181bb0 100644 --- a/packages/camera/camera/test/camera_preview_test.dart +++ b/packages/camera/camera/test/camera_preview_test.dart @@ -150,7 +150,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -189,7 +189,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -228,7 +228,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -267,7 +267,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -306,7 +306,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -344,7 +344,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -382,7 +382,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -420,7 +420,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -458,7 +458,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -492,7 +492,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -526,7 +526,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -560,7 +560,7 @@ void main() { (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( @@ -594,7 +594,7 @@ void main() { WidgetTester tester, ) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( isInitialized: true, diff --git a/packages/camera/camera/test/camera_test.dart b/packages/camera/camera/test/camera_test.dart index c3af92bb757..cc2cd0cf4aa 100644 --- a/packages/camera/camera/test/camera_test.dart +++ b/packages/camera/camera/test/camera_test.dart @@ -61,11 +61,8 @@ void main() { test( 'debugCheckIsDisposed should not throw assertion error when disposed', () { - const MockCameraDescription description = MockCameraDescription(); - final CameraController controller = CameraController( - description, - ResolutionPreset.low, - ); + const description = MockCameraDescription(); + final controller = CameraController(description, ResolutionPreset.low); controller.dispose(); @@ -76,11 +73,8 @@ void main() { test( 'debugCheckIsDisposed should throw assertion error when not disposed', () { - const MockCameraDescription description = MockCameraDescription(); - final CameraController controller = CameraController( - description, - ResolutionPreset.low, - ); + const description = MockCameraDescription(); + final controller = CameraController(description, ResolutionPreset.low); expect(() => controller.debugCheckIsDisposed(), throwsAssertionError); }, @@ -101,7 +95,7 @@ void main() { }); test('Can be initialized', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -117,7 +111,7 @@ void main() { }); test('can be initialized with media settings', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -142,7 +136,7 @@ void main() { }); test('default constructor initializes media settings', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -160,7 +154,7 @@ void main() { }); test('can be disposed', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -180,7 +174,7 @@ void main() { }); test('initialize() throws CameraException when disposed', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -213,7 +207,7 @@ void main() { test( 'initialize() throws $CameraException on $PlatformException ', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -240,7 +234,7 @@ void main() { test('initialize() sets imageFormat', () async { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -261,7 +255,7 @@ void main() { test( 'setDescription waits for initialize before calling dispose', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -271,7 +265,7 @@ void main() { imageFormatGroup: ImageFormatGroup.bgra8888, ); - final Completer initializeCompleter = Completer(); + final initializeCompleter = Completer(); when( CameraPlatform.instance.initializeCamera( mockInitializeCamera, @@ -299,7 +293,7 @@ void main() { ); test('prepareForVideoRecording() calls $CameraPlatform ', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -315,7 +309,7 @@ void main() { }); test('takePicture() throws $CameraException when uninitialized ', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -344,7 +338,7 @@ void main() { test( 'takePicture() throws $CameraException when takePicture is true', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -371,7 +365,7 @@ void main() { ); test('takePicture() returns $XFile', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -388,7 +382,7 @@ void main() { test( 'takePicture() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -416,7 +410,7 @@ void main() { test( 'startVideoRecording() throws $CameraException when uninitialized', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -446,7 +440,7 @@ void main() { test( 'startVideoRecording() throws $CameraException when recording videos', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -477,7 +471,7 @@ void main() { test( 'getMaxZoomLevel() throws $CameraException when uninitialized', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -506,7 +500,7 @@ void main() { ); test('getMaxZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -539,7 +533,7 @@ void main() { test( 'getMaxZoomLevel() throws $CameraException when a platform exception occured.', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -575,7 +569,7 @@ void main() { ); test('getMaxZoomLevel() returns max zoom level.', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -596,7 +590,7 @@ void main() { test( 'getMinZoomLevel() throws $CameraException when uninitialized', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -625,7 +619,7 @@ void main() { ); test('getMinZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -658,7 +652,7 @@ void main() { test( 'getMinZoomLevel() throws $CameraException when a platform exception occured.', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -694,7 +688,7 @@ void main() { ); test('getMinZoomLevel() returns max zoom level.', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -713,7 +707,7 @@ void main() { }); test('setZoomLevel() throws $CameraException when uninitialized', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -741,7 +735,7 @@ void main() { }); test('setZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -774,7 +768,7 @@ void main() { test( 'setZoomLevel() throws $CameraException when a platform exception occured.', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -814,7 +808,7 @@ void main() { test( 'setZoomLevel() completes and calls method channel with correct value.', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -833,7 +827,7 @@ void main() { ); test('setFlashMode() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -856,7 +850,7 @@ void main() { test( 'setFlashMode() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -892,7 +886,7 @@ void main() { ); test('setExposureMode() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -915,7 +909,7 @@ void main() { test( 'setExposureMode() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -951,7 +945,7 @@ void main() { ); test('setExposurePoint() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -974,7 +968,7 @@ void main() { test( 'setExposurePoint() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1010,7 +1004,7 @@ void main() { ); test('getMinExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1034,7 +1028,7 @@ void main() { test( 'getMinExposureOffset() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1066,7 +1060,7 @@ void main() { ); test('getMaxExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1090,7 +1084,7 @@ void main() { test( 'getMaxExposureOffset() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1122,7 +1116,7 @@ void main() { ); test('getExposureOffsetStepSize() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1150,7 +1144,7 @@ void main() { test( 'getExposureOffsetStepSize() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1182,7 +1176,7 @@ void main() { ); test('setExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1222,7 +1216,7 @@ void main() { test( 'setExposureOffset() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1271,7 +1265,7 @@ void main() { test( 'setExposureOffset() throws $CameraException when offset is out of bounds', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1361,7 +1355,7 @@ void main() { ); test('setExposureOffset() rounds offset to nearest step', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1475,7 +1469,7 @@ void main() { }); test('pausePreview() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1503,7 +1497,7 @@ void main() { test( 'pausePreview() does not call $CameraPlatform when already paused', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1528,7 +1522,7 @@ void main() { test( 'pausePreview() sets previewPauseOrientation according to locked orientation', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1561,7 +1555,7 @@ void main() { test( 'pausePreview() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1593,7 +1587,7 @@ void main() { ); test('resumePreview() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1617,7 +1611,7 @@ void main() { test( 'resumePreview() does not call $CameraPlatform when not paused', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1642,7 +1636,7 @@ void main() { test( 'resumePreview() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1677,7 +1671,7 @@ void main() { ); test('lockCaptureOrientation() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1717,7 +1711,7 @@ void main() { test( 'lockCaptureOrientation() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1752,7 +1746,7 @@ void main() { ); test('unlockCaptureOrientation() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, @@ -1775,7 +1769,7 @@ void main() { test( 'unlockCaptureOrientation() throws $CameraException on $PlatformException', () async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( const CameraDescription( name: 'cam', lensDirection: CameraLensDirection.back, diff --git a/packages/camera/camera/test/camera_value_test.dart b/packages/camera/camera/test/camera_value_test.dart index 205ed6ce884..02797eb230b 100644 --- a/packages/camera/camera/test/camera_value_test.dart +++ b/packages/camera/camera/test/camera_value_test.dart @@ -11,7 +11,7 @@ import 'camera_preview_test.dart'; void main() { group('camera_value', () { test('Can be created', () { - const CameraValue cameraValue = CameraValue( + const cameraValue = CameraValue( isInitialized: false, previewSize: Size(10, 10), isRecordingPaused: false, @@ -52,7 +52,7 @@ void main() { }); test('Can be created as uninitialized', () { - const CameraValue cameraValue = CameraValue.uninitialized( + const cameraValue = CameraValue.uninitialized( FakeController.fakeDescription, ); @@ -76,9 +76,7 @@ void main() { }); test('Can be copied with isInitialized', () { - const CameraValue cv = CameraValue.uninitialized( - FakeController.fakeDescription, - ); + const cv = CameraValue.uninitialized(FakeController.fakeDescription); final CameraValue cameraValue = cv.copyWith(isInitialized: true); expect(cameraValue, isA()); @@ -101,9 +99,7 @@ void main() { }); test('Has aspectRatio after setting size', () { - const CameraValue cv = CameraValue.uninitialized( - FakeController.fakeDescription, - ); + const cv = CameraValue.uninitialized(FakeController.fakeDescription); final CameraValue cameraValue = cv.copyWith( isInitialized: true, previewSize: const Size(20, 10), @@ -113,9 +109,7 @@ void main() { }); test('hasError is true after setting errorDescription', () { - const CameraValue cv = CameraValue.uninitialized( - FakeController.fakeDescription, - ); + const cv = CameraValue.uninitialized(FakeController.fakeDescription); final CameraValue cameraValue = cv.copyWith(errorDescription: 'error'); expect(cameraValue.hasError, isTrue); @@ -123,9 +117,7 @@ void main() { }); test('Recording paused is false when not recording', () { - const CameraValue cv = CameraValue.uninitialized( - FakeController.fakeDescription, - ); + const cv = CameraValue.uninitialized(FakeController.fakeDescription); final CameraValue cameraValue = cv.copyWith( isInitialized: true, isRecordingVideo: false, @@ -136,7 +128,7 @@ void main() { }); test('toString() works as expected', () { - const CameraValue cameraValue = CameraValue( + const cameraValue = CameraValue( isInitialized: false, previewSize: Size(10, 10), isRecordingPaused: false, diff --git a/packages/camera/camera_android/example/integration_test/camera_test.dart b/packages/camera/camera_android/example/integration_test/camera_test.dart index 53fad65a878..01621c32682 100644 --- a/packages/camera/camera_android/example/integration_test/camera_test.dart +++ b/packages/camera/camera_android/example/integration_test/camera_test.dart @@ -28,15 +28,14 @@ void main() { await testDir.delete(recursive: true); }); - final Map presetExpectedSizes = - { - ResolutionPreset.low: const Size(240, 320), - ResolutionPreset.medium: const Size(480, 720), - ResolutionPreset.high: const Size(720, 1280), - ResolutionPreset.veryHigh: const Size(1080, 1920), - ResolutionPreset.ultraHigh: const Size(2160, 3840), - // Don't bother checking for max here since it could be anything. - }; + final presetExpectedSizes = { + ResolutionPreset.low: const Size(240, 320), + ResolutionPreset.medium: const Size(480, 720), + ResolutionPreset.high: const Size(720, 1280), + ResolutionPreset.veryHigh: const Size(1080, 1920), + ResolutionPreset.ultraHigh: const Size(2160, 3840), + // Don't bother checking for max here since it could be anything. + }; /// Verify that [actual] has dimensions that are at least as large as /// [expectedSize]. Allows for a mismatch in portrait vs landscape. Returns @@ -63,10 +62,8 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video metadata - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final Size video = videoController.value.size; @@ -86,11 +83,11 @@ void main() { if (cameras.isEmpty) { return; } - for (final CameraDescription cameraDescription in cameras) { - bool previousPresetExactlySupported = true; + for (final cameraDescription in cameras) { + var previousPresetExactlySupported = true; for (final MapEntry preset in presetExpectedSizes.entries) { - final CameraController controller = CameraController( + final controller = CameraController( cameraDescription, mediaSettings: MediaSettings(resolutionPreset: preset.key), ); @@ -120,13 +117,13 @@ void main() { return; } - final CameraController controller = CameraController(cameras[0]); + final controller = CameraController(cameras[0]); await controller.initialize(); await controller.prepareForVideoRecording(); int startPause; - int timePaused = 0; + var timePaused = 0; await controller.startVideoRecording(); final int recordingStart = DateTime.now().millisecondsSinceEpoch; @@ -152,10 +149,8 @@ void main() { final int recordingTime = DateTime.now().millisecondsSinceEpoch - recordingStart; - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); @@ -170,7 +165,7 @@ void main() { return; } - final CameraController controller = CameraController(cameras[0]); + final controller = CameraController(cameras[0]); await controller.initialize(); await controller.prepareForVideoRecording(); @@ -179,7 +174,7 @@ void main() { // SDK < 26 will throw a platform error when trying to switch and keep the same camera // we accept either outcome here, while the native unit tests check the outcome based on the current Android SDK - bool failed = false; + var failed = false; try { await controller.setDescription(cameras[1]); } catch (err) { @@ -207,7 +202,7 @@ void main() { return; } - final CameraController controller = CameraController(cameras[0]); + final controller = CameraController(cameras[0]); await controller.initialize(); await controller.setDescription(cameras[1]); @@ -222,10 +217,10 @@ void main() { return; } - final CameraController controller = CameraController(cameras[0]); + final controller = CameraController(cameras[0]); await controller.initialize(); - bool isDetecting = false; + var isDetecting = false; await controller.startImageStream((CameraImageData image) { if (isDetecting) { @@ -252,10 +247,10 @@ void main() { return; } - final CameraController controller = CameraController(cameras[0]); + final controller = CameraController(cameras[0]); await controller.initialize(); - bool isDetecting = false; + var isDetecting = false; await controller.startVideoRecording( streamCallback: (CameraImageData image) { @@ -315,10 +310,10 @@ void main() { testWidgets('Control FPS', (WidgetTester tester) async { final CameraDescription cameraDescription = await getCamera(); - final List lengths = []; + final lengths = []; - for (final int fps in [10, 30]) { - final CameraController controller = CameraController( + for (final fps in [10, 30]) { + final controller = CameraController( cameraDescription, mediaSettings: MediaSettings( resolutionPreset: ResolutionPreset.medium, @@ -333,14 +328,14 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video size - final File videoFile = File(file.path); + final videoFile = File(file.path); lengths.add(await videoFile.length()); await controller.dispose(); } - for (int n = 0; n < lengths.length - 1; n++) { + for (var n = 0; n < lengths.length - 1; n++) { expect(lengths[n], greaterThan(0)); } }); @@ -348,10 +343,10 @@ void main() { testWidgets('Control video bitrate', (WidgetTester tester) async { final CameraDescription cameraDescription = await getCamera(); - const int kiloBits = 1000; - final List lengths = []; - for (final int videoBitrate in [200 * kiloBits, 2000 * kiloBits]) { - final CameraController controller = CameraController( + const kiloBits = 1000; + final lengths = []; + for (final videoBitrate in [200 * kiloBits, 2000 * kiloBits]) { + final controller = CameraController( cameraDescription, mediaSettings: MediaSettings( resolutionPreset: ResolutionPreset.medium, @@ -366,27 +361,27 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video size - final File videoFile = File(file.path); + final videoFile = File(file.path); lengths.add(await videoFile.length()); await controller.dispose(); } - for (int n = 0; n < lengths.length - 1; n++) { + for (var n = 0; n < lengths.length - 1; n++) { expect(lengths[n], greaterThan(0)); } }); testWidgets('Control audio bitrate', (WidgetTester tester) async { - final List lengths = []; + final lengths = []; final CameraDescription cameraDescription = await getCamera(); - const int kiloBits = 1000; + const kiloBits = 1000; - for (final int audioBitrate in [32 * kiloBits, 256 * kiloBits]) { - final CameraController controller = CameraController( + for (final audioBitrate in [32 * kiloBits, 256 * kiloBits]) { + final controller = CameraController( cameraDescription, mediaSettings: MediaSettings( //region Use lowest video settings for minimize video impact on bitrate @@ -406,7 +401,7 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video metadata - final File videoFile = File(file.path); + final videoFile = File(file.path); final int length = await videoFile.length(); @@ -415,7 +410,7 @@ void main() { await controller.dispose(); } - for (int n = 0; n < lengths.length - 1; n++) { + for (var n = 0; n < lengths.length - 1; n++) { expect(lengths[n], greaterThan(0)); } }); diff --git a/packages/camera/camera_android/example/lib/camera_controller.dart b/packages/camera/camera_android/example/lib/camera_controller.dart index 2ca1a1f00a8..8215ef8fed5 100644 --- a/packages/camera/camera_android/example/lib/camera_controller.dart +++ b/packages/camera/camera_android/example/lib/camera_controller.dart @@ -206,8 +206,7 @@ class CameraController extends ValueNotifier { Future initialize() => _initializeWithDescription(description); Future _initializeWithDescription(CameraDescription description) async { - final Completer initializeCompleter = - Completer(); + final initializeCompleter = Completer(); _deviceOrientationSubscription = CameraPlatform.instance .onDeviceOrientationChanged() diff --git a/packages/camera/camera_android/example/lib/camera_preview.dart b/packages/camera/camera_android/example/lib/camera_preview.dart index 22fb2cc4d77..0a768b34063 100644 --- a/packages/camera/camera_android/example/lib/camera_preview.dart +++ b/packages/camera/camera_android/example/lib/camera_preview.dart @@ -62,7 +62,7 @@ class CameraPreview extends StatelessWidget { } int _getQuarterTurns() { - final Map turns = { + final turns = { DeviceOrientation.portraitUp: 0, DeviceOrientation.landscapeRight: 1, DeviceOrientation.portraitDown: 2, diff --git a/packages/camera/camera_android/example/lib/main.dart b/packages/camera/camera_android/example/lib/main.dart index 10b0b9c4e92..999b281f229 100644 --- a/packages/camera/camera_android/example/lib/main.dart +++ b/packages/camera/camera_android/example/lib/main.dart @@ -577,7 +577,7 @@ class _CameraExampleHomeState extends State /// Display a row of toggle to select the camera (or a message if no camera is available). Widget _cameraTogglesRowWidget() { - final List toggles = []; + final toggles = []; void onChanged(CameraDescription? description) { if (description == null) { @@ -628,7 +628,7 @@ class _CameraExampleHomeState extends State final CameraController cameraController = controller!; - final Point point = Point( + final point = Point( details.localPosition.dx / constraints.maxWidth, details.localPosition.dy / constraints.maxHeight, ); @@ -647,7 +647,7 @@ class _CameraExampleHomeState extends State Future _initializeCameraController( CameraDescription cameraDescription, ) async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( cameraDescription, mediaSettings: MediaSettings( resolutionPreset: kIsWeb @@ -1005,7 +1005,7 @@ class _CameraExampleHomeState extends State return; } - final VideoPlayerController vController = kIsWeb + final vController = kIsWeb ? VideoPlayerController.networkUrl(Uri.parse(videoFile!.path)) : VideoPlayerController.file(File(videoFile!.path)); diff --git a/packages/camera/camera_android/example/test_driver/integration_test.dart b/packages/camera/camera_android/example/test_driver/integration_test.dart index d512473309e..ef65f091ca0 100644 --- a/packages/camera/camera_android/example/test_driver/integration_test.dart +++ b/packages/camera/camera_android/example/test_driver/integration_test.dart @@ -17,8 +17,7 @@ Future main() async { print('This test must be run on a POSIX host. Skipping...'); exit(0); } - final bool adbExists = - Process.runSync('which', ['adb']).exitCode == 0; + final adbExists = Process.runSync('which', ['adb']).exitCode == 0; if (!adbExists) { print(r'This test needs ADB to exist on the $PATH. Skipping...'); exit(0); @@ -61,6 +60,6 @@ Future main() async { 'android.permission.RECORD_AUDIO', ]); - final Map result = jsonDecode(data) as Map; + final result = jsonDecode(data) as Map; exit(result['result'] == 'true' ? 0 : 1); } diff --git a/packages/camera/camera_android/lib/src/android_camera.dart b/packages/camera/camera_android/lib/src/android_camera.dart index 8d6da994cac..9f7d580f236 100644 --- a/packages/camera/camera_android/lib/src/android_camera.dart +++ b/packages/camera/camera_android/lib/src/android_camera.dart @@ -120,7 +120,7 @@ class AndroidCamera extends CameraPlatform { () => HostCameraMessageHandler(cameraId, cameraEventStreamController), ); - final Completer completer = Completer(); + final completer = Completer(); unawaited( onCameraInitialized(cameraId).first.then((CameraInitializedEvent value) { @@ -270,7 +270,7 @@ class AndroidCamera extends CameraPlatform { } void _startStreamListener() { - const EventChannel cameraEventChannel = EventChannel( + const cameraEventChannel = EventChannel( 'plugins.flutter.io/camera_android/imageStream', ); _platformImageStreamSubscription = cameraEventChannel diff --git a/packages/camera/camera_android/test/android_camera_test.dart b/packages/camera/camera_android/test/android_camera_test.dart index 78b2744be34..8321001ed95 100644 --- a/packages/camera/camera_android/test/android_camera_test.dart +++ b/packages/camera/camera_android/test/android_camera_test.dart @@ -57,7 +57,7 @@ void main() { test('Should send creation data and receive back a camera id', () async { // Arrange - final AndroidCamera camera = AndroidCamera(hostApi: mockCameraApi); + final camera = AndroidCamera(hostApi: mockCameraApi); when( mockCameraApi.create( 'Test', @@ -89,7 +89,7 @@ void main() { 'Should send creation data and receive back a camera id using createCameraWithSettings', () async { // Arrange - final AndroidCamera camera = AndroidCamera(hostApi: mockCameraApi); + final camera = AndroidCamera(hostApi: mockCameraApi); when( mockCameraApi.create( 'Test', @@ -130,7 +130,7 @@ void main() { 'Should throw CameraException when create throws a PlatformException', () { // Arrange - final AndroidCamera camera = AndroidCamera(hostApi: mockCameraApi); + final camera = AndroidCamera(hostApi: mockCameraApi); when( mockCameraApi.create( 'Test', @@ -181,7 +181,7 @@ void main() { 'Should throw CameraException when initialize throws a PlatformException', () { // Arrange - final AndroidCamera camera = AndroidCamera(hostApi: mockCameraApi); + final camera = AndroidCamera(hostApi: mockCameraApi); when( mockCameraApi.initialize(PlatformImageFormatGroup.yuv420), ).thenThrow( @@ -213,7 +213,7 @@ void main() { test('Should send initialization data', () async { // Arrange - final AndroidCamera camera = AndroidCamera(hostApi: mockCameraApi); + final camera = AndroidCamera(hostApi: mockCameraApi); when( mockCameraApi.create( 'Test', @@ -260,7 +260,7 @@ void main() { test('Should send a disposal call on dispose', () async { // Arrange - final AndroidCamera camera = AndroidCamera(hostApi: mockCameraApi); + final camera = AndroidCamera(hostApi: mockCameraApi); when( mockCameraApi.create( 'Test', @@ -338,12 +338,11 @@ void main() { // Act final Stream eventStream = camera .onCameraInitialized(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); // Emit test events - final PlatformSize previewSize = PlatformSize(width: 3840, height: 2160); - final CameraInitializedEvent event = CameraInitializedEvent( + final previewSize = PlatformSize(width: 3840, height: 2160); + final event = CameraInitializedEvent( cameraId, previewSize.width, previewSize.height, @@ -374,12 +373,11 @@ void main() { final Stream eventStream = camera.onCameraClosing( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); // Emit test events - final CameraClosingEvent event = CameraClosingEvent(cameraId); - for (int i = 0; i < 3; i++) { + final event = CameraClosingEvent(cameraId); + for (var i = 0; i < 3; i++) { camera.hostCameraHandlers[cameraId]!.closed(); } @@ -397,15 +395,11 @@ void main() { final Stream errorStream = camera.onCameraError( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(errorStream); + final streamQueue = StreamQueue(errorStream); // Emit test events - final CameraErrorEvent event = CameraErrorEvent( - cameraId, - 'Error Description', - ); - for (int i = 0; i < 3; i++) { + final event = CameraErrorEvent(cameraId, 'Error Description'); + for (var i = 0; i < 3; i++) { camera.hostCameraHandlers[cameraId]!.error('Error Description'); } @@ -422,14 +416,13 @@ void main() { // Act final Stream eventStream = camera .onDeviceOrientationChanged(); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue( + eventStream, + ); // Emit test events - const DeviceOrientationChangedEvent event = DeviceOrientationChangedEvent( - DeviceOrientation.portraitUp, - ); - for (int i = 0; i < 3; i++) { + const event = DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); + for (var i = 0; i < 3; i++) { camera.hostHandler.deviceOrientationChanged( PlatformDeviceOrientation.portraitUp, ); @@ -480,19 +473,18 @@ void main() { 'Should fetch CameraDescription instances for available cameras', () async { // Arrange - final List returnData = - [ - PlatformCameraDescription( - name: 'Test 1', - lensDirection: PlatformCameraLensDirection.front, - sensorOrientation: 1, - ), - PlatformCameraDescription( - name: 'Test 2', - lensDirection: PlatformCameraLensDirection.back, - sensorOrientation: 2, - ), - ]; + final returnData = [ + PlatformCameraDescription( + name: 'Test 1', + lensDirection: PlatformCameraLensDirection.front, + sensorOrientation: 1, + ), + PlatformCameraDescription( + name: 'Test 2', + lensDirection: PlatformCameraLensDirection.back, + sensorOrientation: 2, + ), + ]; when( mockCameraApi.getAvailableCameras(), ).thenAnswer((_) async => returnData); @@ -502,10 +494,10 @@ void main() { // Assert expect(cameras.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { + for (var i = 0; i < returnData.length; i++) { final PlatformCameraDescription platformCameraDescription = returnData[i]; - final CameraDescription cameraDescription = CameraDescription( + final cameraDescription = CameraDescription( name: platformCameraDescription.name, lensDirection: cameraLensDirectionFromPlatform( platformCameraDescription.lensDirection, @@ -620,7 +612,7 @@ void main() { test('Should set the description while recording', () async { // Arrange - const CameraDescription camera2Description = CameraDescription( + const camera2Description = CameraDescription( name: 'Test2', lensDirection: CameraLensDirection.front, sensorOrientation: 0, diff --git a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart index 93de4ea42f9..211f4fd5962 100644 --- a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart +++ b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart @@ -25,15 +25,14 @@ void main() { CameraPlatform.instance = AndroidCameraCameraX(); }); - final Map presetExpectedSizes = - { - ResolutionPreset.low: const Size(240, 320), - ResolutionPreset.medium: const Size(480, 720), - ResolutionPreset.high: const Size(720, 1280), - ResolutionPreset.veryHigh: const Size(1080, 1920), - ResolutionPreset.ultraHigh: const Size(2160, 3840), - // Don't bother checking for max here since it could be anything. - }; + final presetExpectedSizes = { + ResolutionPreset.low: const Size(240, 320), + ResolutionPreset.medium: const Size(480, 720), + ResolutionPreset.high: const Size(720, 1280), + ResolutionPreset.veryHigh: const Size(1080, 1920), + ResolutionPreset.ultraHigh: const Size(2160, 3840), + // Don't bother checking for max here since it could be anything. + }; /// Verify that [actual] has dimensions that are at most as large as /// [expectedSize]. Allows for a mismatch in portrait vs landscape. Returns @@ -52,7 +51,7 @@ void main() { .instance .availableCameras(); - for (final CameraDescription cameraDescription in availableCameras) { + for (final cameraDescription in availableCameras) { expect( cameraDescription.lensDirection, isNot(CameraLensDirection.external), @@ -69,11 +68,11 @@ void main() { if (cameras.isEmpty) { return; } - for (final CameraDescription cameraDescription in cameras) { - bool previousPresetExactlySupported = true; + for (final cameraDescription in cameras) { + var previousPresetExactlySupported = true; for (final MapEntry preset in presetExpectedSizes.entries) { - final CameraController controller = CameraController( + final controller = CameraController( cameraDescription, mediaSettings: MediaSettings(resolutionPreset: preset.key), ); @@ -110,15 +109,15 @@ void main() { if (cameras.isEmpty) { return; } - for (final CameraDescription cameraDescription in cameras) { - bool previousPresetExactlySupported = true; + for (final cameraDescription in cameras) { + var previousPresetExactlySupported = true; for (final MapEntry preset in presetExpectedSizes.entries) { - final CameraController controller = CameraController( + final controller = CameraController( cameraDescription, mediaSettings: MediaSettings(resolutionPreset: preset.key), ); - final Completer imageCompleter = Completer(); + final imageCompleter = Completer(); await controller.initialize(); await controller.startImageStream((CameraImage image) { imageCompleter.complete(image); @@ -151,7 +150,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], mediaSettings: const MediaSettings( resolutionPreset: ResolutionPreset.low, @@ -169,10 +168,8 @@ void main() { final int postStopTime = DateTime.now().millisecondsSinceEpoch - recordingStart; - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); @@ -186,7 +183,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], mediaSettings: const MediaSettings( resolutionPreset: ResolutionPreset.low, @@ -196,14 +193,14 @@ void main() { await controller.prepareForVideoRecording(); int startPause; - int timePaused = 0; - const int pauseIterations = 2; + var timePaused = 0; + const pauseIterations = 2; await controller.startVideoRecording(); final int recordingStart = DateTime.now().millisecondsSinceEpoch; sleep(const Duration(milliseconds: 500)); - for (int i = 0; i < pauseIterations; i++) { + for (var i = 0; i < pauseIterations; i++) { await controller.pauseVideoRecording(); startPause = DateTime.now().millisecondsSinceEpoch; sleep(const Duration(milliseconds: 500)); @@ -217,10 +214,8 @@ void main() { final int recordingTime = DateTime.now().millisecondsSinceEpoch - recordingStart; - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); @@ -236,7 +231,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], mediaSettings: const MediaSettings( resolutionPreset: ResolutionPreset.medium, @@ -258,10 +253,8 @@ void main() { final XFile file = await controller.stopVideoRecording(); - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); diff --git a/packages/camera/camera_android_camerax/example/lib/camera_controller.dart b/packages/camera/camera_android_camerax/example/lib/camera_controller.dart index 2974dbe64ee..e09dfb86104 100644 --- a/packages/camera/camera_android_camerax/example/lib/camera_controller.dart +++ b/packages/camera/camera_android_camerax/example/lib/camera_controller.dart @@ -291,8 +291,7 @@ class CameraController extends ValueNotifier { ); } try { - final Completer initializeCompleter = - Completer(); + final initializeCompleter = Completer(); _deviceOrientationSubscription = CameraPlatform.instance .onDeviceOrientationChanged() diff --git a/packages/camera/camera_android_camerax/example/lib/camera_preview.dart b/packages/camera/camera_android_camerax/example/lib/camera_preview.dart index 54d5b43a240..656bb8c4772 100644 --- a/packages/camera/camera_android_camerax/example/lib/camera_preview.dart +++ b/packages/camera/camera_android_camerax/example/lib/camera_preview.dart @@ -59,7 +59,7 @@ class CameraPreview extends StatelessWidget { } int _getQuarterTurns() { - final Map turns = { + final turns = { DeviceOrientation.portraitUp: 0, DeviceOrientation.landscapeRight: 1, DeviceOrientation.portraitDown: 2, diff --git a/packages/camera/camera_android_camerax/example/lib/main.dart b/packages/camera/camera_android_camerax/example/lib/main.dart index bbb860f7cea..956a86b2016 100644 --- a/packages/camera/camera_android_camerax/example/lib/main.dart +++ b/packages/camera/camera_android_camerax/example/lib/main.dart @@ -568,7 +568,7 @@ class _CameraExampleHomeState extends State /// Display a row of toggle to select the camera (or a message if no camera is available). Widget _cameraTogglesRowWidget() { - final List toggles = []; + final toggles = []; void onChanged(CameraDescription? description) { if (description == null) { @@ -619,7 +619,7 @@ class _CameraExampleHomeState extends State final CameraController cameraController = controller!; - final Offset offset = Offset( + final offset = Offset( details.localPosition.dx / constraints.maxWidth, details.localPosition.dy / constraints.maxHeight, ); @@ -638,7 +638,7 @@ class _CameraExampleHomeState extends State Future _initializeCameraController( CameraDescription cameraDescription, ) async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( cameraDescription, mediaSettings: MediaSettings( resolutionPreset: ResolutionPreset.low, @@ -995,7 +995,7 @@ class _CameraExampleHomeState extends State return; } - final VideoPlayerController vController = kIsWeb + final vController = kIsWeb ? VideoPlayerController.networkUrl(Uri.parse(videoFile!.path)) : VideoPlayerController.file(File(videoFile!.path)); diff --git a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart index f88abd5eb7e..4cb05cee1e8 100644 --- a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart +++ b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart @@ -299,18 +299,18 @@ class AndroidCameraCameraX extends CameraPlatform { Future> availableCameras() async { proxy.setUpGenericsProxy(); - final List cameraDescriptions = []; + final cameraDescriptions = []; processCameraProvider ??= await proxy.getInstanceProcessCameraProvider(); final List cameraInfos = (await processCameraProvider!.getAvailableCameraInfos()).cast(); CameraLensDirection? cameraLensDirection; - int cameraCount = 0; + var cameraCount = 0; int? cameraSensorOrientation; String? cameraName; - for (final CameraInfo cameraInfo in cameraInfos) { + for (final cameraInfo in cameraInfos) { // Determine the lens direction by filtering the CameraInfo // TODO(gmackall): replace this with call to CameraInfo.getLensFacing when changes containing that method are available if ((await proxy @@ -507,8 +507,8 @@ class AndroidCameraCameraX extends CameraPlatform { // support these by default. const ExposureMode exposureMode = ExposureMode.auto; const FocusMode focusMode = FocusMode.auto; - const bool exposurePointSupported = true; - const bool focusPointSupported = true; + const exposurePointSupported = true; + const focusPointSupported = true; cameraEventStreamController.add( CameraInitializedEvent( @@ -842,7 +842,7 @@ class AndroidCameraCameraX extends CameraPlatform { final Camera2CameraControl camera2Control = proxy.fromCamera2CameraControl( cameraControl: cameraControl, ); - final bool lockExposureMode = mode == ExposureMode.locked; + final lockExposureMode = mode == ExposureMode.locked; final CaptureRequestOptions captureRequestOptions = proxy .newCaptureRequestOptions( @@ -955,7 +955,7 @@ class AndroidCameraCameraX extends CameraPlatform { ); // Unbind all use cases and rebind to new CameraSelector - final List useCases = [videoCapture!]; + final useCases = [videoCapture!]; if (!_previewIsPaused) { useCases.add(preview!); } @@ -1138,14 +1138,14 @@ class AndroidCameraCameraX extends CameraPlatform { final Camera2CameraInfo camera2CameraInfo = proxy.fromCamera2CameraInfo( cameraInfo: cameraInfo!, ); - final InfoSupportedHardwareLevel cameraInfoSupportedHardwareLevel = + final cameraInfoSupportedHardwareLevel = (await camera2CameraInfo.getCameraCharacteristic( proxy.infoSupportedHardwareLevelCameraCharacteristics(), ))! as InfoSupportedHardwareLevel; // Handle limited level device restrictions: - final bool cameraSupportsConcurrentImageCapture = + final cameraSupportsConcurrentImageCapture = cameraInfoSupportedHardwareLevel != InfoSupportedHardwareLevel.legacy; if (!cameraSupportsConcurrentImageCapture) { // Concurrent preview + video recording + image capture is not supported @@ -1155,7 +1155,7 @@ class AndroidCameraCameraX extends CameraPlatform { } // Handle level 3 device restrictions: - final bool cameraSupportsHardwareLevel3 = + final cameraSupportsHardwareLevel3 = cameraInfoSupportedHardwareLevel == InfoSupportedHardwareLevel.level3; if (!cameraSupportsHardwareLevel3 || streamCallback == null) { // Concurrent preview + video recording + image streaming is not supported @@ -1245,7 +1245,7 @@ class AndroidCameraCameraX extends CameraPlatform { } await _unbindUseCaseFromLifecycle(videoCapture!); - final XFile videoFile = XFile(videoOutputPath!); + final videoFile = XFile(videoOutputPath!); cameraEventStreamController.add( VideoRecordedEvent(cameraId, videoFile, /* duration */ null), ); @@ -1337,11 +1337,10 @@ class AndroidCameraCameraX extends CameraPlatform { } // Create and set Analyzer that can read image data for image streaming. - final WeakReference weakThis = - WeakReference(this); + final weakThis = WeakReference(this); Future analyze(ImageProxy imageProxy) async { final List planes = await imageProxy.getPlanes(); - final List cameraImagePlanes = []; + final cameraImagePlanes = []; // Determine image planes. if (_imageAnalysisOutputImageFormat == @@ -1365,7 +1364,7 @@ class AndroidCameraCameraX extends CameraPlatform { ), ); } else { - for (final PlaneProxy plane in planes) { + for (final plane in planes) { cameraImagePlanes.add( CameraImagePlane( bytes: plane.buffer, @@ -1396,7 +1395,7 @@ class AndroidCameraCameraX extends CameraPlatform { } // Send out CameraImageData. - final CameraImageData cameraImageData = CameraImageData( + final cameraImageData = CameraImageData( format: cameraImageFormat, planes: cameraImagePlanes, height: imageProxy.height, @@ -1487,8 +1486,7 @@ class AndroidCameraCameraX extends CameraPlatform { /// * Send a [CameraErrorEvent] if the [CameraState] indicates that the /// camera is in error state. Observer _createCameraClosingObserver(int cameraId) { - final WeakReference weakThis = - WeakReference(this); + final weakThis = WeakReference(this); // Callback method used to implement the behavior described above: void onChanged(CameraState state) { @@ -1780,8 +1778,7 @@ class AndroidCameraCameraX extends CameraPlatform { // Add new metering point with specified meteringMode, which may involve // replacing a metering point with the same specified meteringMode from // the current focus and metering action. - List<(MeteringPoint, MeteringMode)> newMeteringPointInfos = - <(MeteringPoint, MeteringMode)>[]; + var newMeteringPointInfos = <(MeteringPoint, MeteringMode)>[]; if (currentFocusMeteringAction != null) { final Iterable<(MeteringPoint, MeteringMode)> originalMeteringPoints = diff --git a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart index 3df67d25f35..e8604176249 100644 --- a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart +++ b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart @@ -72,21 +72,22 @@ void main() { int cameraId, Observer observer, ) async { - final CameraStateStateError testCameraStateError = - CameraStateStateError.pigeon_detached( - code: CameraStateErrorCode.doNotDisturbModeEnabled, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); + final testCameraStateError = CameraStateStateError.pigeon_detached( + code: CameraStateErrorCode.doNotDisturbModeEnabled, + pigeon_instanceManager: PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ), + ); final Stream cameraClosingEventStream = camera .onCameraClosing(cameraId); - final StreamQueue cameraClosingStreamQueue = - StreamQueue(cameraClosingEventStream); + final cameraClosingStreamQueue = StreamQueue( + cameraClosingEventStream, + ); final Stream cameraErrorEventStream = camera .onCameraError(cameraId); - final StreamQueue cameraErrorStreamQueue = - StreamQueue(cameraErrorEventStream); + final cameraErrorStreamQueue = StreamQueue( + cameraErrorEventStream, + ); observer.onChanged( observer, @@ -99,9 +100,9 @@ void main() { ), ); - final bool cameraClosingEventSent = + final cameraClosingEventSent = await cameraClosingStreamQueue.next == CameraClosingEvent(cameraId); - final bool cameraErrorSent = + final cameraErrorSent = await cameraErrorStreamQueue.next == CameraErrorEvent( cameraId, @@ -226,9 +227,10 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockPreview mockPreview = MockPreview(); - final ResolutionInfo testResolutionInfo = - ResolutionInfo.pigeon_detached(resolution: MockCameraSize()); + final mockPreview = MockPreview(); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); when( mockPreview.surfaceProducerHandlesCropAndRotation(), ).thenAnswer((_) async => false); @@ -248,7 +250,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockImageCapture mockImageCapture = MockImageCapture(); + final mockImageCapture = MockImageCapture(); when( mockImageCapture.resolutionSelector, ).thenReturn(resolutionSelector); @@ -264,7 +266,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockRecorder mockRecorder = MockRecorder(); + final mockRecorder = MockRecorder(); when( mockRecorder.getQualitySelector(), ).thenAnswer((_) async => qualitySelector ?? MockQualitySelector()); @@ -291,7 +293,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); + final mockImageAnalysis = MockImageAnalysis(); when( mockImageAnalysis.resolutionSelector, ).thenReturn(resolutionSelector); @@ -306,8 +308,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockResolutionStrategy resolutionStrategy = - MockResolutionStrategy(); + final resolutionStrategy = MockResolutionStrategy(); when( resolutionStrategy.getBoundSize(), ).thenAnswer((_) async => boundSize); @@ -326,8 +327,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockResolutionSelector mockResolutionSelector = - MockResolutionSelector(); + final mockResolutionSelector = MockResolutionSelector(); when(mockResolutionSelector.getAspectRatioStrategy()).thenAnswer( (_) async => aspectRatioStrategy ?? @@ -387,8 +387,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when(manager.getUiOrientation()).thenAnswer((_) async { return 'PORTRAIT_UP'; }); @@ -403,8 +402,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockAspectRatioStrategy mockAspectRatioStrategy = - MockAspectRatioStrategy(); + final mockAspectRatioStrategy = MockAspectRatioStrategy(); when( mockAspectRatioStrategy.getFallbackRule(), ).thenAnswer((_) async => fallbackRule); @@ -432,8 +430,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCamera2CameraInfo camera2cameraInfo = - MockCamera2CameraInfo(); + final camera2cameraInfo = MockCamera2CameraInfo(); when( camera2cameraInfo.getCameraCharacteristic(any), ).thenAnswer((_) async => 90); @@ -550,8 +547,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDisplayOrientedMeteringPointFactory mockFactory = - MockDisplayOrientedMeteringPointFactory(); + final mockFactory = MockDisplayOrientedMeteringPointFactory(); when(mockFactory.createPoint(any, any)).thenAnswer( (Invocation invocation) async => TestMeteringPoint.detached( x: invocation.positionalArguments[0]! as double, @@ -577,17 +573,17 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final PigeonInstanceManager testInstanceManager = - PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); - final MockFocusMeteringActionBuilder mockBuilder = - MockFocusMeteringActionBuilder(); - bool disableAutoCancelCalled = false; + final testInstanceManager = PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); + final mockBuilder = MockFocusMeteringActionBuilder(); + var disableAutoCancelCalled = false; when(mockBuilder.disableAutoCancel()).thenAnswer((_) async { disableAutoCancelCalled = true; }); - final List meteringPointsAe = []; - final List meteringPointsAf = []; - final List meteringPointsAwb = []; + final meteringPointsAe = []; + final meteringPointsAf = []; + final meteringPointsAwb = []; switch (mode) { case MeteringMode.ae: @@ -660,7 +656,7 @@ void main() { }) { final CameraXProxy proxy = getProxyForExposureAndFocus(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); if (withModeFocusMeteringActionBuilder != null) { @@ -691,8 +687,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCaptureRequestOptions mockCaptureRequestOptions = - MockCaptureRequestOptions(); + final mockCaptureRequestOptions = MockCaptureRequestOptions(); options.forEach((CaptureRequestKey key, Object? value) { when( mockCaptureRequestOptions.getCaptureRequestOption(key), @@ -700,7 +695,7 @@ void main() { }); return mockCaptureRequestOptions; }; - final CaptureRequestKey controlAeLock = CaptureRequestKey.pigeon_detached( + final controlAeLock = CaptureRequestKey.pigeon_detached( pigeon_instanceManager: testInstanceManager, ); proxy.controlAELockCaptureRequest = () => controlAeLock; @@ -712,8 +707,8 @@ void main() { 'Should fetch CameraDescription instances for available cameras', () async { // Arrange - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final List returnData = [ + final camera = AndroidCameraCameraX(); + final returnData = [ { 'name': 'Camera 0', 'lensFacing': 'back', @@ -727,12 +722,11 @@ void main() { ]; // Create mocks to use - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); - final MockCameraSelector mockBackCameraSelector = MockCameraSelector(); - final MockCameraInfo mockFrontCameraInfo = MockCameraInfo(); - final MockCameraInfo mockBackCameraInfo = MockCameraInfo(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockBackCameraSelector = MockCameraSelector(); + final mockFrontCameraInfo = MockCameraInfo(); + final mockBackCameraInfo = MockCameraInfo(); // Tell plugin to create mock CameraSelectors for testing. camera.proxy = CameraXProxy( @@ -805,10 +799,10 @@ void main() { .availableCameras(); expect(cameraDescriptions.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { + for (var i = 0; i < returnData.length; i++) { final Map typedData = (returnData[i] as Map).cast(); - final CameraDescription cameraDescription = CameraDescription( + final cameraDescription = CameraDescription( name: typedData['name']! as String, lensDirection: (typedData['lensFacing']! as String) == 'front' ? CameraLensDirection.front @@ -823,37 +817,34 @@ void main() { test( 'createCamera requests permissions, starts listening for device orientation changes, updates camera state observers, and returns flutter surface texture ID', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const int testSurfaceTextureId = 6; + const testSurfaceTextureId = 6; // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockPreview mockPreview = MockPreview(); - final MockCameraSelector mockBackCameraSelector = MockCameraSelector(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockRecorder mockRecorder = MockRecorder(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockLiveCameraState mockLiveCameraState = MockLiveCameraState(); - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); - final MockCameraCharacteristicsKey mockCameraCharacteristicsKey = - MockCameraCharacteristicsKey(); - - bool cameraPermissionsRequested = false; - bool startedListeningForDeviceOrientationChanges = false; + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockPreview = MockPreview(); + final mockBackCameraSelector = MockCameraSelector(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockRecorder = MockRecorder(); + final mockVideoCapture = MockVideoCapture(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockLiveCameraState = MockLiveCameraState(); + final mockSystemServicesManager = MockSystemServicesManager(); + final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); + + var cameraPermissionsRequested = false; + var startedListeningForDeviceOrientationChanges = false; camera.proxy = CameraXProxy( getInstanceProcessCameraProvider: @@ -1017,8 +1008,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when( manager.startListeningForDeviceOrientationChange(), ).thenAnswer((_) async { @@ -1058,8 +1048,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCamera2CameraInfo camera2cameraInfo = - MockCamera2CameraInfo(); + final camera2cameraInfo = MockCamera2CameraInfo(); when( camera2cameraInfo.getCameraCharacteristic( mockCameraCharacteristicsKey, @@ -1148,22 +1137,21 @@ void main() { test( 'createCamera and initializeCamera properly set preset resolution selection strategy for non-video capture use cases', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const bool enableAudio = true; - final MockCamera mockCamera = MockCamera(); + const enableAudio = true; + final mockCamera = MockCamera(); // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); when( mockProcessCameraProvider.bindToLifecycle(any, any), @@ -1190,7 +1178,7 @@ void main() { await camera.initializeCamera(flutterSurfaceTextureId); late final CameraSize? expectedBoundSize; - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); switch (resolutionPreset) { @@ -1304,22 +1292,21 @@ void main() { test( 'createCamera and initializeCamera properly set filter for resolution preset for non-video capture use cases', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.front; - const int testSensorOrientation = 180; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 180; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const bool enableAudio = true; - final MockCamera mockCamera = MockCamera(); + const enableAudio = true; + final mockCamera = MockCamera(); // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); // Tell plugin to create mock/detached objects for testing createCamera // as needed. @@ -1358,7 +1345,7 @@ void main() { await camera.initializeCamera(flutterSurfaceTextureId); CameraSize? expectedPreferredResolution; - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); switch (resolutionPreset) { @@ -1463,23 +1450,22 @@ void main() { test( 'createCamera and initializeCamera properly set aspect ratio based on preset resolution for non-video capture use cases', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const bool enableAudio = true; - const int testCameraId = 12; - final MockCamera mockCamera = MockCamera(); + const enableAudio = true; + const testCameraId = 12; + final mockCamera = MockCamera(); // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); // Tell plugin to create mock/detached objects for testing createCamera // as needed. @@ -1600,34 +1586,31 @@ void main() { test( 'createCamera and initializeCamera binds Preview, ImageCapture, and ImageAnalysis use cases to ProcessCameraProvider instance', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); const ResolutionPreset testResolutionPreset = ResolutionPreset.veryHigh; - const bool enableAudio = true; + const enableAudio = true; // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockPreview mockPreview = MockPreview(); - final MockCameraSelector mockBackCameraSelector = MockCameraSelector(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockRecorder mockRecorder = MockRecorder(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); - final MockCameraCharacteristicsKey mockCameraCharacteristicsKey = - MockCameraCharacteristicsKey(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockPreview = MockPreview(); + final mockBackCameraSelector = MockCameraSelector(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockRecorder = MockRecorder(); + final mockVideoCapture = MockVideoCapture(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); + final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); // Tell plugin to create mock/detached objects and stub method calls for the // testing of createCamera. @@ -1670,8 +1653,9 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final ResolutionInfo testResolutionInfo = - ResolutionInfo.pigeon_detached(resolution: MockCameraSize()); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); when( mockPreview.getResolutionInfo(), ).thenAnswer((_) async => testResolutionInfo); @@ -1792,8 +1776,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when(manager.getUiOrientation()).thenAnswer((_) async { return 'PORTRAIT_UP'; }); @@ -1910,30 +1893,29 @@ void main() { test( 'createCamera properly sets preset resolution for video capture use case', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const bool enableAudio = true; - final MockCamera mockCamera = MockCamera(); + const enableAudio = true; + final mockCamera = MockCamera(); // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); // Tell plugin to create mock/detached objects for testing createCamera // as needed. VideoQuality? fallbackStrategyVideoQuality; VideoQuality? qualitySelectorVideoQuality; FallbackStrategy? setFallbackStrategy; - final MockFallbackStrategy mockFallbackStrategy = MockFallbackStrategy(); - final MockQualitySelector mockQualitySelector = MockQualitySelector(); + final mockFallbackStrategy = MockFallbackStrategy(); + final mockQualitySelector = MockQualitySelector(); camera.proxy = getProxyForTestingUseCaseConfiguration( mockProcessCameraProvider, lowerQualityOrHigherThanFallbackStrategy: @@ -2018,24 +2000,23 @@ void main() { test( 'createCamera sets sensorOrientationDegrees and enableRecordingAudio as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const bool enableAudio = true; + const enableAudio = true; const ResolutionPreset testResolutionPreset = ResolutionPreset.veryHigh; - const bool testHandlesCropAndRotation = true; + const testHandlesCropAndRotation = true; // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockCamera mockCamera = MockCamera(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockCamera = MockCamera(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); // The proxy needed for this test is the same as testing resolution // presets except for mocking the retrieval of the sensor and current @@ -2051,7 +2032,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockPreview mockPreview = MockPreview(); + final mockPreview = MockPreview(); when( mockPreview.surfaceProducerHandlesCropAndRotation(), ).thenAnswer((_) async => testHandlesCropAndRotation); @@ -2085,8 +2066,8 @@ void main() { 'createCamera properly selects specific back camera by specifying a CameraInfo', () async { // Arrange - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final List returnData = [ + final camera = AndroidCameraCameraX(); + final returnData = [ { 'name': 'Camera 0', 'lensFacing': 'back', @@ -2104,38 +2085,33 @@ void main() { }, ]; - List mockCameraInfosList = []; - final Map cameraNameToInfos = - {}; + var mockCameraInfosList = []; + final cameraNameToInfos = {}; - const int testSensorOrientation = 0; + const testSensorOrientation = 0; // Mocks for objects created by availableCameras. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); - final MockCameraSelector mockBackCameraSelector = MockCameraSelector(); - final MockCameraSelector mockChosenCameraInfoCameraSelector = - MockCameraSelector(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockBackCameraSelector = MockCameraSelector(); + final mockChosenCameraInfoCameraSelector = MockCameraSelector(); - final MockCameraInfo mockFrontCameraInfo = MockCameraInfo(); - final MockCameraInfo mockBackCameraInfoOne = MockCameraInfo(); - final MockCameraInfo mockBackCameraInfoTwo = MockCameraInfo(); + final mockFrontCameraInfo = MockCameraInfo(); + final mockBackCameraInfoOne = MockCameraInfo(); + final mockBackCameraInfoTwo = MockCameraInfo(); // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockPreview mockPreview = MockPreview(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockRecorder mockRecorder = MockRecorder(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); - final MockCameraCharacteristicsKey mockCameraCharacteristicsKey = - MockCameraCharacteristicsKey(); + final mockPreview = MockPreview(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockRecorder = MockRecorder(); + final mockVideoCapture = MockVideoCapture(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); + final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); // Tell plugin to create mock/detached objects and stub method calls for the // testing of availableCameras and createCamera. @@ -2305,8 +2281,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when(manager.getUiOrientation()).thenAnswer((_) async { return 'PORTRAIT_UP'; }); @@ -2412,13 +2387,13 @@ void main() { .availableCameras(); expect(cameraDescriptions.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { + for (var i = 0; i < returnData.length; i++) { final Map savedData = (returnData[i] as Map).cast(); cameraNameToInfos[savedData['name']! as String] = mockCameraInfosList[i]; - final CameraDescription cameraDescription = CameraDescription( + final cameraDescription = CameraDescription( name: savedData['name']! as String, lensDirection: (savedData['lensFacing']! as String) == 'front' ? CameraLensDirection.front @@ -2470,7 +2445,7 @@ void main() { test( 'initializeCamera throws a CameraException when createCamera has not been called before initializedCamera', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); await expectLater(() async { await camera.initializeCamera(3); }, throwsA(isA())); @@ -2478,26 +2453,25 @@ void main() { ); test('initializeCamera sets camera state observer as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const bool enableAudio = true; - final MockCamera mockCamera = MockCamera(); - const int testSurfaceTextureId = 244; + const enableAudio = true; + final mockCamera = MockCamera(); + const testSurfaceTextureId = 244; // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockLiveCameraState mockLiveCameraState = MockLiveCameraState(); - final MockPreview mockPreview = MockPreview(); - final ResolutionInfo testResolutionInfo = ResolutionInfo.pigeon_detached( + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); + final mockLiveCameraState = MockLiveCameraState(); + final mockPreview = MockPreview(); + final testResolutionInfo = ResolutionInfo.pigeon_detached( resolution: MockCameraSize(), ); @@ -2553,29 +2527,28 @@ void main() { test( 'initializeCamera sets image format of ImageAnalysis use case as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const bool enableAudio = true; - final MockCamera mockCamera = MockCamera(); - const int testSurfaceTextureId = 244; + const enableAudio = true; + final mockCamera = MockCamera(); + const testSurfaceTextureId = 244; // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockLiveCameraState mockLiveCameraState = MockLiveCameraState(); - final MockPreview mockPreview = MockPreview(); - final ResolutionInfo testResolutionInfo = ResolutionInfo.pigeon_detached( + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); + final mockLiveCameraState = MockLiveCameraState(); + final mockPreview = MockPreview(); + final testResolutionInfo = ResolutionInfo.pigeon_detached( resolution: MockCameraSize(), ); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); + final mockImageAnalysis = MockImageAnalysis(); // Configure mocks for camera initialization. when( @@ -2648,23 +2621,23 @@ void main() { ); test('initializeCamera sends expected CameraInitializedEvent', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); - const int cameraId = 10; + const cameraId = 10; const CameraLensDirection testLensDirection = CameraLensDirection.back; - const int testSensorOrientation = 90; - const CameraDescription testCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( name: 'cameraName', lensDirection: testLensDirection, sensorOrientation: testSensorOrientation, ); - const int resolutionWidth = 350; - const int resolutionHeight = 750; + const resolutionWidth = 350; + const resolutionHeight = 750; final Camera mockCamera = MockCamera(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ResolutionInfo testResolutionInfo = ResolutionInfo.pigeon_detached( + final testResolutionInfo = ResolutionInfo.pigeon_detached( resolution: CameraSize.pigeon_detached( width: resolutionWidth, height: resolutionHeight, @@ -2674,14 +2647,13 @@ void main() { ); // Mocks for (typically attached) objects created by createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); + final mockProcessCameraProvider = MockProcessCameraProvider(); final CameraInfo mockCameraInfo = MockCameraInfo(); - final MockCameraSelector mockBackCameraSelector = MockCameraSelector(); - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); - final MockPreview mockPreview = MockPreview(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); + final mockBackCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockPreview = MockPreview(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); // Tell plugin to create mock/detached objects for testing createCamera // as needed. @@ -2824,8 +2796,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when(manager.getUiOrientation()).thenAnswer((_) async { return 'PORTRAIT_UP'; }); @@ -2856,8 +2827,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); when( mockCamera2CameraInfo.getCameraCharacteristic(any), ).thenAnswer((_) async => 90); @@ -2876,16 +2846,15 @@ void main() { MockCameraCharacteristicsKey(), ); - final CameraInitializedEvent testCameraInitializedEvent = - CameraInitializedEvent( - cameraId, - resolutionWidth.toDouble(), - resolutionHeight.toDouble(), - ExposureMode.auto, - true, - FocusMode.auto, - true, - ); + final testCameraInitializedEvent = CameraInitializedEvent( + cameraId, + resolutionWidth.toDouble(), + resolutionHeight.toDouble(), + ExposureMode.auto, + true, + FocusMode.auto, + true, + ); // Call createCamera. when(mockPreview.setSurfaceProvider(any)).thenAnswer((_) async => cameraId); @@ -2930,8 +2899,8 @@ void main() { test( 'dispose releases Flutter surface texture, removes camera state observers, and unbinds all use cases', () async { - bool stoppedListeningForDeviceOrientationChange = false; - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + var stoppedListeningForDeviceOrientationChange = false; + final camera = AndroidCameraCameraX(); camera.proxy = CameraXProxy( newDeviceOrientationManager: ({ @@ -2942,7 +2911,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager mockDeviceOrientationManager = + final mockDeviceOrientationManager = MockDeviceOrientationManager(); when( mockDeviceOrientationManager @@ -2970,13 +2939,12 @@ void main() { ); test('onCameraInitialized stream emits CameraInitializedEvents', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 16; + final camera = AndroidCameraCameraX(); + const cameraId = 16; final Stream eventStream = camera .onCameraInitialized(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); - const CameraInitializedEvent testEvent = CameraInitializedEvent( + final streamQueue = StreamQueue(eventStream); + const testEvent = CameraInitializedEvent( cameraId, 320, 80, @@ -2995,16 +2963,13 @@ void main() { test( 'onCameraClosing stream emits camera closing event when cameraEventStreamController emits a camera closing event', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 99; - const CameraClosingEvent cameraClosingEvent = CameraClosingEvent( - cameraId, - ); + final camera = AndroidCameraCameraX(); + const cameraId = 99; + const cameraClosingEvent = CameraClosingEvent(cameraId); final Stream eventStream = camera.onCameraClosing( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); camera.cameraEventStreamController.add(cameraClosingEvent); @@ -3016,19 +2981,18 @@ void main() { test( 'onCameraError stream emits errors caught by system services or added to stream within plugin', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 27; - const String firstTestErrorDescription = 'Test error description 1!'; - const String secondTestErrorDescription = 'Test error description 2!'; - const CameraErrorEvent secondCameraErrorEvent = CameraErrorEvent( + final camera = AndroidCameraCameraX(); + const cameraId = 27; + const firstTestErrorDescription = 'Test error description 1!'; + const secondTestErrorDescription = 'Test error description 2!'; + const secondCameraErrorEvent = CameraErrorEvent( cameraId, secondTestErrorDescription, ); final Stream eventStream = camera.onCameraError( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); camera.proxy = CameraXProxy( newSystemServicesManager: @@ -3040,8 +3004,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.onCameraError, ).thenReturn(onCameraError); @@ -3068,13 +3031,15 @@ void main() { test( 'onDeviceOrientationChanged stream emits changes in device orientation detected by system services', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); final Stream eventStream = camera .onDeviceOrientationChanged(); - final StreamQueue streamQueue = - StreamQueue(eventStream); - const DeviceOrientationChangedEvent testEvent = - DeviceOrientationChangedEvent(DeviceOrientation.portraitDown); + final streamQueue = StreamQueue( + eventStream, + ); + const testEvent = DeviceOrientationChangedEvent( + DeviceOrientation.portraitDown, + ); camera.proxy = CameraXProxy( newDeviceOrientationManager: @@ -3086,7 +3051,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager mockDeviceOrientationManager = + final mockDeviceOrientationManager = MockDeviceOrientationManager(); when( mockDeviceOrientationManager.onDeviceOrientationChanged, @@ -3108,7 +3073,7 @@ void main() { test( 'pausePreview unbinds preview from lifecycle when preview is nonnull and has been bound to lifecycle', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -3127,7 +3092,7 @@ void main() { test( 'pausePreview does not unbind preview from lifecycle when preview has not been bound to lifecycle', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -3144,12 +3109,11 @@ void main() { test( 'resumePreview does not bind preview to lifecycle or update camera state observers if already bound', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockLiveCameraState mockLiveCameraState = MockLiveCameraState(); + final camera = AndroidCameraCameraX(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockLiveCameraState = MockLiveCameraState(); // Set directly for test versus calling createCamera. camera.processCameraProvider = mockProcessCameraProvider; @@ -3187,13 +3151,12 @@ void main() { test( 'resumePreview binds preview to lifecycle and updates camera state observers if not already bound', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockLiveCameraState mockLiveCameraState = MockLiveCameraState(); + final camera = AndroidCameraCameraX(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockLiveCameraState = MockLiveCameraState(); // Set directly for test versus calling createCamera. camera.processCameraProvider = mockProcessCameraProvider; @@ -3260,8 +3223,8 @@ void main() { test( 'buildPreview throws an exception if the preview is not bound to the lifecycle', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 73; + final camera = AndroidCameraCameraX(); + const cameraId = 73; // Tell camera that createCamera has not been called and thus, preview has // not been bound to the lifecycle of the camera. @@ -3279,22 +3242,18 @@ void main() { 'startVideoCapturing binds video capture use case, updates saved camera instance and its properties, and starts the recording with audio enabled as desired', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = - MockPendingRecording(); - final MockPendingRecording mockPendingRecordingWithAudio = - MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCamera newMockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockLiveCameraState mockLiveCameraState = MockLiveCameraState(); - final MockLiveCameraState newMockLiveCameraState = - MockLiveCameraState(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); - const bool enableAudio = true; + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockPendingRecordingWithAudio = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final newMockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockLiveCameraState = MockLiveCameraState(); + final newMockLiveCameraState = MockLiveCameraState(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); + const enableAudio = true; // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -3311,7 +3270,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newObserver: ({ @@ -3345,8 +3304,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -3379,7 +3337,7 @@ void main() { }, ); - const int cameraId = 17; + const cameraId = 17; // Mock method calls. when( @@ -3458,14 +3416,12 @@ void main() { ' on first call, and does nothing on second call', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = - MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -3480,7 +3436,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newObserver: ({ @@ -3514,8 +3470,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -3548,7 +3503,7 @@ void main() { }, ); - const int cameraId = 17; + const cameraId = 17; // Mock method calls. when( @@ -3624,15 +3579,12 @@ void main() { 'startVideoCapturing called with stream options starts image streaming', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); + final camera = AndroidCameraCameraX(); + final mockProcessCameraProvider = MockProcessCameraProvider(); final Recorder mockRecorder = MockRecorder(); - final MockPendingRecording mockPendingRecording = - MockPendingRecording(); - final MockCameraInfo initialCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final mockPendingRecording = MockPendingRecording(); + final initialCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. @@ -3650,7 +3602,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Analyzer for testing. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newObserver: ({ @@ -3684,8 +3636,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -3728,10 +3679,9 @@ void main() { }, ); - const int cameraId = 17; - final Completer imageDataCompleter = - Completer(); - final VideoCaptureOptions videoCaptureOptions = VideoCaptureOptions( + const cameraId = 17; + final imageDataCompleter = Completer(); + final videoCaptureOptions = VideoCaptureOptions( cameraId, streamCallback: (CameraImageData imageData) => imageDataCompleter.complete(imageData), @@ -3786,14 +3736,12 @@ void main() { 'startVideoCapturing sets VideoCapture target rotation to current video orientation if orientation unlocked', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = - MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); - final MockCameraInfo initialCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockVideoCapture = MockVideoCapture(); + final initialCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); const int defaultTargetRotation = Surface.rotation270; // Set directly for test versus calling createCamera. @@ -3807,7 +3755,7 @@ void main() { camera.enableRecordingAudio = false; // Tell plugin to mock call to get current video orientation and mock Camera2CameraInfo retrieval. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newObserver: ({ @@ -3843,8 +3791,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -3862,8 +3809,8 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager - mockDeviceOrientationManager = MockDeviceOrientationManager(); + final mockDeviceOrientationManager = + MockDeviceOrientationManager(); when( mockDeviceOrientationManager.getDefaultDisplayRotation(), ).thenAnswer((_) async => defaultTargetRotation); @@ -3893,7 +3840,7 @@ void main() { }, ); - const int cameraId = 87; + const cameraId = 87; // Mock method calls. when( @@ -3986,8 +3933,8 @@ void main() { ); test('pauseVideoRecording pauses the recording', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording recording = MockRecording(); + final camera = AndroidCameraCameraX(); + final recording = MockRecording(); // Set directly for test versus calling startVideoCapturing. camera.recording = recording; @@ -3998,8 +3945,8 @@ void main() { }); test('resumeVideoRecording resumes the recording', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording recording = MockRecording(); + final camera = AndroidCameraCameraX(); + final recording = MockRecording(); // Set directly for test versus calling startVideoCapturing. camera.recording = recording; @@ -4010,12 +3957,11 @@ void main() { }); test('stopVideoRecording stops the recording', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording recording = MockRecording(); - final MockProcessCameraProvider processCameraProvider = - MockProcessCameraProvider(); - final MockVideoCapture videoCapture = MockVideoCapture(); - const String videoOutputPath = '/test/output/path'; + final camera = AndroidCameraCameraX(); + final recording = MockRecording(); + final processCameraProvider = MockProcessCameraProvider(); + final videoCapture = MockVideoCapture(); + const videoOutputPath = '/test/output/path'; // Set directly for test versus calling createCamera and startVideoCapturing. camera.processCameraProvider = processCameraProvider; @@ -4047,8 +3993,8 @@ void main() { test('stopVideoRecording throws a camera exception if ' 'no recording is in progress', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const String videoOutputPath = '/test/output/path'; + final camera = AndroidCameraCameraX(); + const videoOutputPath = '/test/output/path'; // Set directly for test versus calling startVideoCapturing. camera.recording = null; @@ -4061,9 +4007,9 @@ void main() { test('stopVideoRecording throws a camera exception if ' 'videoOutputPath is null, and sets recording to null', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording mockRecording = MockRecording(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); + final camera = AndroidCameraCameraX(); + final mockRecording = MockRecording(); + final mockVideoCapture = MockVideoCapture(); // Set directly for test versus calling startVideoCapturing. camera.processCameraProvider = MockProcessCameraProvider(); @@ -4092,12 +4038,11 @@ void main() { test('calling stopVideoRecording twice stops the recording ' 'and then throws a CameraException', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording recording = MockRecording(); - final MockProcessCameraProvider processCameraProvider = - MockProcessCameraProvider(); - final MockVideoCapture videoCapture = MockVideoCapture(); - const String videoOutputPath = '/test/output/path'; + final camera = AndroidCameraCameraX(); + final recording = MockRecording(); + final processCameraProvider = MockProcessCameraProvider(); + final videoCapture = MockVideoCapture(); + const videoOutputPath = '/test/output/path'; // Set directly for test versus calling createCamera and startVideoCapturing. camera.processCameraProvider = processCameraProvider; @@ -4125,12 +4070,11 @@ void main() { test( 'VideoCapture use case is unbound from lifecycle when video recording stops', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording recording = MockRecording(); - final MockProcessCameraProvider processCameraProvider = - MockProcessCameraProvider(); - final MockVideoCapture videoCapture = MockVideoCapture(); - const String videoOutputPath = '/test/output/path'; + final camera = AndroidCameraCameraX(); + final recording = MockRecording(); + final processCameraProvider = MockProcessCameraProvider(); + final videoCapture = MockVideoCapture(); + const videoOutputPath = '/test/output/path'; // Set directly for test versus calling createCamera and startVideoCapturing. camera.processCameraProvider = processCameraProvider; @@ -4162,18 +4106,18 @@ void main() { ); test('setDescriptionWhileRecording changes the camera description', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording mockRecording = MockRecording(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecorder mockRecorder = MockRecorder(); + final camera = AndroidCameraCameraX(); + final mockRecording = MockRecording(); + final mockPendingRecording = MockPendingRecording(); + final mockRecorder = MockRecorder(); - const int testSensorOrientation = 90; - const CameraDescription testBackCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testBackCameraDescription = CameraDescription( name: 'Camera 0', lensDirection: CameraLensDirection.back, sensorOrientation: testSensorOrientation, ); - const CameraDescription testFrontCameraDescription = CameraDescription( + const testFrontCameraDescription = CameraDescription( name: 'Camera 1', lensDirection: CameraLensDirection.front, sensorOrientation: testSensorOrientation, @@ -4181,26 +4125,24 @@ void main() { // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockPreview mockPreview = MockPreview(); - final MockCamera mockCamera = MockCamera(); - final MockCamera newMockCamera = MockCamera(); - final MockLiveCameraState mockLiveCameraState = MockLiveCameraState(); - final MockLiveCameraState newMockLiveCameraState = MockLiveCameraState(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); - final MockCameraSelector mockBackCameraSelector = MockCameraSelector(); - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); - final MockCameraInfo mockFrontCameraInfo = MockCameraInfo(); - final MockCameraInfo mockBackCameraInfo = MockCameraInfo(); - final MockCameraCharacteristicsKey mockCameraCharacteristicsKey = - MockCameraCharacteristicsKey(); - - const String outputPath = 'file/output.mp4'; + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockPreview = MockPreview(); + final mockCamera = MockCamera(); + final newMockCamera = MockCamera(); + final mockLiveCameraState = MockLiveCameraState(); + final newMockLiveCameraState = MockLiveCameraState(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockVideoCapture = MockVideoCapture(); + final mockBackCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraInfo = MockCameraInfo(); + final mockBackCameraInfo = MockCameraInfo(); + final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); + + const outputPath = 'file/output.mp4'; camera.proxy = CameraXProxy( newPreview: @@ -4215,8 +4157,9 @@ void main() { when( mockPreview.setSurfaceProvider(any), ).thenAnswer((_) async => 19); - final ResolutionInfo testResolutionInfo = - ResolutionInfo.pigeon_detached(resolution: MockCameraSize()); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); when( mockPreview.surfaceProducerHandlesCropAndRotation(), ).thenAnswer((_) async => false); @@ -4300,8 +4243,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when(manager.getUiOrientation()).thenAnswer((_) async { return 'PORTRAIT_UP'; }); @@ -4315,8 +4257,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCamera2CameraInfo camera2cameraInfo = - MockCamera2CameraInfo(); + final camera2cameraInfo = MockCamera2CameraInfo(); when( camera2cameraInfo.getCameraCharacteristic(any), ).thenAnswer((_) async => InfoSupportedHardwareLevel.limited); @@ -4349,8 +4290,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -4478,14 +4418,14 @@ void main() { expect(camera.cameraInfo, equals(mockCameraInfo)); expect(camera.cameraControl, equals(mockCameraControl)); verify(mockLiveCameraState.removeObservers()); - for (final dynamic observer in verify( + for (final Object? observer in verify( newMockLiveCameraState.observe(captureAny), ).captured) { expect( await testCameraClosingObserver( camera, flutterSurfaceTextureId, - observer as Observer, + observer! as Observer, ), isTrue, ); @@ -4507,18 +4447,18 @@ void main() { }); test('setDescriptionWhileRecording does not resume paused preview', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockRecording mockRecording = MockRecording(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecorder mockRecorder = MockRecorder(); + final camera = AndroidCameraCameraX(); + final mockRecording = MockRecording(); + final mockPendingRecording = MockPendingRecording(); + final mockRecorder = MockRecorder(); - const int testSensorOrientation = 90; - const CameraDescription testBackCameraDescription = CameraDescription( + const testSensorOrientation = 90; + const testBackCameraDescription = CameraDescription( name: 'Camera 0', lensDirection: CameraLensDirection.back, sensorOrientation: testSensorOrientation, ); - const CameraDescription testFrontCameraDescription = CameraDescription( + const testFrontCameraDescription = CameraDescription( name: 'Camera 1', lensDirection: CameraLensDirection.front, sensorOrientation: testSensorOrientation, @@ -4526,23 +4466,21 @@ void main() { // Mock/Detached objects for (typically attached) objects created by // createCamera. - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockPreview mockPreview = MockPreview(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); - final MockCameraSelector mockBackCameraSelector = MockCameraSelector(); - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); - final MockCameraInfo mockFrontCameraInfo = MockCameraInfo(); - final MockCameraInfo mockBackCameraInfo = MockCameraInfo(); - final MockCameraCharacteristicsKey mockCameraCharacteristicsKey = - MockCameraCharacteristicsKey(); - - const String outputPath = 'file/output.mp4'; + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockPreview = MockPreview(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockVideoCapture = MockVideoCapture(); + final mockBackCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraInfo = MockCameraInfo(); + final mockBackCameraInfo = MockCameraInfo(); + final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); + + const outputPath = 'file/output.mp4'; camera.proxy = CameraXProxy( newPreview: @@ -4557,8 +4495,9 @@ void main() { when( mockPreview.setSurfaceProvider(any), ).thenAnswer((_) async => 19); - final ResolutionInfo testResolutionInfo = - ResolutionInfo.pigeon_detached(resolution: MockCameraSize()); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); when( mockPreview.surfaceProducerHandlesCropAndRotation(), ).thenAnswer((_) async => false); @@ -4642,8 +4581,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when(manager.getUiOrientation()).thenAnswer((_) async { return 'PORTRAIT_UP'; }); @@ -4657,8 +4595,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCamera2CameraInfo camera2cameraInfo = - MockCamera2CameraInfo(); + final camera2cameraInfo = MockCamera2CameraInfo(); when( camera2cameraInfo.getCameraCharacteristic(any), ).thenAnswer((_) async => InfoSupportedHardwareLevel.limited); @@ -4691,8 +4628,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -4808,12 +4744,11 @@ void main() { test( 'takePicture binds ImageCapture to lifecycle and makes call to take a picture', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - const String testPicturePath = 'test/absolute/path/to/picture'; + final camera = AndroidCameraCameraX(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + const testPicturePath = 'test/absolute/path/to/picture'; // Set directly for test versus calling createCamera. camera.imageCapture = MockImageCapture(); @@ -4868,12 +4803,11 @@ void main() { test( 'takePicture sets ImageCapture target rotation as expected when orientation locked or unlocked', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); + final camera = AndroidCameraCameraX(); + final mockImageCapture = MockImageCapture(); + final mockProcessCameraProvider = MockProcessCameraProvider(); - const int cameraId = 3; + const cameraId = 3; const int defaultTargetRotation = Surface.rotation180; // Set directly for test versus calling createCamera. @@ -4891,7 +4825,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager mockDeviceOrientationManager = + final mockDeviceOrientationManager = MockDeviceOrientationManager(); when( mockDeviceOrientationManager.getDefaultDisplayRotation(), @@ -4937,10 +4871,9 @@ void main() { test( 'takePicture turns non-torch flash mode off when torch mode enabled', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - const int cameraId = 77; + final camera = AndroidCameraCameraX(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + const cameraId = 77; // Set directly for test versus calling createCamera. camera.imageCapture = MockImageCapture(); @@ -4963,11 +4896,10 @@ void main() { test( 'setFlashMode configures ImageCapture with expected non-torch flash mode', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 22; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); + final camera = AndroidCameraCameraX(); + const cameraId = 22; + final mockCameraControl = MockCameraControl(); + final mockProcessCameraProvider = MockProcessCameraProvider(); // Set directly for test versus calling createCamera. camera.imageCapture = MockImageCapture(); @@ -5010,9 +4942,9 @@ void main() { ); test('setFlashMode turns on torch mode as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 44; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 44; + final mockCameraControl = MockCameraControl(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -5026,9 +4958,9 @@ void main() { test( 'setFlashMode turns off torch mode when non-torch flash modes set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 33; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 33; + final mockCameraControl = MockCameraControl(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -5052,12 +4984,12 @@ void main() { ); test('getMinExposureOffset returns expected exposure offset', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final camera = AndroidCameraCameraX(); + final mockCameraInfo = MockCameraInfo(); + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, @@ -5078,12 +5010,12 @@ void main() { }); test('getMaxExposureOffset returns expected exposure offset', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final camera = AndroidCameraCameraX(); + final mockCameraInfo = MockCameraInfo(); + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, @@ -5103,12 +5035,12 @@ void main() { }); test('getExposureOffsetStepSize returns expected exposure offset', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final camera = AndroidCameraCameraX(); + final mockCameraInfo = MockCameraInfo(); + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, @@ -5129,12 +5061,12 @@ void main() { test( 'getExposureOffsetStepSize returns -1 when exposure compensation not supported on device', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final camera = AndroidCameraCameraX(); + final mockCameraInfo = MockCameraInfo(); + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 0, upper: 0, @@ -5154,11 +5086,11 @@ void main() { ); test('getMaxZoomLevel returns expected exposure offset', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final camera = AndroidCameraCameraX(); + final mockCameraInfo = MockCameraInfo(); const double maxZoomRatio = 1; final LiveData mockLiveZoomState = MockLiveZoomState(); - final ZoomState zoomState = ZoomState.pigeon_detached( + final zoomState = ZoomState.pigeon_detached( maxZoomRatio: maxZoomRatio, minZoomRatio: 0, pigeon_instanceManager: PigeonInstanceManager( @@ -5178,11 +5110,11 @@ void main() { }); test('getMinZoomLevel returns expected exposure offset', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final camera = AndroidCameraCameraX(); + final mockCameraInfo = MockCameraInfo(); const double minZoomRatio = 0; final LiveData mockLiveZoomState = MockLiveZoomState(); - final ZoomState zoomState = ZoomState.pigeon_detached( + final zoomState = ZoomState.pigeon_detached( maxZoomRatio: 1, minZoomRatio: minZoomRatio, pigeon_instanceManager: PigeonInstanceManager( @@ -5202,10 +5134,10 @@ void main() { }); test('setZoomLevel sets zoom ratio as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 44; - const double zoomRatio = 0.3; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 44; + const zoomRatio = 0.3; + final mockCameraControl = MockCameraControl(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -5216,19 +5148,18 @@ void main() { }); test('Should report support for image streaming', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); expect(camera.supportsImageStreaming(), true); }); test( 'onStreamedFrameAvailable emits CameraImageData when picked up from CameraImageData stream controller', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - const int cameraId = 22; + final camera = AndroidCameraCameraX(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + const cameraId = 22; // Tell plugin to create detached Analyzer for testing. camera.proxy = CameraXProxy( @@ -5273,8 +5204,7 @@ void main() { final CameraImageData mockCameraImageData = MockCameraImageData(); final Stream imageStream = camera .onStreamedFrameAvailable(cameraId); - final StreamQueue streamQueue = - StreamQueue(imageStream); + final streamQueue = StreamQueue(imageStream); camera.cameraImageDataStreamController!.add(mockCameraImageData); @@ -5286,10 +5216,9 @@ void main() { test( 'onStreamedFrameAvailable emits CameraImageData when listened to after cancelation', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - const int cameraId = 22; + final camera = AndroidCameraCameraX(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + const cameraId = 22; // Tell plugin to create detached Analyzer for testing. camera.proxy = CameraXProxy( @@ -5336,8 +5265,7 @@ void main() { .onStreamedFrameAvailable(cameraId); // Listen to image stream again. - final StreamQueue streamQueue = - StreamQueue(imageStream2); + final streamQueue = StreamQueue(imageStream2); camera.cameraImageDataStreamController!.add(mockCameraImageData); expect(await streamQueue.next, equals(mockCameraImageData)); @@ -5348,23 +5276,23 @@ void main() { test( 'onStreamedFrameAvailable returns stream that responds expectedly to being listened to', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 33; + final camera = AndroidCameraCameraX(); + const cameraId = 33; final ProcessCameraProvider mockProcessCameraProvider = MockProcessCameraProvider(); final CameraSelector mockCameraSelector = MockCameraSelector(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); + final mockImageAnalysis = MockImageAnalysis(); final Camera mockCamera = MockCamera(); final CameraInfo mockCameraInfo = MockCameraInfo(); - final MockImageProxy mockImageProxy = MockImageProxy(); - final MockPlaneProxy mockPlane = MockPlaneProxy(); - final List mockPlanes = [mockPlane]; - final Uint8List buffer = Uint8List(0); - const int pixelStride = 27; - const int rowStride = 58; - const int imageFormat = 582; - const int imageHeight = 100; - const int imageWidth = 200; + final mockImageProxy = MockImageProxy(); + final mockPlane = MockPlaneProxy(); + final mockPlanes = [mockPlane]; + final buffer = Uint8List(0); + const pixelStride = 27; + const rowStride = 58; + const imageFormat = 582; + const imageHeight = 100; + const imageWidth = 200; // Tell plugin to create detached Analyzer for testing. camera.proxy = CameraXProxy( @@ -5430,8 +5358,7 @@ void main() { when(mockImageProxy.height).thenReturn(imageHeight); when(mockImageProxy.width).thenReturn(imageWidth); - final Completer imageDataCompleter = - Completer(); + final imageDataCompleter = Completer(); final StreamSubscription onStreamedFrameAvailableSubscription = camera .onStreamedFrameAvailable(cameraId) @@ -5441,7 +5368,7 @@ void main() { // Test ImageAnalysis use case is bound to ProcessCameraProvider. await untilCalled(mockImageAnalysis.setAnalyzer(any)); - final Analyzer capturedAnalyzer = + final capturedAnalyzer = verify(mockImageAnalysis.setAnalyzer(captureAny)).captured.single as Analyzer; @@ -5464,21 +5391,16 @@ void main() { test( 'onStreamedFrameAvailable emits NV21 CameraImageData with correct format and single plane when initialized with NV21', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 42; - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockImageProxy mockImageProxy = MockImageProxy(); - final MockPlaneProxy mockPlane = MockPlaneProxy(); - final List mockPlanes = [ - mockPlane, - mockPlane, - mockPlane, - ]; - final Uint8List testNv21Buffer = Uint8List(10); + final camera = AndroidCameraCameraX(); + const cameraId = 42; + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockImageAnalysis = MockImageAnalysis(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockImageProxy = MockImageProxy(); + final mockPlane = MockPlaneProxy(); + final mockPlanes = [mockPlane, mockPlane, mockPlane]; + final testNv21Buffer = Uint8List(10); // Mock use case bindings and related Camera objects. when( @@ -5548,8 +5470,7 @@ void main() { when(mockImageProxy.getPlanes()).thenAnswer((_) async => mockPlanes); // Set up listener to receive mock ImageProxy. - final Completer imageDataCompleter = - Completer(); + final imageDataCompleter = Completer(); final StreamSubscription subscription = camera .onStreamedFrameAvailable(cameraId) .listen((CameraImageData imageData) { @@ -5557,7 +5478,7 @@ void main() { }); await untilCalled(mockImageAnalysis.setAnalyzer(any)); - final Analyzer capturedAnalyzer = + final capturedAnalyzer = verify(mockImageAnalysis.setAnalyzer(captureAny)).captured.single as Analyzer; capturedAnalyzer.analyze(MockAnalyzer(), mockImageProxy); @@ -5576,11 +5497,10 @@ void main() { test( 'onStreamedFrameAvailable returns stream that responds expectedly to being canceled', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 32; - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); + final camera = AndroidCameraCameraX(); + const cameraId = 32; + final mockImageAnalysis = MockImageAnalysis(); + final mockProcessCameraProvider = MockProcessCameraProvider(); // Set directly for test versus calling createCamera. camera.imageAnalysis = mockImageAnalysis; @@ -5618,12 +5538,11 @@ void main() { test( 'onStreamedFrameAvailable sets ImageAnalysis target rotation to current photo orientation when orientation unlocked', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 35; + final camera = AndroidCameraCameraX(); + const cameraId = 35; const int defaultTargetRotation = Surface.rotation90; - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); + final mockImageAnalysis = MockImageAnalysis(); + final mockProcessCameraProvider = MockProcessCameraProvider(); // Set directly for test versus calling createCamera. camera.imageAnalysis = mockImageAnalysis; @@ -5649,8 +5568,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDeviceOrientationManager manager = - MockDeviceOrientationManager(); + final manager = MockDeviceOrientationManager(); when(manager.getDefaultDisplayRotation()).thenAnswer((_) async { return defaultTargetRotation; }); @@ -5709,12 +5627,12 @@ void main() { test( 'lockCaptureOrientation sets capture-related use case target rotations to correct orientation', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 44; + final camera = AndroidCameraCameraX(); + const cameraId = 44; - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockImageCapture mockImageCapture = MockImageCapture(); - final MockVideoCapture mockVideoCapture = MockVideoCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockImageCapture = MockImageCapture(); + final mockVideoCapture = MockVideoCapture(); // Set directly for test versus calling createCamera. camera.imageAnalysis = mockImageAnalysis; @@ -5752,8 +5670,8 @@ void main() { test( 'unlockCaptureOrientation sets capture-related use case target rotations to current photo/video orientation', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 57; + final camera = AndroidCameraCameraX(); + const cameraId = 57; camera.captureOrientationLocked = true; await camera.unlockCaptureOrientation(cameraId); @@ -5764,11 +5682,10 @@ void main() { test( 'setExposureMode sets expected controlAeLock value via Camera2 interop', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 78; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 78; + final mockCameraControl = MockCameraControl(); + final mockCamera2CameraControl = MockCamera2CameraControl(); // Set directly for test versus calling createCamera. camera.camera = MockCamera(); @@ -5776,13 +5693,12 @@ void main() { // Tell plugin to create detached Camera2CameraControl and // CaptureRequestOptions instances for testing. - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CaptureRequestKey controlAELockKey = - CaptureRequestKey.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final controlAELockKey = CaptureRequestKey.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ); camera.proxy = CameraXProxy( fromCamera2CameraControl: ({ @@ -5804,8 +5720,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCaptureRequestOptions mockCaptureRequestOptions = - MockCaptureRequestOptions(); + final mockCaptureRequestOptions = MockCaptureRequestOptions(); options.forEach((CaptureRequestKey key, Object? value) { when( mockCaptureRequestOptions.getCaptureRequestOption(key), @@ -5822,7 +5737,7 @@ void main() { VerificationResult verificationResult = verify( mockCamera2CameraControl.addCaptureRequestOptions(captureAny), ); - CaptureRequestOptions capturedCaptureRequestOptions = + var capturedCaptureRequestOptions = verificationResult.captured.single as CaptureRequestOptions; expect( await capturedCaptureRequestOptions.getCaptureRequestOption( @@ -5852,18 +5767,17 @@ void main() { test( 'setExposurePoint clears current auto-exposure metering point as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 93; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final camera = AndroidCameraCameraX(); + const cameraId = 93; + final mockCameraControl = MockCameraControl(); + final mockCameraInfo = MockCameraInfo(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; camera.cameraInfo = mockCameraInfo; - final MockFocusMeteringActionBuilder mockActionBuilder = - MockFocusMeteringActionBuilder(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final mockActionBuilder = MockFocusMeteringActionBuilder(); + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); when(mockActionBuilder.build()).thenAnswer( @@ -5900,22 +5814,21 @@ void main() { verifyNever(mockCameraControl.cancelFocusAndMetering()); // Verify current auto-exposure metering point is removed if previously set. - final FocusMeteringAction originalMeteringAction = - FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAwb: const [], - isAutoCancelEnabled: false, + final originalMeteringAction = FocusMeteringAction.pigeon_detached( + meteringPointsAe: [ + MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, - ); + ), + ], + meteringPointsAf: [ + MeteringPoint.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ), + ], + meteringPointsAwb: const [], + isAutoCancelEnabled: false, + pigeon_instanceManager: testInstanceManager, + ); camera.currentFocusMeteringAction = originalMeteringAction; await camera.setExposurePoint(cameraId, null); @@ -5951,10 +5864,10 @@ void main() { test( 'setExposurePoint throws CameraException if invalid point specified', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 23; - final MockCameraControl mockCameraControl = MockCameraControl(); - const Point invalidExposurePoint = Point(3, -1); + final camera = AndroidCameraCameraX(); + const cameraId = 23; + final mockCameraControl = MockCameraControl(); + const invalidExposurePoint = Point(3, -1); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -5972,27 +5885,26 @@ void main() { test( 'setExposurePoint adds new exposure point to focus metering action to start as expected when previous metering points have been set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 9; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final camera = AndroidCameraCameraX(); + const cameraId = 9; + final mockCameraControl = MockCameraControl(); + final mockCameraInfo = MockCameraInfo(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; camera.cameraInfo = mockCameraInfo; - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - double exposurePointX = 0.8; - double exposurePointY = 0.1; - final MeteringPoint createdMeteringPoint = MeteringPoint.pigeon_detached( + var exposurePointX = 0.8; + var exposurePointY = 0.1; + final createdMeteringPoint = MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, ); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; - final MockFocusMeteringActionBuilder mockActionBuilder = - MockFocusMeteringActionBuilder(); + final mockActionBuilder = MockFocusMeteringActionBuilder(); when(mockActionBuilder.build()).thenAnswer( (_) async => FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], @@ -6013,8 +5925,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDisplayOrientedMeteringPointFactory mockFactory = - MockDisplayOrientedMeteringPointFactory(); + final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( mockFactory.createPoint(exposurePointX, exposurePointY), ).thenAnswer((_) async => createdMeteringPoint); @@ -6036,26 +5947,22 @@ void main() { ); // Verify current auto-exposure metering point is removed if previously set. - Point exposurePoint = Point( - exposurePointX, - exposurePointY, - ); - FocusMeteringAction originalMeteringAction = - FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAwb: const [], - isAutoCancelEnabled: false, + var exposurePoint = Point(exposurePointX, exposurePointY); + var originalMeteringAction = FocusMeteringAction.pigeon_detached( + meteringPointsAe: [ + MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, - ); + ), + ], + meteringPointsAf: [ + MeteringPoint.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ), + ], + meteringPointsAwb: const [], + isAutoCancelEnabled: false, + pigeon_instanceManager: testInstanceManager, + ); camera.currentFocusMeteringAction = originalMeteringAction; await camera.setExposurePoint(cameraId, exposurePoint); @@ -6109,31 +6016,27 @@ void main() { test( 'setExposurePoint adds new exposure point to focus metering action to start as expected when no previous metering points have been set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 19; - final MockCameraControl mockCameraControl = MockCameraControl(); - const double exposurePointX = 0.8; - const double exposurePointY = 0.1; - const Point exposurePoint = Point( - exposurePointX, - exposurePointY, - ); + final camera = AndroidCameraCameraX(); + const cameraId = 19; + final mockCameraControl = MockCameraControl(); + const exposurePointX = 0.8; + const exposurePointY = 0.1; + const exposurePoint = Point(exposurePointX, exposurePointY); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); camera.currentFocusMeteringAction = null; - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final MeteringPoint createdMeteringPoint = MeteringPoint.pigeon_detached( + final createdMeteringPoint = MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, ); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; - final MockFocusMeteringActionBuilder mockActionBuilder = - MockFocusMeteringActionBuilder(); + final mockActionBuilder = MockFocusMeteringActionBuilder(); when(mockActionBuilder.build()).thenAnswer( (_) async => FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], @@ -6154,8 +6057,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDisplayOrientedMeteringPointFactory mockFactory = - MockDisplayOrientedMeteringPointFactory(); + final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( mockFactory.createPoint(exposurePointX, exposurePointY), ).thenAnswer((_) async => createdMeteringPoint); @@ -6186,12 +6088,12 @@ void main() { test( 'setExposurePoint disables auto-cancel for focus and metering as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 2; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 2; + final mockCameraControl = MockCameraControl(); final FocusMeteringResult mockFocusMeteringResult = MockFocusMeteringResult(); - const Point exposurePoint = Point(0.1, 0.2); + const exposurePoint = Point(0.1, 0.2); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -6215,7 +6117,7 @@ void main() { VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - FocusMeteringAction capturedAction = + var capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isTrue); @@ -6237,14 +6139,14 @@ void main() { test( 'setExposureOffset throws exception if exposure compensation not supported', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 6; + final camera = AndroidCameraCameraX(); + const cameraId = 6; const double offset = 2; - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final mockCameraInfo = MockCameraInfo(); + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, @@ -6269,15 +6171,15 @@ void main() { test( 'setExposureOffset throws exception if exposure compensation could not be set for unknown reason', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 11; + final camera = AndroidCameraCameraX(); + const cameraId = 11; const double offset = 3; - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockCameraInfo = MockCameraInfo(); final CameraControl mockCameraControl = MockCameraControl(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, @@ -6310,15 +6212,15 @@ void main() { test( 'setExposureOffset throws exception if exposure compensation could not be set due to camera being closed or newer value being set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 21; + final camera = AndroidCameraCameraX(); + const cameraId = 21; const double offset = 5; - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockCameraInfo = MockCameraInfo(); final CameraControl mockCameraControl = MockCameraControl(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, @@ -6351,15 +6253,15 @@ void main() { test( 'setExposureOffset behaves as expected to successful attempt to set exposure compensation index', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 11; + final camera = AndroidCameraCameraX(); + const cameraId = 11; const double offset = 3; - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final mockCameraInfo = MockCameraInfo(); final CameraControl mockCameraControl = MockCameraControl(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final ExposureState exposureState = ExposureState.pigeon_detached( + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, @@ -6397,18 +6299,17 @@ void main() { test( 'setFocusPoint clears current auto-exposure metering point as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 93; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final camera = AndroidCameraCameraX(); + const cameraId = 93; + final mockCameraControl = MockCameraControl(); + final mockCameraInfo = MockCameraInfo(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; camera.cameraInfo = mockCameraInfo; - final MockFocusMeteringActionBuilder mockActionBuilder = - MockFocusMeteringActionBuilder(); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final mockActionBuilder = MockFocusMeteringActionBuilder(); + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); when(mockActionBuilder.build()).thenAnswer( @@ -6444,22 +6345,21 @@ void main() { verifyNever(mockCameraControl.startFocusAndMetering(any)); verifyNever(mockCameraControl.cancelFocusAndMetering()); - final FocusMeteringAction originalMeteringAction = - FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAwb: const [], - isAutoCancelEnabled: false, + final originalMeteringAction = FocusMeteringAction.pigeon_detached( + meteringPointsAe: [ + MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, - ); + ), + ], + meteringPointsAf: [ + MeteringPoint.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ), + ], + meteringPointsAwb: const [], + isAutoCancelEnabled: false, + pigeon_instanceManager: testInstanceManager, + ); camera.currentFocusMeteringAction = originalMeteringAction; await camera.setFocusPoint(cameraId, null); @@ -6495,10 +6395,10 @@ void main() { test( 'setFocusPoint throws CameraException if invalid point specified', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 23; - final MockCameraControl mockCameraControl = MockCameraControl(); - const Point invalidFocusPoint = Point(-3, 1); + final camera = AndroidCameraCameraX(); + const cameraId = 23; + final mockCameraControl = MockCameraControl(); + const invalidFocusPoint = Point(-3, 1); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -6516,28 +6416,27 @@ void main() { test( 'setFocusPoint adds new focus point to focus metering action to start as expected when previous metering points have been set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 9; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final camera = AndroidCameraCameraX(); + const cameraId = 9; + final mockCameraControl = MockCameraControl(); + final mockCameraInfo = MockCameraInfo(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; camera.cameraInfo = mockCameraInfo; - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - double focusPointX = 0.8; - double focusPointY = 0.1; - Point focusPoint = Point(focusPointX, focusPointY); - final MeteringPoint createdMeteringPoint = MeteringPoint.pigeon_detached( + var focusPointX = 0.8; + var focusPointY = 0.1; + var focusPoint = Point(focusPointX, focusPointY); + final createdMeteringPoint = MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, ); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; - final MockFocusMeteringActionBuilder mockActionBuilder = - MockFocusMeteringActionBuilder(); + final mockActionBuilder = MockFocusMeteringActionBuilder(); when(mockActionBuilder.build()).thenAnswer( (_) async => FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], @@ -6558,8 +6457,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDisplayOrientedMeteringPointFactory mockFactory = - MockDisplayOrientedMeteringPointFactory(); + final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( mockFactory.createPoint(focusPointX, focusPointY), ).thenAnswer((_) async => createdMeteringPoint); @@ -6581,22 +6479,21 @@ void main() { ); // Verify current auto-exposure metering point is removed if previously set. - FocusMeteringAction originalMeteringAction = - FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAwb: const [], - isAutoCancelEnabled: false, + var originalMeteringAction = FocusMeteringAction.pigeon_detached( + meteringPointsAe: [ + MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, - ); + ), + ], + meteringPointsAf: [ + MeteringPoint.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ), + ], + meteringPointsAwb: const [], + isAutoCancelEnabled: false, + pigeon_instanceManager: testInstanceManager, + ); camera.currentFocusMeteringAction = originalMeteringAction; await camera.setFocusPoint(cameraId, focusPoint); @@ -6650,28 +6547,27 @@ void main() { test( 'setFocusPoint adds new focus point to focus metering action to start as expected when no previous metering points have been set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 19; - final MockCameraControl mockCameraControl = MockCameraControl(); - const double focusPointX = 0.8; - const double focusPointY = 0.1; - const Point focusPoint = Point(focusPointX, focusPointY); + final camera = AndroidCameraCameraX(); + const cameraId = 19; + final mockCameraControl = MockCameraControl(); + const focusPointX = 0.8; + const focusPointY = 0.1; + const focusPoint = Point(focusPointX, focusPointY); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); camera.currentFocusMeteringAction = null; - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final MeteringPoint createdMeteringPoint = MeteringPoint.pigeon_detached( + final createdMeteringPoint = MeteringPoint.pigeon_detached( pigeon_instanceManager: testInstanceManager, ); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; - final MockFocusMeteringActionBuilder mockActionBuilder = - MockFocusMeteringActionBuilder(); + final mockActionBuilder = MockFocusMeteringActionBuilder(); when(mockActionBuilder.build()).thenAnswer( (_) async => FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], @@ -6692,8 +6588,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDisplayOrientedMeteringPointFactory mockFactory = - MockDisplayOrientedMeteringPointFactory(); + final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( mockFactory.createPoint(focusPointX, focusPointY), ).thenAnswer((_) async => createdMeteringPoint); @@ -6724,12 +6619,11 @@ void main() { test( 'setFocusPoint disables auto-cancel for focus and metering as expected', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 2; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockFocusMeteringResult mockFocusMeteringResult = - MockFocusMeteringResult(); - const Point exposurePoint = Point(0.1, 0.2); + final camera = AndroidCameraCameraX(); + const cameraId = 2; + final mockCameraControl = MockCameraControl(); + final mockFocusMeteringResult = MockFocusMeteringResult(); + const exposurePoint = Point(0.1, 0.2); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -6754,7 +6648,7 @@ void main() { VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - FocusMeteringAction capturedAction = + var capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isTrue); @@ -6777,11 +6671,10 @@ void main() { test( 'setFocusMode does nothing if setting auto-focus mode and is already using auto-focus mode', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 4; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockFocusMeteringResult mockFocusMeteringResult = - MockFocusMeteringResult(); + final camera = AndroidCameraCameraX(); + const cameraId = 4; + final mockCameraControl = MockCameraControl(); + final mockFocusMeteringResult = MockFocusMeteringResult(); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -6810,9 +6703,9 @@ void main() { test( 'setFocusMode does nothing if setting locked focus mode and is already using locked focus mode', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 4; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 4; + final mockCameraControl = MockCameraControl(); // Camera uses auto-focus by default, so try setting auto mode again. await camera.setFocusMode(cameraId, FocusMode.auto); @@ -6824,15 +6717,13 @@ void main() { test( 'setFocusMode removes default auto-focus point if previously set and setting auto-focus mode', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 5; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockFocusMeteringResult mockFocusMeteringResult = - MockFocusMeteringResult(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); - const double exposurePointX = 0.2; - const double exposurePointY = 0.7; + final camera = AndroidCameraCameraX(); + const cameraId = 5; + final mockCameraControl = MockCameraControl(); + final mockFocusMeteringResult = MockFocusMeteringResult(); + final mockCamera2CameraControl = MockCamera2CameraControl(); + const exposurePointX = 0.2; + const exposurePointY = 0.7; // Set directly for test versus calling createCamera. camera.cameraInfo = MockCameraInfo(); @@ -6842,10 +6733,10 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - final PigeonInstanceManager testInstanceManager = PigeonInstanceManager( + final testInstanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final List createdMeteringPoints = []; + final createdMeteringPoints = []; camera.proxy = getProxyForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, @@ -6859,25 +6750,22 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockDisplayOrientedMeteringPointFactory mockFactory = - MockDisplayOrientedMeteringPointFactory(); + final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( mockFactory.createPoint(exposurePointX, exposurePointY), ).thenAnswer((_) async { - final MeteringPoint createdMeteringPoint = - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ); createdMeteringPoints.add(createdMeteringPoint); return createdMeteringPoint; }); when(mockFactory.createPointWithSize(0.5, 0.5, 1)).thenAnswer(( _, ) async { - final MeteringPoint createdMeteringPoint = - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ); createdMeteringPoints.add(createdMeteringPoint); return createdMeteringPoint; }); @@ -6908,7 +6796,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isTrue); @@ -6922,13 +6810,12 @@ void main() { test( 'setFocusMode cancels focus and metering if only focus point previously set is a focus point', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 5; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 5; + final mockCameraControl = MockCameraControl(); final FocusMeteringResult mockFocusMeteringResult = MockFocusMeteringResult(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); + final mockCamera2CameraControl = MockCamera2CameraControl(); // Set directly for test versus calling createCamera. camera.cameraInfo = MockCameraInfo(); @@ -6962,15 +6849,14 @@ void main() { test( 'setFocusMode re-focuses on previously set auto-focus point with auto-canceled enabled if setting auto-focus mode', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 6; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 6; + final mockCameraControl = MockCameraControl(); final FocusMeteringResult mockFocusMeteringResult = MockFocusMeteringResult(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); - const double focusPointX = 0.1; - const double focusPointY = 0.2; + final mockCamera2CameraControl = MockCamera2CameraControl(); + const focusPointX = 0.1; + const focusPointY = 0.2; // Set directly for test versus calling createCamera. camera.cameraInfo = MockCameraInfo(); @@ -7006,13 +6892,13 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isTrue); expect(capturedAction.meteringPointsAe.length, equals(0)); expect(capturedAction.meteringPointsAf.length, equals(1)); expect(capturedAction.meteringPointsAwb.length, equals(0)); - final TestMeteringPoint focusPoint = + final focusPoint = capturedAction.meteringPointsAf.single as TestMeteringPoint; expect(focusPoint.x, equals(focusPointX)); expect(focusPoint.y, equals(focusPointY)); @@ -7023,13 +6909,12 @@ void main() { test( 'setFocusMode starts expected focus and metering action with previously set auto-focus point if setting locked focus mode and current focus and metering action has auto-focus point', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 7; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); - const double focusPointX = 0.88; - const double focusPointY = 0.33; + final camera = AndroidCameraCameraX(); + const cameraId = 7; + final mockCameraControl = MockCameraControl(); + final mockCamera2CameraControl = MockCamera2CameraControl(); + const focusPointX = 0.88; + const focusPointY = 0.33; // Set directly for test versus calling createCamera. camera.cameraInfo = MockCameraInfo(); @@ -7057,7 +6942,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isFalse); @@ -7066,7 +6951,7 @@ void main() { expect(capturedAction.meteringPointsAf.length, equals(1)); expect(capturedAction.meteringPointsAwb.length, equals(0)); - final TestMeteringPoint focusPoint = + final focusPoint = capturedAction.meteringPointsAf.single as TestMeteringPoint; expect(focusPoint.x, equals(focusPointX)); expect(focusPoint.y, equals(focusPointY)); @@ -7077,15 +6962,14 @@ void main() { test( 'setFocusMode starts expected focus and metering action with previously set auto-focus point if setting locked focus mode and current focus and metering action has auto-focus point amongst others', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 8; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); - const double focusPointX = 0.38; - const double focusPointY = 0.38; - const double exposurePointX = 0.54; - const double exposurePointY = 0.45; + final camera = AndroidCameraCameraX(); + const cameraId = 8; + final mockCameraControl = MockCameraControl(); + final mockCamera2CameraControl = MockCamera2CameraControl(); + const focusPointX = 0.38; + const focusPointY = 0.38; + const exposurePointX = 0.54; + const exposurePointY = 0.45; // Set directly for test versus calling createCamera. camera.cameraInfo = MockCameraInfo(); @@ -7117,7 +7001,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isFalse); @@ -7127,13 +7011,13 @@ void main() { expect(capturedAction.meteringPointsAf.length, equals(1)); expect(capturedAction.meteringPointsAwb.length, equals(0)); - final TestMeteringPoint focusPoint = + final focusPoint = capturedAction.meteringPointsAf.single as TestMeteringPoint; expect(focusPoint.x, equals(focusPointX)); expect(focusPoint.y, equals(focusPointY)); expect(focusPoint.size, isNull); - final TestMeteringPoint exposurePoint = + final exposurePoint = capturedAction.meteringPointsAe.single as TestMeteringPoint; expect(exposurePoint.x, equals(exposurePointX)); expect(exposurePoint.y, equals(exposurePointY)); @@ -7144,15 +7028,14 @@ void main() { test( 'setFocusMode starts expected focus and metering action if setting locked focus mode and current focus and metering action does not contain an auto-focus point', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 9; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); - const double exposurePointX = 0.8; - const double exposurePointY = 0.3; - const double defaultFocusPointX = 0.5; - const double defaultFocusPointY = 0.5; + final camera = AndroidCameraCameraX(); + const cameraId = 9; + final mockCameraControl = MockCameraControl(); + final mockCamera2CameraControl = MockCamera2CameraControl(); + const exposurePointX = 0.8; + const exposurePointY = 0.3; + const defaultFocusPointX = 0.5; + const defaultFocusPointY = 0.5; const double defaultFocusPointSize = 1; // Set directly for test versus calling createCamera. @@ -7182,7 +7065,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isFalse); @@ -7192,13 +7075,13 @@ void main() { expect(capturedAction.meteringPointsAf.length, equals(1)); expect(capturedAction.meteringPointsAwb.length, equals(0)); - final TestMeteringPoint focusPoint = + final focusPoint = capturedAction.meteringPointsAf.single as TestMeteringPoint; expect(focusPoint.x, equals(defaultFocusPointX)); expect(focusPoint.y, equals(defaultFocusPointY)); expect(focusPoint.size, equals(defaultFocusPointSize)); - final TestMeteringPoint exposurePoint = + final exposurePoint = capturedAction.meteringPointsAe.single as TestMeteringPoint; expect(exposurePoint.x, equals(exposurePointX)); expect(exposurePoint.y, equals(exposurePointY)); @@ -7209,13 +7092,12 @@ void main() { test( 'setFocusMode starts expected focus and metering action if there is no current focus and metering action', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 10; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); - const double defaultFocusPointX = 0.5; - const double defaultFocusPointY = 0.5; + final camera = AndroidCameraCameraX(); + const cameraId = 10; + final mockCameraControl = MockCameraControl(); + final mockCamera2CameraControl = MockCamera2CameraControl(); + const defaultFocusPointX = 0.5; + const defaultFocusPointY = 0.5; const double defaultFocusPointSize = 1; // Set directly for test versus calling createCamera. @@ -7237,7 +7119,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isFalse); @@ -7246,7 +7128,7 @@ void main() { expect(capturedAction.meteringPointsAf.length, equals(1)); expect(capturedAction.meteringPointsAwb.length, equals(0)); - final TestMeteringPoint focusPoint = + final focusPoint = capturedAction.meteringPointsAf.single as TestMeteringPoint; expect(focusPoint.x, equals(defaultFocusPointX)); expect(focusPoint.y, equals(defaultFocusPointY)); @@ -7257,13 +7139,12 @@ void main() { test( 'setFocusMode re-sets exposure mode if setting locked focus mode while using auto exposure mode', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 11; - final MockCameraControl mockCameraControl = MockCameraControl(); + final camera = AndroidCameraCameraX(); + const cameraId = 11; + final mockCameraControl = MockCameraControl(); final FocusMeteringResult mockFocusMeteringResult = MockFocusMeteringResult(); - final MockCamera2CameraControl mockCamera2CameraControl = - MockCamera2CameraControl(); + final mockCamera2CameraControl = MockCamera2CameraControl(); // Set directly for test versus calling createCamera. camera.cameraInfo = MockCameraInfo(); @@ -7294,7 +7175,7 @@ void main() { final VerificationResult verificationResult = verify( mockCamera2CameraControl.addCaptureRequestOptions(captureAny), ); - final CaptureRequestOptions capturedCaptureRequestOptions = + final capturedCaptureRequestOptions = verificationResult.captured.single as CaptureRequestOptions; expect( await capturedCaptureRequestOptions.getCaptureRequestOption( @@ -7308,12 +7189,11 @@ void main() { test( 'setFocusPoint disables auto-cancel if auto focus mode fails to be set after locked focus mode is set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 22; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockFocusMeteringResult mockFocusMeteringResult = - MockFocusMeteringResult(); - const Point focusPoint = Point(0.21, 0.21); + final camera = AndroidCameraCameraX(); + const cameraId = 22; + final mockCameraControl = MockCameraControl(); + final mockFocusMeteringResult = MockFocusMeteringResult(); + const focusPoint = Point(0.21, 0.21); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -7354,7 +7234,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isFalse); }, @@ -7363,12 +7243,11 @@ void main() { test( 'setExposurePoint disables auto-cancel if auto focus mode fails to be set after locked focus mode is set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 342; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockFocusMeteringResult mockFocusMeteringResult = - MockFocusMeteringResult(); - const Point exposurePoint = Point(0.23, 0.32); + final camera = AndroidCameraCameraX(); + const cameraId = 342; + final mockCameraControl = MockCameraControl(); + final mockFocusMeteringResult = MockFocusMeteringResult(); + const exposurePoint = Point(0.23, 0.32); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -7408,7 +7287,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isFalse); }, @@ -7417,12 +7296,11 @@ void main() { test( 'setFocusPoint enables auto-cancel if locked focus mode fails to be set after auto focus mode is set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 232; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockFocusMeteringResult mockFocusMeteringResult = - MockFocusMeteringResult(); - const Point focusPoint = Point(0.221, 0.211); + final camera = AndroidCameraCameraX(); + const cameraId = 232; + final mockCameraControl = MockCameraControl(); + final mockFocusMeteringResult = MockFocusMeteringResult(); + const focusPoint = Point(0.221, 0.211); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -7451,7 +7329,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isTrue); }, @@ -7460,12 +7338,11 @@ void main() { test( 'setExposurePoint enables auto-cancel if locked focus mode fails to be set after auto focus mode is set', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 323; - final MockCameraControl mockCameraControl = MockCameraControl(); - final MockFocusMeteringResult mockFocusMeteringResult = - MockFocusMeteringResult(); - const Point exposurePoint = Point(0.223, 0.332); + final camera = AndroidCameraCameraX(); + const cameraId = 323; + final mockCameraControl = MockCameraControl(); + final mockFocusMeteringResult = MockFocusMeteringResult(); + const exposurePoint = Point(0.223, 0.332); // Set directly for test versus calling createCamera. camera.cameraControl = mockCameraControl; @@ -7494,7 +7371,7 @@ void main() { final VerificationResult verificationResult = verify( mockCameraControl.startFocusAndMetering(captureAny), ); - final FocusMeteringAction capturedAction = + final capturedAction = verificationResult.captured.single as FocusMeteringAction; expect(capturedAction.isAutoCancelEnabled, isTrue); }, @@ -7503,13 +7380,12 @@ void main() { test( 'onStreamedFrameAvailable binds ImageAnalysis use case when not already bound', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 22; - final MockImageAnalysis mockImageAnalysis = MockImageAnalysis(); - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); + final camera = AndroidCameraCameraX(); + const cameraId = 22; + final mockImageAnalysis = MockImageAnalysis(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); // Set directly for test versus calling createCamera. camera.imageAnalysis = mockImageAnalysis; @@ -7579,13 +7455,12 @@ void main() { 'startVideoCapturing unbinds ImageAnalysis use case when camera device is not at least level 3, no image streaming callback is specified, and preview is not paused', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -7600,7 +7475,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newObserver: ({ @@ -7634,8 +7509,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -7665,7 +7539,7 @@ void main() { }, ); - const int cameraId = 7; + const cameraId = 7; // Mock method calls. when( @@ -7723,13 +7597,12 @@ void main() { 'startVideoCapturing unbinds ImageAnalysis use case when image streaming callback not specified, camera device is level 3, and preview is not paused', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -7744,7 +7617,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newObserver: ({ @@ -7778,8 +7651,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -7809,7 +7681,7 @@ void main() { }, ); - const int cameraId = 77; + const cameraId = 77; // Mock method calls. when( @@ -7867,13 +7739,12 @@ void main() { 'startVideoCapturing unbinds ImageAnalysis use case when image streaming callback is specified, camera device is not at least level 3, and preview is not paused', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -7888,7 +7759,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newObserver: ({ @@ -7922,8 +7793,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -7953,7 +7823,7 @@ void main() { }, ); - const int cameraId = 87; + const cameraId = 87; // Mock method calls. when( @@ -8015,13 +7885,12 @@ void main() { 'startVideoCapturing unbinds ImageCapture use case when image streaming callback is specified, camera device is at least level 3, and preview is not paused', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -8037,7 +7906,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newAnalyzer: ({ @@ -8086,8 +7955,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -8117,7 +7985,7 @@ void main() { }, ); - const int cameraId = 107; + const cameraId = 107; // Mock method calls. when( @@ -8182,13 +8050,12 @@ void main() { 'startVideoCapturing does not unbind ImageCapture or ImageAnalysis use cases when preview is paused', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -8205,7 +8072,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newAnalyzer: ({ @@ -8254,8 +8121,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -8285,7 +8151,7 @@ void main() { }, ); - const int cameraId = 97; + const cameraId = 97; // Mock method calls. when( @@ -8342,13 +8208,12 @@ void main() { 'startVideoCapturing unbinds ImageCapture and ImageAnalysis use cases when running on a legacy hardware device', () async { // Set up mocks and constants. - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - final MockPendingRecording mockPendingRecording = MockPendingRecording(); - final MockRecording mockRecording = MockRecording(); - final MockCamera mockCamera = MockCamera(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera2CameraInfo mockCamera2CameraInfo = - MockCamera2CameraInfo(); + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); @@ -8365,7 +8230,7 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached Observer when camera info updated. - const String outputPath = '/temp/REC123.mp4'; + const outputPath = '/temp/REC123.mp4'; camera.proxy = CameraXProxy( newAnalyzer: ({ @@ -8414,8 +8279,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockSystemServicesManager mockSystemServicesManager = - MockSystemServicesManager(); + final mockSystemServicesManager = MockSystemServicesManager(); when( mockSystemServicesManager.getTempFilePath( camera.videoPrefix, @@ -8445,7 +8309,7 @@ void main() { }, ); - const int cameraId = 44; + const cameraId = 44; // Mock method calls. when( @@ -8508,7 +8372,7 @@ void main() { test( 'prepareForVideoRecording does not make any calls involving starting video recording', () async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); + final camera = AndroidCameraCameraX(); // Set directly for test versus calling createCamera. camera.processCameraProvider = MockProcessCameraProvider(); diff --git a/packages/camera/camera_android_camerax/test/preview_rotation_test.dart b/packages/camera/camera_android_camerax/test/preview_rotation_test.dart index 28177122de5..078dbcf43da 100644 --- a/packages/camera/camera_android_camerax/test/preview_rotation_test.dart +++ b/packages/camera/camera_android_camerax/test/preview_rotation_test.dart @@ -51,10 +51,9 @@ void main() { required MockCameraSelector mockCameraSelector, required int sensorRotationDegrees, }) { - final MockProcessCameraProvider mockProcessCameraProvider = - MockProcessCameraProvider(); - final MockCameraInfo mockCameraInfo = MockCameraInfo(); - final MockCamera mockCamera = MockCamera(); + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera = MockCamera(); // Mock retrieving available test camera. when( @@ -116,7 +115,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockPreview preview = MockPreview(); + final preview = MockPreview(); when( preview.surfaceProducerHandlesCropAndRotation(), ).thenAnswer((_) async => handlesCropAndRotation); @@ -219,8 +218,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockCamera2CameraInfo camera2cameraInfo = - MockCamera2CameraInfo(); + final camera2cameraInfo = MockCamera2CameraInfo(); when( camera2cameraInfo.getCameraCharacteristic(any), ).thenAnswer((_) async => 90); @@ -280,8 +278,7 @@ void main() { // ignore: non_constant_identifier_names PigeonInstanceManager? pigeon_instanceManager, }) { - final MockAspectRatioStrategy mockAspectRatioStrategy = - MockAspectRatioStrategy(); + final mockAspectRatioStrategy = MockAspectRatioStrategy(); when( mockAspectRatioStrategy.getFallbackRule(), ).thenAnswer((_) async => fallbackRule); @@ -323,8 +320,7 @@ void main() { required Future Function() getUiOrientation, required Future Function() getDefaultDisplayRotation, }) { - final MockDeviceOrientationManager deviceOrientationManager = - MockDeviceOrientationManager(); + final deviceOrientationManager = MockDeviceOrientationManager(); when( deviceOrientationManager.getUiOrientation(), ).thenAnswer((_) => getUiOrientation()); @@ -413,7 +409,7 @@ void main() { /// [ 0.0, 0.0, 1.0, 0.0], /// [ 0.0, 0.0, 0.0, 1.0]] void checkXAxisIsMirrored(Matrix4 transformationMatrix) { - final Matrix4 mirrorAcrossXMatrix = Matrix4( + final mirrorAcrossXMatrix = Matrix4( -1.0, 0.0, 0.0, @@ -445,7 +441,7 @@ void main() { /// [ 0.0, 0.0, 1.0, 0.0], /// [ 0.0, 0.0, 0.0, 1.0]] void checkYAxisIsMirrored(Matrix4 transformationMatrix) { - final Matrix4 mirrorAcrossYMatrix = Matrix4( + final mirrorAcrossYMatrix = Matrix4( 1.0, 0.0, 0.0, @@ -473,7 +469,7 @@ void main() { group('when handlesCropAndRotation is true', () { // Test that preview rotation responds to initial default display rotation: group('initial device orientation is landscapeRight,', () { - final MockCameraSelector mockCameraSelector = MockCameraSelector(); + final mockCameraSelector = MockCameraSelector(); late AndroidCameraCameraX camera; late int cameraId; late DeviceOrientation testInitialDeviceOrientation; @@ -728,7 +724,7 @@ void main() { // Test that preview rotation responds to initial device orientation: group('initial default display rotation is 90,', () { - final MockCameraSelector mockCameraSelector = MockCameraSelector(); + final mockCameraSelector = MockCameraSelector(); late AndroidCameraCameraX camera; late int cameraId; late int testInitialDefaultDisplayRotation; @@ -983,14 +979,14 @@ void main() { testWidgets( 'device orientation is portraitDown, then the preview Texture rotates correctly as the default display rotation changes', (WidgetTester tester) async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 11; + final camera = AndroidCameraCameraX(); + const cameraId = 11; const DeviceOrientation testDeviceOrientation = DeviceOrientation.portraitDown; // Create and set up mock CameraSelector, mock ProcessCameraProvider, and media settings for test front camera. // These settings do not matter for this test. - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ // ignore: non_constant_identifier_names BinaryMessenger? pigeon_binaryMessenger, @@ -1007,12 +1003,11 @@ void main() { mockCameraSelector: mockFrontCameraSelector, sensorRotationDegrees: 270, ); - const MediaSettings testMediaSettings = MediaSettings(); + const testMediaSettings = MediaSettings(); // Tell camera that handlesCropAndRotation is true, set camera initial device orientation // to portrait down, set initial default display rotation to 0 degrees clockwise. - final MockDeviceOrientationManager mockDeviceOrientationManager = - MockDeviceOrientationManager(); + final mockDeviceOrientationManager = MockDeviceOrientationManager(); when(mockDeviceOrientationManager.getUiOrientation()).thenAnswer( (_) => Future.value( _serializeDeviceOrientation(testDeviceOrientation), @@ -1044,13 +1039,12 @@ void main() { // Calculated according to: counterClockwiseCurrentDefaultDisplayRotation - cameraPreviewPreAppliedRotation, // where the cameraPreviewPreAppliedRotation is the clockwise rotation applied by the CameraPreview widget // according to the current device orientation (fixed to portraitDown for this test, so it is 180). - final Map expectedRotationPerDefaultDisplayRotation = - { - Surface.rotation0: _180DegreesClockwise, - Surface.rotation90: _90DegreesClockwise, - Surface.rotation180: _0DegreesClockwise, - Surface.rotation270: _270DegreesClockwise, - }; + final expectedRotationPerDefaultDisplayRotation = { + Surface.rotation0: _180DegreesClockwise, + Surface.rotation90: _90DegreesClockwise, + Surface.rotation180: _0DegreesClockwise, + Surface.rotation270: _270DegreesClockwise, + }; // Put camera preview in widget tree. await tester.pumpWidget(camera.buildPreview(cameraId)); @@ -1062,8 +1056,9 @@ void main() { mockDeviceOrientationManager.getDefaultDisplayRotation(), ).thenAnswer((_) => Future.value(currentDefaultDisplayRotation)); - const DeviceOrientationChangedEvent testEvent = - DeviceOrientationChangedEvent(testDeviceOrientation); + const testEvent = DeviceOrientationChangedEvent( + testDeviceOrientation, + ); AndroidCameraCameraX.deviceOrientationChangedStreamController.add( testEvent, ); @@ -1095,13 +1090,13 @@ void main() { testWidgets( 'initial default display rotation is 270 degrees clockwise, then the preview Texture rotates correctly as the device orientation changes', (WidgetTester tester) async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 11; + final camera = AndroidCameraCameraX(); + const cameraId = 11; const int testInitialDefaultDisplayRotation = Surface.rotation270; // Create and set up mock CameraSelector, mock ProcessCameraProvider, and media settings for test front camera. // These settings do not matter for this test. - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ // ignore: non_constant_identifier_names BinaryMessenger? pigeon_binaryMessenger, @@ -1118,7 +1113,7 @@ void main() { mockCameraSelector: mockFrontCameraSelector, sensorRotationDegrees: 270, ); - const MediaSettings testMediaSettings = MediaSettings(); + const testMediaSettings = MediaSettings(); // Tell camera that handlesCropAndRotation is true, set camera initial device orientation // to portrait up, set initial default display rotation to 270 degrees clockwise. @@ -1148,21 +1143,21 @@ void main() { // where the cameraPreviewPreAppliedRotation is the clockwise rotation applied by the CameraPreview widget // according to the current device orientation. counterClockwiseCurrentDefaultDisplayRotation is fixed to 90 for // this test (the counter-clockwise rotation of the clockwise 270 degree default display rotation). - final Map expectedRotationPerDeviceOrientation = - { - DeviceOrientation.portraitUp: _90DegreesClockwise, - DeviceOrientation.landscapeRight: _0DegreesClockwise, - DeviceOrientation.portraitDown: _270DegreesClockwise, - DeviceOrientation.landscapeLeft: _180DegreesClockwise, - }; + final expectedRotationPerDeviceOrientation = { + DeviceOrientation.portraitUp: _90DegreesClockwise, + DeviceOrientation.landscapeRight: _0DegreesClockwise, + DeviceOrientation.portraitDown: _270DegreesClockwise, + DeviceOrientation.landscapeLeft: _180DegreesClockwise, + }; // Put camera preview in widget tree. await tester.pumpWidget(camera.buildPreview(cameraId)); for (final DeviceOrientation currentDeviceOrientation in expectedRotationPerDeviceOrientation.keys) { - final DeviceOrientationChangedEvent testEvent = - DeviceOrientationChangedEvent(currentDeviceOrientation); + final testEvent = DeviceOrientationChangedEvent( + currentDeviceOrientation, + ); AndroidCameraCameraX.deviceOrientationChangedStreamController.add( testEvent, ); @@ -1276,7 +1271,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1337,7 +1332,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1398,7 +1393,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1459,7 +1454,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1564,7 +1559,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1627,7 +1622,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1690,7 +1685,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1755,7 +1750,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -1782,14 +1777,14 @@ void main() { testWidgets( 'device orientation is landscapeRight, sensor orientation degrees is 270, camera is front facing, then the preview Texture rotates correctly as the default display rotation changes', (WidgetTester tester) async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 11; + final camera = AndroidCameraCameraX(); + const cameraId = 11; const DeviceOrientation testDeviceOrientation = DeviceOrientation.landscapeRight; // Create and set up mock front camera CameraSelector, mock ProcessCameraProvider, 270 degree sensor orientation, // media settings for test front camera. - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ // ignore: non_constant_identifier_names BinaryMessenger? pigeon_binaryMessenger, @@ -1806,12 +1801,11 @@ void main() { mockCameraSelector: mockFrontCameraSelector, sensorRotationDegrees: 270, ); - const MediaSettings testMediaSettings = MediaSettings(); + const testMediaSettings = MediaSettings(); // Tell camera that handlesCropAndRotation is true, set camera initial device orientation // to portrait down, set initial default display rotation to 0 degrees clockwise. - final MockDeviceOrientationManager mockDeviceOrientationManager = - MockDeviceOrientationManager(); + final mockDeviceOrientationManager = MockDeviceOrientationManager(); when(mockDeviceOrientationManager.getUiOrientation()).thenAnswer( (_) => Future.value( _serializeDeviceOrientation(testDeviceOrientation), @@ -1842,13 +1836,12 @@ void main() { // Calculated according to: ((270 - counterClockwiseDefaultDisplayRotation * 1 + 360) % 360) - 90. // 90 is used in this calculation for the CameraPreview pre-applied rotation because it is the // rotation that the CameraPreview widget aapplies based on the landscape right device orientation. - final Map expectedRotationPerDefaultDisplayRotation = - { - Surface.rotation0: _180DegreesClockwise, - Surface.rotation90: _270DegreesClockwise, - Surface.rotation180: _0DegreesClockwise, - Surface.rotation270: _90DegreesClockwise, - }; + final expectedRotationPerDefaultDisplayRotation = { + Surface.rotation0: _180DegreesClockwise, + Surface.rotation90: _270DegreesClockwise, + Surface.rotation180: _0DegreesClockwise, + Surface.rotation270: _90DegreesClockwise, + }; // Put camera preview in widget tree. await tester.pumpWidget(camera.buildPreview(cameraId)); @@ -1860,8 +1853,9 @@ void main() { mockDeviceOrientationManager.getDefaultDisplayRotation(), ).thenAnswer((_) async => currentDefaultDisplayRotation); - const DeviceOrientationChangedEvent testEvent = - DeviceOrientationChangedEvent(testDeviceOrientation); + const testEvent = DeviceOrientationChangedEvent( + testDeviceOrientation, + ); AndroidCameraCameraX.deviceOrientationChangedStreamController.add( testEvent, ); @@ -1880,7 +1874,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; // Since the front camera is in landscape mode, we expect the camera @@ -1905,12 +1899,12 @@ void main() { testWidgets( 'default display rotation is 90, sensor orientation degrees is 90, camera is front facing, then the preview Texture rotates correctly as the device orientation rotates', (WidgetTester tester) async { - final AndroidCameraCameraX camera = AndroidCameraCameraX(); - const int cameraId = 3372; + final camera = AndroidCameraCameraX(); + const cameraId = 3372; // Create and set up mock CameraSelector and mock ProcessCameraProvider for test front camera // with sensor orientation degrees 90. - final MockCameraSelector mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ LensFacing? requireLensFacing, CameraInfo? cameraInfoForFilter, @@ -1929,7 +1923,7 @@ void main() { ); // Media settings to create camera; irrelevant for test. - const MediaSettings testMediaSettings = MediaSettings(); + const testMediaSettings = MediaSettings(); // Set up test to use front camera and tell camera that handlesCropAndRotation is false, // set camera initial device orientation to landscape left, set initial default display @@ -1959,21 +1953,21 @@ void main() { // Calculated according to: ((90 - 270 * 1 + 360) % 360) - cameraPreviewPreAppliedRotation. // 270 is used in this calculation for the device orientation because it is the // counter-clockwise degrees of the default display rotation. - final Map expectedRotationPerDeviceOrientation = - { - DeviceOrientation.portraitUp: _180DegreesClockwise, - DeviceOrientation.landscapeRight: _90DegreesClockwise, - DeviceOrientation.portraitDown: _0DegreesClockwise, - DeviceOrientation.landscapeLeft: _270DegreesClockwise, - }; + final expectedRotationPerDeviceOrientation = { + DeviceOrientation.portraitUp: _180DegreesClockwise, + DeviceOrientation.landscapeRight: _90DegreesClockwise, + DeviceOrientation.portraitDown: _0DegreesClockwise, + DeviceOrientation.landscapeLeft: _270DegreesClockwise, + }; // Put camera preview in widget tree. await tester.pumpWidget(camera.buildPreview(cameraId)); for (final DeviceOrientation currentDeviceOrientation in expectedRotationPerDeviceOrientation.keys) { - final DeviceOrientationChangedEvent testEvent = - DeviceOrientationChangedEvent(currentDeviceOrientation); + final testEvent = DeviceOrientationChangedEvent( + currentDeviceOrientation, + ); AndroidCameraCameraX.deviceOrientationChangedStreamController.add( testEvent, ); @@ -1992,7 +1986,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; // When the front camera is in landscape mode, we expect the camera @@ -2211,8 +2205,7 @@ void main() { 'camera is front facing, then the preview Texture is rotated 90 degrees clockwise', (WidgetTester tester) async { // Set up test front camera with sensor orientation degrees 90. - final MockCameraSelector mockFrontCameraSelector = - MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); final MockProcessCameraProvider mockProcessCameraProvider = setUpMockCameraSelectorAndMockProcessCameraProviderForSelectingTestCamera( mockCameraSelector: mockFrontCameraSelector, @@ -2267,7 +2260,7 @@ void main() { // used. expect(rotatedBox.child, isA()); - final Transform transformedPreview = rotatedBox.child! as Transform; + final transformedPreview = rotatedBox.child! as Transform; final Matrix4 transformedPreviewMatrix = transformedPreview.transform; @@ -2290,8 +2283,7 @@ void main() { 'camera is back facing, then the preview Texture is rotated 270 degrees clockwise', (WidgetTester tester) async { // Set up test front camera with sensor orientation degrees 90. - final MockCameraSelector mockBackCameraSelector = - MockCameraSelector(); + final mockBackCameraSelector = MockCameraSelector(); final MockProcessCameraProvider mockProcessCameraProvider = setUpMockCameraSelectorAndMockProcessCameraProviderForSelectingTestCamera( mockCameraSelector: mockBackCameraSelector, diff --git a/packages/camera/camera_avfoundation/example/integration_test/camera_test.dart b/packages/camera/camera_avfoundation/example/integration_test/camera_test.dart index 40d47fe293e..bb48c3a01ca 100644 --- a/packages/camera/camera_avfoundation/example/integration_test/camera_test.dart +++ b/packages/camera/camera_avfoundation/example/integration_test/camera_test.dart @@ -30,15 +30,14 @@ void main() { await testDir.delete(recursive: true); }); - final Map presetExpectedSizes = - { - ResolutionPreset.low: const Size(288, 352), - ResolutionPreset.medium: const Size(480, 640), - ResolutionPreset.high: const Size(720, 1280), - ResolutionPreset.veryHigh: const Size(1080, 1920), - ResolutionPreset.ultraHigh: const Size(2160, 3840), - // Don't bother checking for max here since it could be anything. - }; + final presetExpectedSizes = { + ResolutionPreset.low: const Size(288, 352), + ResolutionPreset.medium: const Size(480, 640), + ResolutionPreset.high: const Size(720, 1280), + ResolutionPreset.veryHigh: const Size(1080, 1920), + ResolutionPreset.ultraHigh: const Size(2160, 3840), + // Don't bother checking for max here since it could be anything. + }; /// Verify that [actual] has dimensions that are at least as large as /// [expectedSize]. Allows for a mismatch in portrait vs landscape. Returns @@ -63,7 +62,7 @@ void main() { final XFile file = await controller.takePicture(); // Load picture - final File fileImage = File(file.path); + final fileImage = File(file.path); final Image image = await decodeImageFromList(fileImage.readAsBytesSync()); // Verify image dimensions are as expected @@ -82,14 +81,11 @@ void main() { if (cameras.isEmpty) { return; } - for (final CameraDescription cameraDescription in cameras) { - bool previousPresetExactlySupported = true; + for (final cameraDescription in cameras) { + var previousPresetExactlySupported = true; for (final MapEntry preset in presetExpectedSizes.entries) { - final CameraController controller = CameraController( - cameraDescription, - preset.key, - ); + final controller = CameraController(cameraDescription, preset.key); await controller.initialize(); final bool presetExactlySupported = await testCaptureImageResolution( controller, @@ -120,10 +116,8 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video metadata - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final Size video = videoController.value.size; @@ -143,14 +137,11 @@ void main() { if (cameras.isEmpty) { return; } - for (final CameraDescription cameraDescription in cameras) { - bool previousPresetExactlySupported = true; + for (final cameraDescription in cameras) { + var previousPresetExactlySupported = true; for (final MapEntry preset in presetExpectedSizes.entries) { - final CameraController controller = CameraController( - cameraDescription, - preset.key, - ); + final controller = CameraController(cameraDescription, preset.key); await controller.initialize(); await controller.prepareForVideoRecording(); final bool presetExactlySupported = await testCaptureVideoResolution( @@ -174,7 +165,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, @@ -184,7 +175,7 @@ void main() { await controller.prepareForVideoRecording(); int startPause; - int timePaused = 0; + var timePaused = 0; await controller.startVideoRecording(); final int recordingStart = DateTime.now().millisecondsSinceEpoch; @@ -210,10 +201,8 @@ void main() { final int recordingTime = DateTime.now().millisecondsSinceEpoch - recordingStart; - final File videoFile = File(file.path); - final VideoPlayerController videoController = VideoPlayerController.file( - videoFile, - ); + final videoFile = File(file.path); + final videoController = VideoPlayerController.file(videoFile); await videoController.initialize(); final int duration = videoController.value.duration.inMilliseconds; await videoController.dispose(); @@ -228,7 +217,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, @@ -250,7 +239,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, @@ -267,7 +256,7 @@ void main() { List cameras, ImageFormatGroup? imageFormatGroup, ) async { - final CameraController controller = CameraController( + final controller = CameraController( cameras.first, ResolutionPreset.low, enableAudio: false, @@ -275,7 +264,7 @@ void main() { ); await controller.initialize(); - final Completer completer = Completer(); + final completer = Completer(); await controller.startImageStream((CameraImageData image) { if (!completer.isCompleted) { @@ -322,7 +311,7 @@ void main() { return; } - final CameraController controller = CameraController( + final controller = CameraController( cameras[0], ResolutionPreset.low, enableAudio: false, @@ -330,7 +319,7 @@ void main() { await controller.initialize(); await controller.prepareForVideoRecording(); - final Completer completer = Completer(); + final completer = Completer(); await controller.startVideoRecording( streamCallback: (CameraImageData image) { if (!completer.isCompleted) { @@ -354,9 +343,9 @@ void main() { if (cameras.isEmpty) { return; } - for (final CameraDescription cameraDescription in cameras) { + for (final cameraDescription in cameras) { for (final ImageFileFormat fileFormat in ImageFileFormat.values) { - final CameraController controller = CameraController( + final controller = CameraController( cameraDescription, ResolutionPreset.low, ); @@ -377,9 +366,9 @@ void main() { return; } - final List lengths = []; - for (final int fps in [10, 30]) { - final CameraController controller = CameraController.withSettings( + final lengths = []; + for (final fps in [10, 30]) { + final controller = CameraController.withSettings( cameras.first, mediaSettings: MediaSettings( resolutionPreset: ResolutionPreset.medium, @@ -395,14 +384,14 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video size - final File videoFile = File(file.path); + final videoFile = File(file.path); lengths.add(await videoFile.length()); await controller.dispose(); } - for (int n = 0; n < lengths.length - 1; n++) { + for (var n = 0; n < lengths.length - 1; n++) { expect( lengths[n], lessThan(lengths[n + 1]), @@ -418,10 +407,10 @@ void main() { return; } - const int kiloBits = 1024; - final List lengths = []; - for (final int videoBitrate in [100 * kiloBits, 1000 * kiloBits]) { - final CameraController controller = CameraController.withSettings( + const kiloBits = 1024; + final lengths = []; + for (final videoBitrate in [100 * kiloBits, 1000 * kiloBits]) { + final controller = CameraController.withSettings( cameras.first, mediaSettings: MediaSettings( resolutionPreset: ResolutionPreset.medium, @@ -437,14 +426,14 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video size - final File videoFile = File(file.path); + final videoFile = File(file.path); lengths.add(await videoFile.length()); await controller.dispose(); } - for (int n = 0; n < lengths.length - 1; n++) { + for (var n = 0; n < lengths.length - 1; n++) { expect( lengths[n], lessThan(lengths[n + 1]), @@ -460,11 +449,11 @@ void main() { return; } - final List lengths = []; + final lengths = []; - const int kiloBits = 1024; - for (final int audioBitrate in [32 * kiloBits, 64 * kiloBits]) { - final CameraController controller = CameraController.withSettings( + const kiloBits = 1024; + for (final audioBitrate in [32 * kiloBits, 64 * kiloBits]) { + final controller = CameraController.withSettings( cameras.first, mediaSettings: MediaSettings( resolutionPreset: ResolutionPreset.low, @@ -483,7 +472,7 @@ void main() { final XFile file = await controller.stopVideoRecording(); // Load video metadata - final File videoFile = File(file.path); + final videoFile = File(file.path); final int length = await videoFile.length(); @@ -492,7 +481,7 @@ void main() { await controller.dispose(); } - for (int n = 0; n < lengths.length - 1; n++) { + for (var n = 0; n < lengths.length - 1; n++) { expect( lengths[n], lessThan(lengths[n + 1]), diff --git a/packages/camera/camera_avfoundation/example/lib/camera_controller.dart b/packages/camera/camera_avfoundation/example/lib/camera_controller.dart index 4fff05829bb..84850b8d928 100644 --- a/packages/camera/camera_avfoundation/example/lib/camera_controller.dart +++ b/packages/camera/camera_avfoundation/example/lib/camera_controller.dart @@ -222,8 +222,7 @@ class CameraController extends ValueNotifier { Future initialize() => _initializeWithDescription(description); Future _initializeWithDescription(CameraDescription description) async { - final Completer initializeCompleter = - Completer(); + final initializeCompleter = Completer(); _deviceOrientationSubscription = CameraPlatform.instance .onDeviceOrientationChanged() diff --git a/packages/camera/camera_avfoundation/example/lib/camera_preview.dart b/packages/camera/camera_avfoundation/example/lib/camera_preview.dart index 22fb2cc4d77..0a768b34063 100644 --- a/packages/camera/camera_avfoundation/example/lib/camera_preview.dart +++ b/packages/camera/camera_avfoundation/example/lib/camera_preview.dart @@ -62,7 +62,7 @@ class CameraPreview extends StatelessWidget { } int _getQuarterTurns() { - final Map turns = { + final turns = { DeviceOrientation.portraitUp: 0, DeviceOrientation.landscapeRight: 1, DeviceOrientation.portraitDown: 2, diff --git a/packages/camera/camera_avfoundation/example/lib/main.dart b/packages/camera/camera_avfoundation/example/lib/main.dart index 4d12a6f367d..0df8ebe185f 100644 --- a/packages/camera/camera_avfoundation/example/lib/main.dart +++ b/packages/camera/camera_avfoundation/example/lib/main.dart @@ -577,7 +577,7 @@ class _CameraExampleHomeState extends State /// Display a row of toggle to select the camera (or a message if no camera is available). Widget _cameraTogglesRowWidget() { - final List toggles = []; + final toggles = []; if (_cameras.isEmpty) { SchedulerBinding.instance.addPostFrameCallback((_) async { @@ -627,7 +627,7 @@ class _CameraExampleHomeState extends State final CameraController cameraController = controller!; - final Point point = Point( + final point = Point( details.localPosition.dx / constraints.maxWidth, details.localPosition.dy / constraints.maxHeight, ); @@ -646,7 +646,7 @@ class _CameraExampleHomeState extends State Future _initializeCameraController( CameraDescription cameraDescription, ) async { - final CameraController cameraController = CameraController( + final cameraController = CameraController( cameraDescription, kIsWeb ? ResolutionPreset.max : ResolutionPreset.medium, enableAudio: enableAudio, @@ -1000,7 +1000,7 @@ class _CameraExampleHomeState extends State return; } - final VideoPlayerController vController = kIsWeb + final vController = kIsWeb ? VideoPlayerController.networkUrl(Uri.parse(videoFile!.path)) : VideoPlayerController.file(File(videoFile!.path)); diff --git a/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart b/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart index 188062f9970..58afb3f18cc 100644 --- a/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart +++ b/packages/camera/camera_avfoundation/lib/src/avfoundation_camera.dart @@ -118,7 +118,7 @@ class AVFoundationCamera extends CameraPlatform { () => HostCameraMessageHandler(cameraId, cameraEventStreamController), ); - final Completer completer = Completer(); + final completer = Completer(); unawaited( onCameraInitialized(cameraId).first.then((CameraInitializedEvent value) { @@ -274,7 +274,7 @@ class AVFoundationCamera extends CameraPlatform { } void _startStreamListener() { - const EventChannel cameraEventChannel = EventChannel( + const cameraEventChannel = EventChannel( 'plugins.flutter.io/camera_avfoundation/imageStream', ); _platformImageStreamSubscription = cameraEventChannel diff --git a/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart b/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart index ec31faf9c27..fa47e376bc7 100644 --- a/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart +++ b/packages/camera/camera_avfoundation/test/avfoundation_camera_test.dart @@ -30,10 +30,10 @@ void main() { group('Creation, Initialization & Disposal Tests', () { test('Should send creation data and receive back a camera id', () async { // Arrange - final MockCameraApi mockApi = MockCameraApi(); + final mockApi = MockCameraApi(); when(mockApi.create(any, any)).thenAnswer((_) async => 1); - final AVFoundationCamera camera = AVFoundationCamera(api: mockApi); - const String cameraName = 'Test'; + final camera = AVFoundationCamera(api: mockApi); + const cameraName = 'Test'; // Act final int cameraId = await camera.createCamera( @@ -50,8 +50,7 @@ void main() { mockApi.create(captureAny, captureAny), ); expect(verification.captured[0], cameraName); - final PlatformMediaSettings? settings = - verification.captured[1] as PlatformMediaSettings?; + final settings = verification.captured[1] as PlatformMediaSettings?; expect(settings, isNotNull); expect(settings?.resolutionPreset, PlatformResolutionPreset.high); expect(cameraId, 1); @@ -61,13 +60,13 @@ void main() { 'Should send creation data and receive back a camera id using createCameraWithSettings', () async { // Arrange - final MockCameraApi mockApi = MockCameraApi(); + final mockApi = MockCameraApi(); when(mockApi.create(any, any)).thenAnswer((_) async => 1); - final AVFoundationCamera camera = AVFoundationCamera(api: mockApi); - const String cameraName = 'Test'; - const int fps = 15; - const int videoBitrate = 200000; - const int audioBitrate = 32000; + final camera = AVFoundationCamera(api: mockApi); + const cameraName = 'Test'; + const fps = 15; + const videoBitrate = 200000; + const audioBitrate = 32000; // Act final int cameraId = await camera.createCameraWithSettings( @@ -90,8 +89,7 @@ void main() { mockApi.create(captureAny, captureAny), ); expect(verification.captured[0], cameraName); - final PlatformMediaSettings? settings = - verification.captured[1] as PlatformMediaSettings?; + final settings = verification.captured[1] as PlatformMediaSettings?; expect(settings, isNotNull); expect(settings?.resolutionPreset, PlatformResolutionPreset.low); expect(settings?.framesPerSecond, fps); @@ -106,17 +104,16 @@ void main() { 'Should throw CameraException when create throws a PlatformException', () { // Arrange - const String exceptionCode = 'TESTING_ERROR_CODE'; - const String exceptionMessage = - 'Mock error message used during testing.'; - final MockCameraApi mockApi = MockCameraApi(); + const exceptionCode = 'TESTING_ERROR_CODE'; + const exceptionMessage = 'Mock error message used during testing.'; + final mockApi = MockCameraApi(); when(mockApi.create(any, any)).thenAnswer((_) async { throw PlatformException( code: exceptionCode, message: exceptionMessage, ); }); - final AVFoundationCamera camera = AVFoundationCamera(api: mockApi); + final camera = AVFoundationCamera(api: mockApi); // Act expect( @@ -145,17 +142,16 @@ void main() { 'Should throw CameraException when initialize throws a PlatformException', () { // Arrange - const String exceptionCode = 'TESTING_ERROR_CODE'; - const String exceptionMessage = - 'Mock error message used during testing.'; - final MockCameraApi mockApi = MockCameraApi(); + const exceptionCode = 'TESTING_ERROR_CODE'; + const exceptionMessage = 'Mock error message used during testing.'; + final mockApi = MockCameraApi(); when(mockApi.initialize(any, any)).thenAnswer((_) async { throw PlatformException( code: exceptionCode, message: exceptionMessage, ); }); - final AVFoundationCamera camera = AVFoundationCamera(api: mockApi); + final camera = AVFoundationCamera(api: mockApi); // Act expect( @@ -179,8 +175,8 @@ void main() { test('Should send initialization data', () async { // Arrange - final MockCameraApi mockApi = MockCameraApi(); - final AVFoundationCamera camera = AVFoundationCamera(api: mockApi); + final mockApi = MockCameraApi(); + final camera = AVFoundationCamera(api: mockApi); final int cameraId = await camera.createCamera( const CameraDescription( name: 'Test', @@ -216,8 +212,8 @@ void main() { test('Should send a disposal call on dispose', () async { // Arrange - final MockCameraApi mockApi = MockCameraApi(); - final AVFoundationCamera camera = AVFoundationCamera(api: mockApi); + final mockApi = MockCameraApi(); + final camera = AVFoundationCamera(api: mockApi); final int cameraId = await camera.createCamera( const CameraDescription( name: 'Test', @@ -255,7 +251,7 @@ void main() { late AVFoundationCamera camera; late int cameraId; setUp(() async { - final MockCameraApi mockApi = MockCameraApi(); + final mockApi = MockCameraApi(); when(mockApi.create(any, any)).thenAnswer((_) async => 1); camera = AVFoundationCamera(api: mockApi); cameraId = await camera.createCamera( @@ -285,12 +281,11 @@ void main() { // Act final Stream eventStream = camera .onCameraInitialized(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); - final PlatformSize previewSize = PlatformSize(width: 3840, height: 2160); + final previewSize = PlatformSize(width: 3840, height: 2160); // Emit test events - final CameraInitializedEvent event = CameraInitializedEvent( + final event = CameraInitializedEvent( cameraId, previewSize.width, previewSize.height, @@ -321,12 +316,11 @@ void main() { final Stream errorStream = camera.onCameraError( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(errorStream); + final streamQueue = StreamQueue(errorStream); // Emit test events - const String errorMessage = 'Error Description'; - final CameraErrorEvent event = CameraErrorEvent(cameraId, errorMessage); + const errorMessage = 'Error Description'; + final event = CameraErrorEvent(cameraId, errorMessage); camera.hostCameraHandlers[cameraId]!.error(errorMessage); camera.hostCameraHandlers[cameraId]!.error(errorMessage); camera.hostCameraHandlers[cameraId]!.error(errorMessage); @@ -344,14 +338,13 @@ void main() { // Act final Stream eventStream = camera .onDeviceOrientationChanged(); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue( + eventStream, + ); // Emit test events - const DeviceOrientationChangedEvent event = DeviceOrientationChangedEvent( - DeviceOrientation.portraitUp, - ); - for (int i = 0; i < 3; i++) { + const event = DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); + for (var i = 0; i < 3; i++) { camera.hostHandler.deviceOrientationChanged( PlatformDeviceOrientation.portraitUp, ); @@ -402,25 +395,24 @@ void main() { test( 'Should fetch CameraDescription instances for available cameras', () async { - final List returnData = - [ - PlatformCameraDescription( - name: 'Test 1', - lensDirection: PlatformCameraLensDirection.front, - lensType: PlatformCameraLensType.ultraWide, - ), - PlatformCameraDescription( - name: 'Test 2', - lensDirection: PlatformCameraLensDirection.back, - lensType: PlatformCameraLensType.telephoto, - ), - ]; + final returnData = [ + PlatformCameraDescription( + name: 'Test 1', + lensDirection: PlatformCameraLensDirection.front, + lensType: PlatformCameraLensType.ultraWide, + ), + PlatformCameraDescription( + name: 'Test 2', + lensDirection: PlatformCameraLensDirection.back, + lensType: PlatformCameraLensType.telephoto, + ), + ]; when(mockApi.getAvailableCameras()).thenAnswer((_) async => returnData); final List cameras = await camera.availableCameras(); expect(cameras.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { + for (var i = 0; i < returnData.length; i++) { expect(cameras[i].name, returnData[i].name); expect( cameras[i].lensDirection, @@ -439,8 +431,8 @@ void main() { test( 'Should throw CameraException when availableCameras throws a PlatformException', () { - const String code = 'TESTING_ERROR_CODE'; - const String message = 'Mock error message used during testing.'; + const code = 'TESTING_ERROR_CODE'; + const message = 'Mock error message used during testing.'; when(mockApi.getAvailableCameras()).thenAnswer( (_) async => throw PlatformException(code: code, message: message), ); @@ -461,7 +453,7 @@ void main() { ); test('Should take a picture and return an XFile instance', () async { - const String stubPath = '/test/path.jpg'; + const stubPath = '/test/path.jpg'; when(mockApi.takePicture()).thenAnswer((_) async => stubPath); final XFile file = await camera.takePicture(cameraId); @@ -496,7 +488,7 @@ void main() { ); test('Should stop a video recording and return the file', () async { - const String stubPath = '/test/path.mp4'; + const stubPath = '/test/path.mp4'; when(mockApi.stopVideoRecording()).thenAnswer((_) async => stubPath); final XFile file = await camera.stopVideoRecording(cameraId); @@ -517,7 +509,7 @@ void main() { }); test('Should set the description while recording', () async { - const CameraDescription camera2Description = CameraDescription( + const camera2Description = CameraDescription( name: 'Test2', lensDirection: CameraLensDirection.front, sensorOrientation: 0, @@ -565,14 +557,13 @@ void main() { }); test('Should set the exposure point to a value', () async { - const Point point = Point(0.4, 0.6); + const point = Point(0.4, 0.6); await camera.setExposurePoint(cameraId, point); final VerificationResult verification = verify( mockApi.setExposurePoint(captureAny), ); - final PlatformPoint? passedPoint = - verification.captured[0] as PlatformPoint?; + final passedPoint = verification.captured[0] as PlatformPoint?; expect(passedPoint?.x, point.x); expect(passedPoint?.y, point.y); }); @@ -583,13 +574,12 @@ void main() { final VerificationResult verification = verify( mockApi.setExposurePoint(captureAny), ); - final PlatformPoint? passedPoint = - verification.captured[0] as PlatformPoint?; + final passedPoint = verification.captured[0] as PlatformPoint?; expect(passedPoint, null); }); test('Should get the min exposure offset', () async { - const double stubMinOffset = 2.0; + const stubMinOffset = 2.0; when( mockApi.getMinExposureOffset(), ).thenAnswer((_) async => stubMinOffset); @@ -602,7 +592,7 @@ void main() { }); test('Should get the max exposure offset', () async { - const double stubMaxOffset = 2.0; + const stubMaxOffset = 2.0; when( mockApi.getMaxExposureOffset(), ).thenAnswer((_) async => stubMaxOffset); @@ -621,7 +611,7 @@ void main() { }); test('Should set the exposure offset', () async { - const double stubOffset = 0.5; + const stubOffset = 0.5; final double actualOffset = await camera.setExposureOffset(cameraId, 0.5); verify(mockApi.setExposureOffset(stubOffset)); @@ -642,14 +632,13 @@ void main() { }); test('Should set the focus point to a value', () async { - const Point point = Point(0.4, 0.6); + const point = Point(0.4, 0.6); await camera.setFocusPoint(cameraId, point); final VerificationResult verification = verify( mockApi.setFocusPoint(captureAny), ); - final PlatformPoint? passedPoint = - verification.captured[0] as PlatformPoint?; + final passedPoint = verification.captured[0] as PlatformPoint?; expect(passedPoint?.x, point.x); expect(passedPoint?.y, point.y); }); @@ -660,8 +649,7 @@ void main() { final VerificationResult verification = verify( mockApi.setFocusPoint(captureAny), ); - final PlatformPoint? passedPoint = - verification.captured[0] as PlatformPoint?; + final passedPoint = verification.captured[0] as PlatformPoint?; expect(passedPoint, null); }); @@ -673,7 +661,7 @@ void main() { }); test('Should get the max zoom level', () async { - const double stubZoomLevel = 10.0; + const stubZoomLevel = 10.0; when(mockApi.getMaxZoomLevel()).thenAnswer((_) async => stubZoomLevel); final double maxZoomLevel = await camera.getMaxZoomLevel(cameraId); @@ -682,7 +670,7 @@ void main() { }); test('Should get the min zoom level', () async { - const double stubZoomLevel = 10.0; + const stubZoomLevel = 10.0; when(mockApi.getMinZoomLevel()).thenAnswer((_) async => stubZoomLevel); final double minZoomLevel = await camera.getMinZoomLevel(cameraId); @@ -691,7 +679,7 @@ void main() { }); test('Should set the zoom level', () async { - const double zoom = 2.0; + const zoom = 2.0; await camera.setZoomLevel(cameraId, zoom); @@ -701,8 +689,8 @@ void main() { test( 'Should throw CameraException when illegal zoom level is supplied', () async { - const String code = 'ZOOM_ERROR'; - const String message = 'Illegal zoom error'; + const code = 'ZOOM_ERROR'; + const message = 'Illegal zoom error'; when(mockApi.setZoomLevel(any)).thenAnswer( (_) async => throw PlatformException(code: code, message: message), ); diff --git a/packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart b/packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart index d48b06023f1..3652de5861d 100644 --- a/packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart +++ b/packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart @@ -20,9 +20,7 @@ const MethodChannel _channel = MethodChannel('plugins.flutter.io/camera'); class MethodChannelCamera extends CameraPlatform { /// Construct a new method channel camera instance. MethodChannelCamera() { - const MethodChannel channel = MethodChannel( - 'flutter.io/cameraPlugin/device', - ); + const channel = MethodChannel('flutter.io/cameraPlugin/device'); channel.setMethodCallHandler( (MethodCall call) => handleDeviceMethodCall(call), ); @@ -127,16 +125,14 @@ class MethodChannelCamera extends CameraPlatform { ImageFormatGroup imageFormatGroup = ImageFormatGroup.unknown, }) { _channels.putIfAbsent(cameraId, () { - final MethodChannel channel = MethodChannel( - 'flutter.io/cameraPlugin/camera$cameraId', - ); + final channel = MethodChannel('flutter.io/cameraPlugin/camera$cameraId'); channel.setMethodCallHandler( (MethodCall call) => handleCameraMethodCall(call, cameraId), ); return channel; }); - final Completer completer = Completer(); + final completer = Completer(); onCameraInitialized(cameraId).first.then((CameraInitializedEvent value) { completer.complete(); @@ -338,7 +334,7 @@ class MethodChannelCamera extends CameraPlatform { } void _startStreamListener() { - const EventChannel cameraEventChannel = EventChannel( + const cameraEventChannel = EventChannel( 'plugins.flutter.io/camera/imageStream', ); _platformImageStreamSubscription = cameraEventChannel diff --git a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart index e252ba9e613..9a9731062fd 100644 --- a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart +++ b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart @@ -36,7 +36,7 @@ void main() { 'Default implementation of availableCameras() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -50,7 +50,7 @@ void main() { 'Default implementation of onCameraInitialized() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -64,7 +64,7 @@ void main() { 'Default implementation of onResolutionChanged() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -78,7 +78,7 @@ void main() { 'Default implementation of onCameraClosing() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -92,7 +92,7 @@ void main() { 'Default implementation of onCameraError() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect(() => cameraPlatform.onCameraError(1), throwsUnimplementedError); @@ -103,7 +103,7 @@ void main() { 'Default implementation of onDeviceOrientationChanged() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -117,7 +117,7 @@ void main() { 'Default implementation of lockCaptureOrientation() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -134,7 +134,7 @@ void main() { 'Default implementation of unlockCaptureOrientation() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -148,7 +148,7 @@ void main() { 'Default implementation of dispose() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect(() => cameraPlatform.dispose(1), throwsUnimplementedError); @@ -159,7 +159,7 @@ void main() { 'Default implementation of createCamera() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -180,13 +180,13 @@ void main() { 'Default implementation of createCameraWithSettings() should call createCamera() passing parameters', () { // Arrange - const CameraDescription cameraDescription = CameraDescription( + const cameraDescription = CameraDescription( name: 'back', lensDirection: CameraLensDirection.back, sensorOrientation: 0, ); - const MediaSettings mediaSettings = MediaSettings( + const mediaSettings = MediaSettings( resolutionPreset: ResolutionPreset.low, fps: 15, videoBitrate: 200000, @@ -194,32 +194,31 @@ void main() { enableAudio: true, ); - bool createCameraCalled = false; - - final OverriddenCameraPlatform cameraPlatform = - OverriddenCameraPlatform(( - CameraDescription cameraDescriptionArg, - ResolutionPreset? resolutionPresetArg, - bool enableAudioArg, - ) { - expect( - cameraDescriptionArg, - cameraDescription, - reason: 'should pass camera description', - ); - expect( - resolutionPresetArg, - mediaSettings.resolutionPreset, - reason: 'should pass resolution preset', - ); - expect( - enableAudioArg, - mediaSettings.enableAudio, - reason: 'should pass enableAudio', - ); - - createCameraCalled = true; - }); + var createCameraCalled = false; + + final cameraPlatform = OverriddenCameraPlatform(( + CameraDescription cameraDescriptionArg, + ResolutionPreset? resolutionPresetArg, + bool enableAudioArg, + ) { + expect( + cameraDescriptionArg, + cameraDescription, + reason: 'should pass camera description', + ); + expect( + resolutionPresetArg, + mediaSettings.resolutionPreset, + reason: 'should pass resolution preset', + ); + expect( + enableAudioArg, + mediaSettings.enableAudio, + reason: 'should pass enableAudio', + ); + + createCameraCalled = true; + }); // Act & Assert cameraPlatform.createCameraWithSettings( @@ -240,7 +239,7 @@ void main() { 'Default implementation of initializeCamera() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -254,7 +253,7 @@ void main() { 'Default implementation of pauseVideoRecording() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -268,7 +267,7 @@ void main() { 'Default implementation of prepareForVideoRecording() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -282,7 +281,7 @@ void main() { 'Default implementation of resumeVideoRecording() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -296,7 +295,7 @@ void main() { 'Default implementation of setFlashMode() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -310,7 +309,7 @@ void main() { 'Default implementation of setExposureMode() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -324,7 +323,7 @@ void main() { 'Default implementation of setExposurePoint() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -338,7 +337,7 @@ void main() { 'Default implementation of getMinExposureOffset() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -352,7 +351,7 @@ void main() { 'Default implementation of getMaxExposureOffset() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -366,7 +365,7 @@ void main() { 'Default implementation of getExposureOffsetStepSize() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -380,7 +379,7 @@ void main() { 'Default implementation of setExposureOffset() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -394,7 +393,7 @@ void main() { 'Default implementation of setFocusMode() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -408,7 +407,7 @@ void main() { 'Default implementation of setFocusPoint() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -422,7 +421,7 @@ void main() { 'Default implementation of startVideoRecording() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -436,7 +435,7 @@ void main() { 'Default implementation of stopVideoRecording() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -450,7 +449,7 @@ void main() { 'Default implementation of takePicture() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect(() => cameraPlatform.takePicture(1), throwsUnimplementedError); @@ -461,7 +460,7 @@ void main() { 'Default implementation of getMaxZoomLevel() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -475,7 +474,7 @@ void main() { 'Default implementation of getMinZoomLevel() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -489,7 +488,7 @@ void main() { 'Default implementation of setZoomLevel() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect( @@ -503,7 +502,7 @@ void main() { 'Default implementation of pausePreview() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect(() => cameraPlatform.pausePreview(1), throwsUnimplementedError); @@ -514,7 +513,7 @@ void main() { 'Default implementation of resumePreview() should throw unimplemented error', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect(() => cameraPlatform.resumePreview(1), throwsUnimplementedError); @@ -525,7 +524,7 @@ void main() { 'Default implementation of supportsImageStreaming() should return false', () { // Arrange - final ExtendsCameraPlatform cameraPlatform = ExtendsCameraPlatform(); + final cameraPlatform = ExtendsCameraPlatform(); // Act & Assert expect(cameraPlatform.supportsImageStreaming(), false); diff --git a/packages/camera/camera_platform_interface/test/events/camera_event_test.dart b/packages/camera/camera_platform_interface/test/events/camera_event_test.dart index a5e45d95f00..58ace30ce4b 100644 --- a/packages/camera/camera_platform_interface/test/events/camera_event_test.dart +++ b/packages/camera/camera_platform_interface/test/events/camera_event_test.dart @@ -10,7 +10,7 @@ void main() { group('CameraInitializedEvent tests', () { test('Constructor should initialize all properties', () { - const CameraInitializedEvent event = CameraInitializedEvent( + const event = CameraInitializedEvent( 1, 1024, 640, @@ -30,16 +30,15 @@ void main() { }); test('fromJson should initialize all properties', () { - final CameraInitializedEvent event = - CameraInitializedEvent.fromJson(const { - 'cameraId': 1, - 'previewWidth': 1024.0, - 'previewHeight': 640.0, - 'exposureMode': 'auto', - 'exposurePointSupported': true, - 'focusMode': 'auto', - 'focusPointSupported': true, - }); + final event = CameraInitializedEvent.fromJson(const { + 'cameraId': 1, + 'previewWidth': 1024.0, + 'previewHeight': 640.0, + 'exposureMode': 'auto', + 'exposurePointSupported': true, + 'focusMode': 'auto', + 'focusPointSupported': true, + }); expect(event.cameraId, 1); expect(event.previewWidth, 1024); @@ -51,7 +50,7 @@ void main() { }); test('toJson should return a map with all fields', () { - const CameraInitializedEvent event = CameraInitializedEvent( + const event = CameraInitializedEvent( 1, 1024, 640, @@ -74,7 +73,7 @@ void main() { }); test('equals should return true if objects are the same', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -83,7 +82,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 1, 1024, 640, @@ -97,7 +96,7 @@ void main() { }); test('equals should return false if cameraId is different', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -106,7 +105,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 2, 1024, 640, @@ -120,7 +119,7 @@ void main() { }); test('equals should return false if previewWidth is different', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -129,7 +128,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 1, 2048, 640, @@ -143,7 +142,7 @@ void main() { }); test('equals should return false if previewHeight is different', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -152,7 +151,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 1, 1024, 980, @@ -166,7 +165,7 @@ void main() { }); test('equals should return false if exposureMode is different', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -175,7 +174,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 1, 1024, 640, @@ -191,7 +190,7 @@ void main() { test( 'equals should return false if exposurePointSupported is different', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -200,7 +199,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 1, 1024, 640, @@ -215,7 +214,7 @@ void main() { ); test('equals should return false if focusMode is different', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -224,7 +223,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 1, 1024, 640, @@ -238,7 +237,7 @@ void main() { }); test('equals should return false if focusPointSupported is different', () { - const CameraInitializedEvent firstEvent = CameraInitializedEvent( + const firstEvent = CameraInitializedEvent( 1, 1024, 640, @@ -247,7 +246,7 @@ void main() { FocusMode.auto, true, ); - const CameraInitializedEvent secondEvent = CameraInitializedEvent( + const secondEvent = CameraInitializedEvent( 1, 1024, 640, @@ -261,7 +260,7 @@ void main() { }); test('hashCode should match hashCode of all properties', () { - const CameraInitializedEvent event = CameraInitializedEvent( + const event = CameraInitializedEvent( 1, 1024, 640, @@ -286,11 +285,7 @@ void main() { group('CameraResolutionChangesEvent tests', () { test('Constructor should initialize all properties', () { - const CameraResolutionChangedEvent event = CameraResolutionChangedEvent( - 1, - 1024, - 640, - ); + const event = CameraResolutionChangedEvent(1, 1024, 640); expect(event.cameraId, 1); expect(event.captureWidth, 1024); @@ -298,12 +293,13 @@ void main() { }); test('fromJson should initialize all properties', () { - final CameraResolutionChangedEvent event = - CameraResolutionChangedEvent.fromJson(const { - 'cameraId': 1, - 'captureWidth': 1024.0, - 'captureHeight': 640.0, - }); + final event = CameraResolutionChangedEvent.fromJson( + const { + 'cameraId': 1, + 'captureWidth': 1024.0, + 'captureHeight': 640.0, + }, + ); expect(event.cameraId, 1); expect(event.captureWidth, 1024); @@ -311,11 +307,7 @@ void main() { }); test('toJson should return a map with all fields', () { - const CameraResolutionChangedEvent event = CameraResolutionChangedEvent( - 1, - 1024, - 640, - ); + const event = CameraResolutionChangedEvent(1, 1024, 640); final Map jsonMap = event.toJson(); @@ -326,47 +318,35 @@ void main() { }); test('equals should return true if objects are the same', () { - const CameraResolutionChangedEvent firstEvent = - CameraResolutionChangedEvent(1, 1024, 640); - const CameraResolutionChangedEvent secondEvent = - CameraResolutionChangedEvent(1, 1024, 640); + const firstEvent = CameraResolutionChangedEvent(1, 1024, 640); + const secondEvent = CameraResolutionChangedEvent(1, 1024, 640); expect(firstEvent == secondEvent, true); }); test('equals should return false if cameraId is different', () { - const CameraResolutionChangedEvent firstEvent = - CameraResolutionChangedEvent(1, 1024, 640); - const CameraResolutionChangedEvent secondEvent = - CameraResolutionChangedEvent(2, 1024, 640); + const firstEvent = CameraResolutionChangedEvent(1, 1024, 640); + const secondEvent = CameraResolutionChangedEvent(2, 1024, 640); expect(firstEvent == secondEvent, false); }); test('equals should return false if captureWidth is different', () { - const CameraResolutionChangedEvent firstEvent = - CameraResolutionChangedEvent(1, 1024, 640); - const CameraResolutionChangedEvent secondEvent = - CameraResolutionChangedEvent(1, 2048, 640); + const firstEvent = CameraResolutionChangedEvent(1, 1024, 640); + const secondEvent = CameraResolutionChangedEvent(1, 2048, 640); expect(firstEvent == secondEvent, false); }); test('equals should return false if captureHeight is different', () { - const CameraResolutionChangedEvent firstEvent = - CameraResolutionChangedEvent(1, 1024, 640); - const CameraResolutionChangedEvent secondEvent = - CameraResolutionChangedEvent(1, 1024, 980); + const firstEvent = CameraResolutionChangedEvent(1, 1024, 640); + const secondEvent = CameraResolutionChangedEvent(1, 1024, 980); expect(firstEvent == secondEvent, false); }); test('hashCode should match hashCode of all properties', () { - const CameraResolutionChangedEvent event = CameraResolutionChangedEvent( - 1, - 1024, - 640, - ); + const event = CameraResolutionChangedEvent(1, 1024, 640); final int expectedHashCode = Object.hash( event.cameraId.hashCode, event.captureWidth, @@ -379,21 +359,21 @@ void main() { group('CameraClosingEvent tests', () { test('Constructor should initialize all properties', () { - const CameraClosingEvent event = CameraClosingEvent(1); + const event = CameraClosingEvent(1); expect(event.cameraId, 1); }); test('fromJson should initialize all properties', () { - final CameraClosingEvent event = CameraClosingEvent.fromJson( - const {'cameraId': 1}, - ); + final event = CameraClosingEvent.fromJson(const { + 'cameraId': 1, + }); expect(event.cameraId, 1); }); test('toJson should return a map with all fields', () { - const CameraClosingEvent event = CameraClosingEvent(1); + const event = CameraClosingEvent(1); final Map jsonMap = event.toJson(); @@ -402,22 +382,22 @@ void main() { }); test('equals should return true if objects are the same', () { - const CameraClosingEvent firstEvent = CameraClosingEvent(1); - const CameraClosingEvent secondEvent = CameraClosingEvent(1); + const firstEvent = CameraClosingEvent(1); + const secondEvent = CameraClosingEvent(1); expect(firstEvent == secondEvent, true); }); test('equals should return false if cameraId is different', () { - const CameraClosingEvent firstEvent = CameraClosingEvent(1); - const CameraClosingEvent secondEvent = CameraClosingEvent(2); + const firstEvent = CameraClosingEvent(1); + const secondEvent = CameraClosingEvent(2); expect(firstEvent == secondEvent, false); }); test('hashCode should match hashCode of all properties', () { - const CameraClosingEvent event = CameraClosingEvent(1); - final int expectedHashCode = event.cameraId.hashCode; + const event = CameraClosingEvent(1); + final expectedHashCode = event.cameraId.hashCode; expect(event.hashCode, expectedHashCode); }); @@ -425,23 +405,24 @@ void main() { group('CameraErrorEvent tests', () { test('Constructor should initialize all properties', () { - const CameraErrorEvent event = CameraErrorEvent(1, 'Error'); + const event = CameraErrorEvent(1, 'Error'); expect(event.cameraId, 1); expect(event.description, 'Error'); }); test('fromJson should initialize all properties', () { - final CameraErrorEvent event = CameraErrorEvent.fromJson( - const {'cameraId': 1, 'description': 'Error'}, - ); + final event = CameraErrorEvent.fromJson(const { + 'cameraId': 1, + 'description': 'Error', + }); expect(event.cameraId, 1); expect(event.description, 'Error'); }); test('toJson should return a map with all fields', () { - const CameraErrorEvent event = CameraErrorEvent(1, 'Error'); + const event = CameraErrorEvent(1, 'Error'); final Map jsonMap = event.toJson(); @@ -451,28 +432,28 @@ void main() { }); test('equals should return true if objects are the same', () { - const CameraErrorEvent firstEvent = CameraErrorEvent(1, 'Error'); - const CameraErrorEvent secondEvent = CameraErrorEvent(1, 'Error'); + const firstEvent = CameraErrorEvent(1, 'Error'); + const secondEvent = CameraErrorEvent(1, 'Error'); expect(firstEvent == secondEvent, true); }); test('equals should return false if cameraId is different', () { - const CameraErrorEvent firstEvent = CameraErrorEvent(1, 'Error'); - const CameraErrorEvent secondEvent = CameraErrorEvent(2, 'Error'); + const firstEvent = CameraErrorEvent(1, 'Error'); + const secondEvent = CameraErrorEvent(2, 'Error'); expect(firstEvent == secondEvent, false); }); test('equals should return false if description is different', () { - const CameraErrorEvent firstEvent = CameraErrorEvent(1, 'Error'); - const CameraErrorEvent secondEvent = CameraErrorEvent(1, 'Ooops'); + const firstEvent = CameraErrorEvent(1, 'Error'); + const secondEvent = CameraErrorEvent(1, 'Ooops'); expect(firstEvent == secondEvent, false); }); test('hashCode should match hashCode of all properties', () { - const CameraErrorEvent event = CameraErrorEvent(1, 'Error'); + const event = CameraErrorEvent(1, 'Error'); final int expectedHashCode = Object.hash( event.cameraId.hashCode, event.description, diff --git a/packages/camera/camera_platform_interface/test/events/device_event_test.dart b/packages/camera/camera_platform_interface/test/events/device_event_test.dart index ffd77a42ffb..794a301f752 100644 --- a/packages/camera/camera_platform_interface/test/events/device_event_test.dart +++ b/packages/camera/camera_platform_interface/test/events/device_event_test.dart @@ -11,26 +11,21 @@ void main() { group('DeviceOrientationChangedEvent tests', () { test('Constructor should initialize all properties', () { - const DeviceOrientationChangedEvent event = DeviceOrientationChangedEvent( - DeviceOrientation.portraitUp, - ); + const event = DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); expect(event.orientation, DeviceOrientation.portraitUp); }); test('fromJson should initialize all properties', () { - final DeviceOrientationChangedEvent event = - DeviceOrientationChangedEvent.fromJson(const { - 'orientation': 'portraitUp', - }); + final event = DeviceOrientationChangedEvent.fromJson( + const {'orientation': 'portraitUp'}, + ); expect(event.orientation, DeviceOrientation.portraitUp); }); test('toJson should return a map with all fields', () { - const DeviceOrientationChangedEvent event = DeviceOrientationChangedEvent( - DeviceOrientation.portraitUp, - ); + const event = DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); final Map jsonMap = event.toJson(); @@ -39,28 +34,30 @@ void main() { }); test('equals should return true if objects are the same', () { - const DeviceOrientationChangedEvent firstEvent = - DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); - const DeviceOrientationChangedEvent secondEvent = - DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); + const firstEvent = DeviceOrientationChangedEvent( + DeviceOrientation.portraitUp, + ); + const secondEvent = DeviceOrientationChangedEvent( + DeviceOrientation.portraitUp, + ); expect(firstEvent == secondEvent, true); }); test('equals should return false if orientation is different', () { - const DeviceOrientationChangedEvent firstEvent = - DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); - const DeviceOrientationChangedEvent secondEvent = - DeviceOrientationChangedEvent(DeviceOrientation.landscapeLeft); + const firstEvent = DeviceOrientationChangedEvent( + DeviceOrientation.portraitUp, + ); + const secondEvent = DeviceOrientationChangedEvent( + DeviceOrientation.landscapeLeft, + ); expect(firstEvent == secondEvent, false); }); test('hashCode should match hashCode of all properties', () { - const DeviceOrientationChangedEvent event = DeviceOrientationChangedEvent( - DeviceOrientation.portraitUp, - ); - final int expectedHashCode = event.orientation.hashCode; + const event = DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); + final expectedHashCode = event.orientation.hashCode; expect(event.hashCode, expectedHashCode); }); diff --git a/packages/camera/camera_platform_interface/test/method_channel/method_channel_camera_test.dart b/packages/camera/camera_platform_interface/test/method_channel/method_channel_camera_test.dart index 78cf02f8069..15d1c34ef55 100644 --- a/packages/camera/camera_platform_interface/test/method_channel/method_channel_camera_test.dart +++ b/packages/camera/camera_platform_interface/test/method_channel/method_channel_camera_test.dart @@ -22,7 +22,7 @@ void main() { group('Creation, Initialization & Disposal Tests', () { test('Should send creation data and receive back a camera id', () async { // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( + final cameraMockChannel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: { 'create': { @@ -31,7 +31,7 @@ void main() { }, }, ); - final MethodChannelCamera camera = MethodChannelCamera(); + final camera = MethodChannelCamera(); // Act final int cameraId = await camera.createCameraWithSettings( @@ -78,7 +78,7 @@ void main() { ), }, ); - final MethodChannelCamera camera = MethodChannelCamera(); + final camera = MethodChannelCamera(); // Act expect( @@ -126,7 +126,7 @@ void main() { ), }, ); - final MethodChannelCamera camera = MethodChannelCamera(); + final camera = MethodChannelCamera(); // Act expect( @@ -174,7 +174,7 @@ void main() { ), }, ); - final MethodChannelCamera camera = MethodChannelCamera(); + final camera = MethodChannelCamera(); // Act expect( @@ -198,7 +198,7 @@ void main() { test('Should send initialization data', () async { // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( + final cameraMockChannel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: { 'create': { @@ -208,7 +208,7 @@ void main() { 'initialize': null, }, ); - final MethodChannelCamera camera = MethodChannelCamera(); + final camera = MethodChannelCamera(); final int cameraId = await camera.createCameraWithSettings( const CameraDescription( name: 'Test', @@ -255,7 +255,7 @@ void main() { test('Should send a disposal call on dispose', () async { // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( + final cameraMockChannel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: { 'create': {'cameraId': 1}, @@ -264,7 +264,7 @@ void main() { }, ); - final MethodChannelCamera camera = MethodChannelCamera(); + final camera = MethodChannelCamera(); final int cameraId = await camera.createCameraWithSettings( const CameraDescription( name: 'Test', @@ -351,11 +351,10 @@ void main() { // Act final Stream eventStream = camera .onCameraInitialized(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); // Emit test events - final CameraInitializedEvent event = CameraInitializedEvent( + final event = CameraInitializedEvent( cameraId, 3840, 2160, @@ -380,14 +379,13 @@ void main() { // Act final Stream resolutionStream = camera .onCameraResolutionChanged(cameraId); - final StreamQueue streamQueue = - StreamQueue(resolutionStream); + final streamQueue = StreamQueue( + resolutionStream, + ); // Emit test events - final CameraResolutionChangedEvent fhdEvent = - CameraResolutionChangedEvent(cameraId, 1920, 1080); - final CameraResolutionChangedEvent uhdEvent = - CameraResolutionChangedEvent(cameraId, 3840, 2160); + final fhdEvent = CameraResolutionChangedEvent(cameraId, 1920, 1080); + final uhdEvent = CameraResolutionChangedEvent(cameraId, 3840, 2160); await camera.handleCameraMethodCall( MethodCall('resolution_changed', fhdEvent.toJson()), cameraId, @@ -420,11 +418,10 @@ void main() { final Stream eventStream = camera.onCameraClosing( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); // Emit test events - final CameraClosingEvent event = CameraClosingEvent(cameraId); + final event = CameraClosingEvent(cameraId); await camera.handleCameraMethodCall( MethodCall('camera_closing', event.toJson()), cameraId, @@ -452,14 +449,10 @@ void main() { final Stream errorStream = camera.onCameraError( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(errorStream); + final streamQueue = StreamQueue(errorStream); // Emit test events - final CameraErrorEvent event = CameraErrorEvent( - cameraId, - 'Error Description', - ); + final event = CameraErrorEvent(cameraId, 'Error Description'); await camera.handleCameraMethodCall( MethodCall('error', event.toJson()), cameraId, @@ -486,12 +479,14 @@ void main() { // Act final Stream eventStream = camera .onDeviceOrientationChanged(); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue( + eventStream, + ); // Emit test events - const DeviceOrientationChangedEvent event = - DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); + const event = DeviceOrientationChangedEvent( + DeviceOrientation.portraitUp, + ); await camera.handleDeviceMethodCall( MethodCall('orientation_changed', event.toJson()), ); @@ -558,7 +553,7 @@ void main() { 'Should fetch CameraDescription instances for available cameras', () async { // Arrange - final List returnData = [ + final returnData = [ { 'name': 'Test 1', 'lensFacing': 'front', @@ -570,7 +565,7 @@ void main() { 'sensorOrientation': 2, }, ]; - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'availableCameras': returnData}, ); @@ -584,11 +579,11 @@ void main() { isMethodCall('availableCameras', arguments: null), ]); expect(cameras.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { + for (var i = 0; i < returnData.length; i++) { final Map typedData = (returnData[i] as Map) .cast(); - final CameraDescription cameraDescription = CameraDescription( + final cameraDescription = CameraDescription( name: typedData['name']! as String, lensDirection: parseCameraLensDirection( typedData['lensFacing']! as String, @@ -636,7 +631,7 @@ void main() { test('Should take a picture and return an XFile instance', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'takePicture': '/test/path.jpg'}, ); @@ -656,7 +651,7 @@ void main() { test('Should prepare for video recording', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'prepareForVideoRecording': null}, ); @@ -672,7 +667,7 @@ void main() { test('Should start recording a video', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'startVideoRecording': null}, ); @@ -695,13 +690,13 @@ void main() { test('Should set description while recording', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setDescriptionWhileRecording': null}, ); // Act - const CameraDescription cameraDescription = CameraDescription( + const cameraDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.back, sensorOrientation: 0, @@ -719,7 +714,7 @@ void main() { test('Should stop a video recording and return the file', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'stopVideoRecording': '/test/path.mp4'}, ); @@ -739,7 +734,7 @@ void main() { test('Should pause a video recording', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'pauseVideoRecording': null}, ); @@ -758,7 +753,7 @@ void main() { test('Should resume a video recording', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'resumeVideoRecording': null}, ); @@ -777,7 +772,7 @@ void main() { test('Should set the flash mode', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setFlashMode': null}, ); @@ -814,7 +809,7 @@ void main() { test('Should set the exposure mode', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setExposureMode': null}, ); @@ -841,7 +836,7 @@ void main() { test('Should set the exposure point', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setExposurePoint': null}, ); @@ -875,7 +870,7 @@ void main() { test('Should get the min exposure offset', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'getMinExposureOffset': 2.0}, ); @@ -897,7 +892,7 @@ void main() { test('Should get the max exposure offset', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'getMaxExposureOffset': 2.0}, ); @@ -919,7 +914,7 @@ void main() { test('Should get the exposure offset step size', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'getExposureOffsetStepSize': 0.25}, ); @@ -941,7 +936,7 @@ void main() { test('Should set the exposure offset', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setExposureOffset': 0.6}, ); @@ -964,7 +959,7 @@ void main() { test('Should set the focus mode', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setFocusMode': null}, ); @@ -991,7 +986,7 @@ void main() { test('Should set the exposure point', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setFocusPoint': null}, ); @@ -1035,7 +1030,7 @@ void main() { test( 'Should throw MissingPluginException when handling unknown method', () { - final MethodChannelCamera camera = MethodChannelCamera(); + final camera = MethodChannelCamera(); expect( () => camera.handleCameraMethodCall( @@ -1049,7 +1044,7 @@ void main() { test('Should get the max zoom level', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'getMaxZoomLevel': 10.0}, ); @@ -1069,7 +1064,7 @@ void main() { test('Should get the min zoom level', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'getMinZoomLevel': 1.0}, ); @@ -1089,7 +1084,7 @@ void main() { test('Should set the zoom level', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setZoomLevel': null}, ); @@ -1138,7 +1133,7 @@ void main() { test('Should lock the capture orientation', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'lockCaptureOrientation': null}, ); @@ -1163,7 +1158,7 @@ void main() { test('Should unlock the capture orientation', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'unlockCaptureOrientation': null}, ); @@ -1182,7 +1177,7 @@ void main() { test('Should pause the camera preview', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'pausePreview': null}, ); @@ -1201,7 +1196,7 @@ void main() { test('Should resume the camera preview', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'resumePreview': null}, ); @@ -1220,7 +1215,7 @@ void main() { test('Should start streaming', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: { 'startImageStream': null, @@ -1243,7 +1238,7 @@ void main() { test('Should stop streaming', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: { 'startImageStream': null, @@ -1266,7 +1261,7 @@ void main() { test('Should set the ImageFileFormat to heif', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setImageFileFormat': 'heif'}, ); @@ -1288,7 +1283,7 @@ void main() { test('Should set the ImageFileFormat to jpeg', () async { // Arrange - final MethodChannelMock channel = MethodChannelMock( + final channel = MethodChannelMock( channelName: 'plugins.flutter.io/camera', methods: {'setImageFileFormat': 'jpeg'}, ); diff --git a/packages/camera/camera_platform_interface/test/types/camera_description_test.dart b/packages/camera/camera_platform_interface/test/types/camera_description_test.dart index 8b5aa448ab8..6bf9ee3f2bc 100644 --- a/packages/camera/camera_platform_interface/test/types/camera_description_test.dart +++ b/packages/camera/camera_platform_interface/test/types/camera_description_test.dart @@ -26,7 +26,7 @@ void main() { group('CameraDescription tests', () { test('Constructor should initialize all properties', () { - const CameraDescription description = CameraDescription( + const description = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 90, @@ -40,13 +40,13 @@ void main() { }); test('equals should return true if objects are the same', () { - const CameraDescription firstDescription = CameraDescription( + const firstDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 90, lensType: CameraLensType.ultraWide, ); - const CameraDescription secondDescription = CameraDescription( + const secondDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 90, @@ -57,13 +57,13 @@ void main() { }); test('equals should return false if name is different', () { - const CameraDescription firstDescription = CameraDescription( + const firstDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 90, lensType: CameraLensType.ultraWide, ); - const CameraDescription secondDescription = CameraDescription( + const secondDescription = CameraDescription( name: 'Testing', lensDirection: CameraLensDirection.front, sensorOrientation: 90, @@ -74,13 +74,13 @@ void main() { }); test('equals should return false if lens direction is different', () { - const CameraDescription firstDescription = CameraDescription( + const firstDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 90, lensType: CameraLensType.ultraWide, ); - const CameraDescription secondDescription = CameraDescription( + const secondDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.back, sensorOrientation: 90, @@ -91,13 +91,13 @@ void main() { }); test('equals should return true if sensor orientation is different', () { - const CameraDescription firstDescription = CameraDescription( + const firstDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 0, lensType: CameraLensType.ultraWide, ); - const CameraDescription secondDescription = CameraDescription( + const secondDescription = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 90, @@ -110,7 +110,7 @@ void main() { test( 'hashCode should match hashCode of all equality-tested properties', () { - const CameraDescription description = CameraDescription( + const description = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 0, @@ -127,7 +127,7 @@ void main() { ); test('toString should return correct string representation', () { - const CameraDescription description = CameraDescription( + const description = CameraDescription( name: 'Test', lensDirection: CameraLensDirection.front, sensorOrientation: 90, diff --git a/packages/camera/camera_platform_interface/test/types/camera_exception_test.dart b/packages/camera/camera_platform_interface/test/types/camera_exception_test.dart index 295fc5d7602..5eea0a8697f 100644 --- a/packages/camera/camera_platform_interface/test/types/camera_exception_test.dart +++ b/packages/camera/camera_platform_interface/test/types/camera_exception_test.dart @@ -7,21 +7,21 @@ import 'package:flutter_test/flutter_test.dart'; void main() { test('constructor should initialize properties', () { - const String code = 'TEST_ERROR'; - const String description = 'This is a test error'; - final CameraException exception = CameraException(code, description); + const code = 'TEST_ERROR'; + const description = 'This is a test error'; + final exception = CameraException(code, description); expect(exception.code, code); expect(exception.description, description); }); test('toString: Should return a description of the exception', () { - const String code = 'TEST_ERROR'; - const String description = 'This is a test error'; - const String expected = 'CameraException($code, $description)'; - final CameraException exception = CameraException(code, description); + const code = 'TEST_ERROR'; + const description = 'This is a test error'; + const expected = 'CameraException($code, $description)'; + final exception = CameraException(code, description); - final String actual = exception.toString(); + final actual = exception.toString(); expect(actual, expected); }); diff --git a/packages/camera/camera_platform_interface/test/types/camera_image_data_test.dart b/packages/camera/camera_platform_interface/test/types/camera_image_data_test.dart index ea60b9b0f1a..b5b1f6610f5 100644 --- a/packages/camera/camera_platform_interface/test/types/camera_image_data_test.dart +++ b/packages/camera/camera_platform_interface/test/types/camera_image_data_test.dart @@ -9,7 +9,7 @@ import 'package:flutter_test/flutter_test.dart'; void main() { test('CameraImageData can be created', () { debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraImageData cameraImage = CameraImageData( + final cameraImage = CameraImageData( format: const CameraImageFormat(ImageFormatGroup.jpeg, raw: 42), height: 100, width: 200, diff --git a/packages/camera/camera_platform_interface/test/types/media_settings_test.dart b/packages/camera/camera_platform_interface/test/types/media_settings_test.dart index 4da938acc84..65f619b1673 100644 --- a/packages/camera/camera_platform_interface/test/types/media_settings_test.dart +++ b/packages/camera/camera_platform_interface/test/types/media_settings_test.dart @@ -11,7 +11,7 @@ void main() { test( 'MediaSettings non-parametrized constructor should have correct initial values', () { - const MediaSettings settingsWithNoParameters = MediaSettings(); + const settingsWithNoParameters = MediaSettings(); expect( settingsWithNoParameters.resolutionPreset, @@ -50,7 +50,7 @@ void main() { ); test('MediaSettings fps should hold parameters', () { - const MediaSettings settings = MediaSettings( + const settings = MediaSettings( resolutionPreset: ResolutionPreset.low, fps: 20, videoBitrate: 128000, @@ -91,7 +91,7 @@ void main() { }); test('MediaSettings hash should be Object.hash of passed parameters', () { - const MediaSettings settings = MediaSettings( + const settings = MediaSettings( resolutionPreset: ResolutionPreset.low, fps: 20, videoBitrate: 128000, @@ -109,10 +109,10 @@ void main() { group('MediaSettings == operator', () { const ResolutionPreset preset1 = ResolutionPreset.low; - const int fps1 = 20; - const int videoBitrate1 = 128000; - const int audioBitrate1 = 32000; - const bool enableAudio1 = true; + const fps1 = 20; + const videoBitrate1 = 128000; + const audioBitrate1 = 32000; + const enableAudio1 = true; const ResolutionPreset preset2 = ResolutionPreset.high; const int fps2 = fps1 + 10; @@ -120,7 +120,7 @@ void main() { const int audioBitrate2 = audioBitrate1 * 2; const bool enableAudio2 = !enableAudio1; - const MediaSettings settings1 = MediaSettings( + const settings1 = MediaSettings( resolutionPreset: ResolutionPreset.low, fps: 20, videoBitrate: 128000, @@ -129,7 +129,7 @@ void main() { ); test('should compare resolutionPreset', () { - const MediaSettings settings2 = MediaSettings( + const settings2 = MediaSettings( resolutionPreset: preset2, fps: fps1, videoBitrate: videoBitrate1, @@ -141,7 +141,7 @@ void main() { }); test('should compare fps', () { - const MediaSettings settings2 = MediaSettings( + const settings2 = MediaSettings( resolutionPreset: preset1, fps: fps2, videoBitrate: videoBitrate1, @@ -153,7 +153,7 @@ void main() { }); test('should compare videoBitrate', () { - const MediaSettings settings2 = MediaSettings( + const settings2 = MediaSettings( resolutionPreset: preset1, fps: fps1, videoBitrate: videoBitrate2, @@ -165,7 +165,7 @@ void main() { }); test('should compare audioBitrate', () { - const MediaSettings settings2 = MediaSettings( + const settings2 = MediaSettings( resolutionPreset: preset1, fps: fps1, videoBitrate: videoBitrate1, @@ -177,7 +177,7 @@ void main() { }); test('should compare enableAudio', () { - const MediaSettings settings2 = MediaSettings( + const settings2 = MediaSettings( resolutionPreset: preset1, fps: fps1, videoBitrate: videoBitrate1, @@ -190,7 +190,7 @@ void main() { }); test('should return true when all parameters are equal', () { - const MediaSettings sameSettings = MediaSettings( + const sameSettings = MediaSettings( resolutionPreset: preset1, fps: fps1, videoBitrate: videoBitrate1, @@ -202,7 +202,7 @@ void main() { }); test('Identical objects should be equal', () { - const MediaSettings settingsIdentical = settings1; + const settingsIdentical = settings1; expect( settings1 == settingsIdentical, diff --git a/packages/camera/camera_web/example/integration_test/camera_bitrate_test.dart b/packages/camera/camera_web/example/integration_test/camera_bitrate_test.dart index c6547ca28bf..371f23d341b 100644 --- a/packages/camera/camera_web/example/integration_test/camera_bitrate_test.dart +++ b/packages/camera/camera_web/example/integration_test/camera_bitrate_test.dart @@ -20,21 +20,21 @@ import 'helpers/helpers.dart'; void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - const Size videoSize = Size(320, 240); + const videoSize = Size(320, 240); /// Draw some seconds of random video frames on canvas in realtime. Future simulateCamera(HTMLCanvasElement canvasElement) async { - const int fps = 15; - const int seconds = 3; + const fps = 15; + const seconds = 3; const int frameDuration = 1000 ~/ fps; - final Random random = Random(0); + final random = Random(0); - for (int n = 0; n < fps * seconds; n++) { + for (var n = 0; n < fps * seconds; n++) { await Future.delayed(const Duration(milliseconds: frameDuration)); final int w = videoSize.width ~/ 20; final int h = videoSize.height ~/ 20; - for (int y = 0; y < videoSize.height; y += h) { - for (int x = 0; x < videoSize.width; x += w) { + for (var y = 0; y < videoSize.height; y += h) { + for (var x = 0; x < videoSize.width; x += w) { final int r = random.nextInt(255); final int g = random.nextInt(255); final int b = random.nextInt(255); @@ -49,36 +49,35 @@ void main() { WidgetTester tester, ) async { //const String supportedVideoType = 'video/webm'; - const String supportedVideoType = 'video/webm;codecs="vp9,opus"'; + const supportedVideoType = 'video/webm;codecs="vp9,opus"'; bool isVideoTypeSupported(String type) => type == supportedVideoType; Future recordVideo(int videoBitrate) async { - final MockWindow mockWindow = MockWindow(); - final MockNavigator mockNavigator = MockNavigator(); - final MockMediaDevices mockMediaDevices = MockMediaDevices(); - - final Window window = createJSInteropWrapper(mockWindow) as Window; - final Navigator navigator = - createJSInteropWrapper(mockNavigator) as Navigator; - final MediaDevices mediaDevices = + final mockWindow = MockWindow(); + final mockNavigator = MockNavigator(); + final mockMediaDevices = MockMediaDevices(); + + final window = createJSInteropWrapper(mockWindow) as Window; + final navigator = createJSInteropWrapper(mockNavigator) as Navigator; + final mediaDevices = createJSInteropWrapper(mockMediaDevices) as MediaDevices; mockWindow.navigator = navigator; mockNavigator.mediaDevices = mediaDevices; - final HTMLCanvasElement canvasElement = HTMLCanvasElement() + final canvasElement = HTMLCanvasElement() ..width = videoSize.width.toInt() ..height = videoSize.height.toInt() ..context2D.clearRect(0, 0, videoSize.width, videoSize.height); - final HTMLVideoElement videoElement = HTMLVideoElement(); + final videoElement = HTMLVideoElement(); - final MockCameraService cameraService = MockCameraService(); + final cameraService = MockCameraService(); CameraPlatform.instance = CameraPlugin(cameraService: cameraService) ..window = window; - final CameraOptions options = CameraOptions( + final options = CameraOptions( audio: const AudioConstraints(), video: VideoConstraints( width: VideoSizeConstraint(ideal: videoSize.width.toInt()), @@ -86,13 +85,13 @@ void main() { ), ); - final int cameraId = videoBitrate; + final cameraId = videoBitrate; when( cameraService.getMediaStreamForOptions(options, cameraId: cameraId), ).thenAnswer((_) async => canvasElement.captureStream()); - final Camera camera = Camera( + final camera = Camera( textureId: cameraId, cameraService: cameraService, options: options, @@ -125,7 +124,7 @@ void main() { return length; } - const int kilobits = 1024; + const kilobits = 1024; const int megabits = kilobits * kilobits; final int lengthSmall = await recordVideo(500 * kilobits); diff --git a/packages/camera/camera_web/example/integration_test/camera_options_test.dart b/packages/camera/camera_web/example/integration_test/camera_options_test.dart index c6e5740f0cb..1c92bb74109 100644 --- a/packages/camera/camera_web/example/integration_test/camera_options_test.dart +++ b/packages/camera/camera_web/example/integration_test/camera_options_test.dart @@ -14,7 +14,7 @@ void main() { group('CameraOptions', () { testWidgets('serializes correctly', (WidgetTester tester) async { - final CameraOptions cameraOptions = CameraOptions( + final cameraOptions = CameraOptions( audio: const AudioConstraints(enabled: true), video: VideoConstraints( facingMode: FacingModeConstraint.exact(CameraType.user), @@ -90,7 +90,7 @@ void main() { group('VideoConstraints', () { testWidgets('serializes correctly', (WidgetTester tester) async { - final VideoConstraints videoConstraints = VideoConstraints( + final videoConstraints = VideoConstraints( facingMode: FacingModeConstraint.exact(CameraType.user), width: const VideoSizeConstraint(ideal: 100, maximum: 100), height: const VideoSizeConstraint(ideal: 50, maximum: 50), diff --git a/packages/camera/camera_web/example/integration_test/camera_service_test.dart b/packages/camera/camera_web/example/integration_test/camera_service_test.dart index 485fcac5508..fd18ec60225 100644 --- a/packages/camera/camera_web/example/integration_test/camera_service_test.dart +++ b/packages/camera/camera_web/example/integration_test/camera_service_test.dart @@ -23,7 +23,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('CameraService', () { - const int cameraId = 1; + const cameraId = 1; late MockWindow mockWindow; late MockNavigator mockNavigator; @@ -70,13 +70,13 @@ void main() { mockMediaDevices .getUserMedia = ([web.MediaStreamConstraints? constraints]) { capturedConstraints = constraints; - final web.MediaStream stream = + final stream = createJSInteropWrapper(FakeMediaStream([])) as web.MediaStream; return Future.value(stream).toJS; }.toJS; - final CameraOptions options = CameraOptions( + final options = CameraOptions( video: VideoConstraints( facingMode: FacingModeConstraint.exact(CameraType.user), width: const VideoSizeConstraint(ideal: 200), diff --git a/packages/camera/camera_web/example/integration_test/camera_test.dart b/packages/camera/camera_web/example/integration_test/camera_test.dart index 69e0e55c8d3..29af6ceddbd 100644 --- a/packages/camera/camera_web/example/integration_test/camera_test.dart +++ b/packages/camera/camera_web/example/integration_test/camera_test.dart @@ -23,7 +23,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('Camera', () { - const int textureId = 1; + const textureId = 1; late MockWindow mockWindow; late MockNavigator mockNavigator; @@ -66,14 +66,14 @@ void main() { group('initialize', () { testWidgets('calls CameraService.getMediaStreamForOptions ' 'with provided options', (WidgetTester tester) async { - final CameraOptions options = CameraOptions( + final options = CameraOptions( video: VideoConstraints( facingMode: FacingModeConstraint.exact(CameraType.user), width: const VideoSizeConstraint(ideal: 200), ), ); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, options: options, cameraService: cameraService, @@ -88,14 +88,12 @@ void main() { testWidgets('creates a video element ' 'with correct properties', (WidgetTester tester) async { - const AudioConstraints audioConstraints = AudioConstraints( - enabled: true, - ); - final VideoConstraints videoConstraints = VideoConstraints( + const audioConstraints = AudioConstraints(enabled: true); + final videoConstraints = VideoConstraints( facingMode: FacingModeConstraint(CameraType.user), ); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, options: CameraOptions( audio: audioConstraints, @@ -127,11 +125,11 @@ void main() { testWidgets('flips the video element horizontally ' 'for a back camera', (WidgetTester tester) async { - final VideoConstraints videoConstraints = VideoConstraints( + final videoConstraints = VideoConstraints( facingMode: FacingModeConstraint(CameraType.environment), ); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, options: CameraOptions(video: videoConstraints), cameraService: cameraService, @@ -144,7 +142,7 @@ void main() { testWidgets('creates a wrapping div element ' 'with correct properties', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -153,7 +151,7 @@ void main() { expect(camera.divElement, isNotNull); expect(camera.divElement.style.objectFit, equals('cover')); - final JSArray? array = + final array = (globalContext['Array']! as JSObject).callMethod( 'from'.toJS, camera.divElement.children, @@ -163,7 +161,7 @@ void main() { }); testWidgets('initializes the camera stream', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -177,9 +175,7 @@ void main() { 'when CameraService.getMediaStreamForOptions throws', ( WidgetTester tester, ) async { - final Exception exception = Exception( - 'A media stream exception occured.', - ); + final exception = Exception('A media stream exception occured.'); when( cameraService.getMediaStreamForOptions( @@ -188,7 +184,7 @@ void main() { ), ).thenThrow(exception); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -201,9 +197,9 @@ void main() { testWidgets('starts playing the video element', ( WidgetTester tester, ) async { - bool startedPlaying = false; + var startedPlaying = false; - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -225,11 +221,11 @@ void main() { testWidgets('initializes the camera stream ' 'from CameraService.getMediaStreamForOptions ' 'if it does not exist', (WidgetTester tester) async { - const CameraOptions options = CameraOptions( + const options = CameraOptions( video: VideoConstraints(width: VideoSizeConstraint(ideal: 100)), ); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, options: options, cameraService: cameraService, @@ -255,7 +251,7 @@ void main() { group('pause', () { testWidgets('pauses the camera stream', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -273,7 +269,7 @@ void main() { group('stop', () { testWidgets('resets the camera stream', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -290,7 +286,7 @@ void main() { group('takePicture', () { testWidgets('returns a captured picture', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -329,7 +325,7 @@ void main() { }); testWidgets('if the flash mode is auto', (WidgetTester tester) async { - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..window = window ..stream = videoStream @@ -338,8 +334,7 @@ void main() { await camera.play(); - final List capturedConstraints = - []; + final capturedConstraints = []; mockVideoTrack.applyConstraints = ([MediaTrackConstraints? constraints]) { if (constraints != null) { @@ -356,7 +351,7 @@ void main() { }); testWidgets('if the flash mode is always', (WidgetTester tester) async { - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..window = window ..stream = videoStream @@ -365,8 +360,7 @@ void main() { await camera.play(); - final List capturedConstraints = - []; + final capturedConstraints = []; mockVideoTrack.applyConstraints = ([MediaTrackConstraints? constraints]) { if (constraints != null) { @@ -389,14 +383,14 @@ void main() { 'based on the first video track settings', ( WidgetTester tester, ) async { - const Size videoSize = Size(1280, 720); + const videoSize = Size(1280, 720); final HTMLVideoElement videoElement = getVideoElementWithBlankStream( videoSize, ); mediaStream = videoElement.captureStream(); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -409,10 +403,10 @@ void main() { testWidgets('returns Size.zero ' 'if the camera is missing video tracks', (WidgetTester tester) async { // Create a video stream with no video tracks. - final HTMLVideoElement videoElement = HTMLVideoElement(); + final videoElement = HTMLVideoElement(); mediaStream = videoElement.captureStream(); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -456,7 +450,7 @@ void main() { return MediaTrackCapabilities(torch: [true.toJS].toJS); }.toJS; - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..window = window ..stream = videoStream; @@ -478,13 +472,12 @@ void main() { return MediaTrackCapabilities(torch: [true.toJS].toJS); }.toJS; - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..window = window ..stream = videoStream; - final List capturedConstraints = - []; + final capturedConstraints = []; mockVideoTrack.applyConstraints = ([MediaTrackConstraints? constraints]) { if (constraints != null) { @@ -509,13 +502,12 @@ void main() { return MediaTrackCapabilities(torch: [true.toJS].toJS); }.toJS; - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..window = window ..stream = videoStream; - final List capturedConstraints = - []; + final capturedConstraints = []; mockVideoTrack.applyConstraints = ([MediaTrackConstraints? constraints]) { if (constraints != null) { @@ -542,7 +534,7 @@ void main() { return MediaTrackCapabilities(torch: [true.toJS].toJS); }.toJS; - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..window = window ..stream = videoStream; @@ -576,7 +568,7 @@ void main() { return MediaTrackCapabilities(torch: [false.toJS].toJS); }.toJS; - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..window = window ..stream = videoStream; @@ -611,7 +603,7 @@ void main() { return MediaTrackCapabilities(torch: [true.toJS].toJS); }.toJS; - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, )..window = window; @@ -642,12 +634,12 @@ void main() { 'from CameraService.getZoomLevelCapabilityForCamera', ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); - final ZoomLevelCapability zoomLevelCapability = ZoomLevelCapability( + final zoomLevelCapability = ZoomLevelCapability( minimum: 50.0, maximum: 100.0, videoTrack: @@ -674,12 +666,12 @@ void main() { 'from CameraService.getZoomLevelCapabilityForCamera', ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); - final ZoomLevelCapability zoomLevelCapability = ZoomLevelCapability( + final zoomLevelCapability = ZoomLevelCapability( minimum: 50.0, maximum: 100.0, videoTrack: @@ -706,23 +698,22 @@ void main() { 'from CameraService.getZoomLevelCapabilityForCamera', ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); - final MockMediaStreamTrack mockVideoTrack = MockMediaStreamTrack(); - final MediaStreamTrack videoTrack = + final mockVideoTrack = MockMediaStreamTrack(); + final videoTrack = createJSInteropWrapper(mockVideoTrack) as MediaStreamTrack; - final ZoomLevelCapability zoomLevelCapability = ZoomLevelCapability( + final zoomLevelCapability = ZoomLevelCapability( minimum: 50.0, maximum: 100.0, videoTrack: videoTrack, ); - final List capturedConstraints = - []; + final capturedConstraints = []; mockVideoTrack.applyConstraints = ([MediaTrackConstraints? constraints]) { if (constraints != null) { @@ -735,7 +726,7 @@ void main() { cameraService.getZoomLevelCapabilityForCamera(camera), ).thenReturn(zoomLevelCapability); - const double zoom = 75.0; + const zoom = 75.0; camera.setZoomLevel(zoom); @@ -748,12 +739,12 @@ void main() { 'when the provided zoom level is below minimum', ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); - final ZoomLevelCapability zoomLevelCapability = ZoomLevelCapability( + final zoomLevelCapability = ZoomLevelCapability( minimum: 50.0, maximum: 100.0, videoTrack: @@ -787,12 +778,12 @@ void main() { 'when the provided zoom level is below minimum', ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); - final ZoomLevelCapability zoomLevelCapability = ZoomLevelCapability( + final zoomLevelCapability = ZoomLevelCapability( minimum: 50.0, maximum: 100.0, videoTrack: @@ -830,16 +821,16 @@ void main() { 'based on the first video track settings', ( WidgetTester tester, ) async { - final MockVideoElement mockVideoElement = MockVideoElement(); - final HTMLVideoElement videoElement = + final mockVideoElement = MockVideoElement(); + final videoElement = createJSInteropWrapper(mockVideoElement) as HTMLVideoElement; - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, )..videoElement = videoElement; - final MockMediaStreamTrack firstVideoTrack = MockMediaStreamTrack(); + final firstVideoTrack = MockMediaStreamTrack(); mockVideoElement.srcObject = createJSInteropWrapper( @@ -866,16 +857,16 @@ void main() { 'if the first video track is missing the facing mode', ( WidgetTester tester, ) async { - final MockVideoElement mockVideoElement = MockVideoElement(); - final HTMLVideoElement videoElement = + final mockVideoElement = MockVideoElement(); + final videoElement = createJSInteropWrapper(mockVideoElement) as HTMLVideoElement; - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, )..videoElement = videoElement; - final MockMediaStreamTrack firstVideoTrack = MockMediaStreamTrack(); + final firstVideoTrack = MockMediaStreamTrack(); videoElement.srcObject = createJSInteropWrapper( @@ -897,10 +888,10 @@ void main() { testWidgets('returns null ' 'if the camera is missing video tracks', (WidgetTester tester) async { // Create a video stream with no video tracks. - final HTMLVideoElement videoElement = HTMLVideoElement(); + final videoElement = HTMLVideoElement(); mediaStream = videoElement.captureStream(); - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -913,7 +904,7 @@ void main() { group('getViewType', () { testWidgets('returns a correct view type', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -928,7 +919,7 @@ void main() { }); group('video recording', () { - const String supportedVideoType = 'video/webm'; + const supportedVideoType = 'video/webm'; late MockMediaRecorder mockMediaRecorder; late MediaRecorder mediaRecorder; @@ -944,10 +935,8 @@ void main() { group('startVideoRecording', () { testWidgets('creates a media recorder ' 'with appropriate options', (WidgetTester tester) async { - final Camera camera = Camera( - textureId: 1, - cameraService: cameraService, - )..isVideoTypeSupported = isVideoTypeSupported; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..isVideoTypeSupported = isVideoTypeSupported; await camera.initialize(); await camera.play(); @@ -964,15 +953,14 @@ void main() { testWidgets('listens to the media recorder data events', ( WidgetTester tester, ) async { - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = isVideoTypeSupported; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = isVideoTypeSupported; await camera.initialize(); await camera.play(); - final List capturedEvents = []; + final capturedEvents = []; mockMediaRecorder.addEventListener = (String type, EventListener? callback, [JSAny? options]) { capturedEvents.add(type); @@ -989,15 +977,14 @@ void main() { testWidgets('listens to the media recorder stop events', ( WidgetTester tester, ) async { - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = isVideoTypeSupported; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = isVideoTypeSupported; await camera.initialize(); await camera.play(); - final List capturedEvents = []; + final capturedEvents = []; mockMediaRecorder.addEventListener = (String type, EventListener? callback, [JSAny? options]) { capturedEvents.add(type); @@ -1009,15 +996,14 @@ void main() { }); testWidgets('starts a video recording', (WidgetTester tester) async { - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = isVideoTypeSupported; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = isVideoTypeSupported; await camera.initialize(); await camera.play(); - final List capturedStarts = []; + final capturedStarts = []; mockMediaRecorder.start = ([int? timeslice]) { capturedStarts.add(timeslice); }.toJS; @@ -1030,10 +1016,8 @@ void main() { group('throws a CameraWebException', () { testWidgets('with notSupported error ' 'when no video types are supported', (WidgetTester tester) async { - final Camera camera = Camera( - textureId: 1, - cameraService: cameraService, - )..isVideoTypeSupported = (String type) => false; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..isVideoTypeSupported = (String type) => false; await camera.initialize(); await camera.play(); @@ -1060,12 +1044,10 @@ void main() { group('pauseVideoRecording', () { testWidgets('pauses a video recording', (WidgetTester tester) async { - final Camera camera = Camera( - textureId: 1, - cameraService: cameraService, - )..mediaRecorder = mediaRecorder; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder; - int pauses = 0; + var pauses = 0; mockMediaRecorder.pause = () { pauses++; }.toJS; @@ -1080,10 +1062,7 @@ void main() { 'if the video recording was not started', ( WidgetTester tester, ) async { - final Camera camera = Camera( - textureId: 1, - cameraService: cameraService, - ); + final camera = Camera(textureId: 1, cameraService: cameraService); expect( camera.pauseVideoRecording, @@ -1106,12 +1085,10 @@ void main() { group('resumeVideoRecording', () { testWidgets('resumes a video recording', (WidgetTester tester) async { - final Camera camera = Camera( - textureId: 1, - cameraService: cameraService, - )..mediaRecorder = mediaRecorder; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder; - int resumes = 0; + var resumes = 0; mockMediaRecorder.resume = () { resumes++; }.toJS; @@ -1126,10 +1103,7 @@ void main() { 'if the video recording was not started', ( WidgetTester tester, ) async { - final Camera camera = Camera( - textureId: 1, - cameraService: cameraService, - ); + final camera = Camera(textureId: 1, cameraService: cameraService); expect( camera.resumeVideoRecording, @@ -1154,10 +1128,9 @@ void main() { testWidgets('stops a video recording and ' 'returns the captured file ' 'based on all video data parts', (WidgetTester tester) async { - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = isVideoTypeSupported; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = isVideoTypeSupported; await camera.initialize(); await camera.play(); @@ -1184,17 +1157,17 @@ void main() { await camera.startVideoRecording(); - int stops = 0; + var stops = 0; mockMediaRecorder.stop = () { stops++; }.toJS; final Future videoFileFuture = camera.stopVideoRecording(); - final Blob capturedVideoPartOne = Blob([].toJS); - final Blob capturedVideoPartTwo = Blob([].toJS); + final capturedVideoPartOne = Blob([].toJS); + final capturedVideoPartTwo = Blob([].toJS); - final List capturedVideoParts = [ + final capturedVideoParts = [ capturedVideoPartOne, capturedVideoPartTwo, ]; @@ -1230,10 +1203,7 @@ void main() { 'if the video recording was not started', ( WidgetTester tester, ) async { - final Camera camera = Camera( - textureId: 1, - cameraService: cameraService, - ); + final camera = Camera(textureId: 1, cameraService: cameraService); expect( camera.stopVideoRecording, @@ -1269,17 +1239,16 @@ void main() { testWidgets('stops listening to the media recorder data events', ( WidgetTester tester, ) async { - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = isVideoTypeSupported; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = isVideoTypeSupported; await camera.initialize(); await camera.play(); await camera.startVideoRecording(); - final List capturedEvents = []; + final capturedEvents = []; mockMediaRecorder.removeEventListener = (String type, EventListener? callback, [JSAny? options]) { capturedEvents.add(type); @@ -1298,17 +1267,16 @@ void main() { testWidgets('stops listening to the media recorder stop events', ( WidgetTester tester, ) async { - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = isVideoTypeSupported; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = isVideoTypeSupported; await camera.initialize(); await camera.play(); await camera.startVideoRecording(); - final List capturedEvents = []; + final capturedEvents = []; mockMediaRecorder.removeEventListener = (String type, EventListener? callback, [JSAny? options]) { capturedEvents.add(type); @@ -1324,16 +1292,13 @@ void main() { testWidgets('stops listening to the media recorder errors', ( WidgetTester tester, ) async { - final StreamController onErrorStreamController = - StreamController(); - final MockEventStreamProvider provider = - MockEventStreamProvider(); + final onErrorStreamController = StreamController(); + final provider = MockEventStreamProvider(); - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = isVideoTypeSupported - ..mediaRecorderOnErrorProvider = provider; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = isVideoTypeSupported + ..mediaRecorderOnErrorProvider = provider; when( provider.forTarget(mediaRecorder), @@ -1357,7 +1322,7 @@ void main() { testWidgets("resets the video element's source", ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -1369,7 +1334,7 @@ void main() { }); testWidgets('closes the onEnded stream', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -1383,7 +1348,7 @@ void main() { testWidgets('closes the onVideoRecordedEvent stream', ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -1397,7 +1362,7 @@ void main() { testWidgets('closes the onVideoRecordingError stream', ( WidgetTester tester, ) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); @@ -1413,16 +1378,15 @@ void main() { group('onVideoRecordedEvent', () { testWidgets('emits a VideoRecordedEvent ' 'when a video recording is created', (WidgetTester tester) async { - const String supportedVideoType = 'video/webm'; + const supportedVideoType = 'video/webm'; - final MockMediaRecorder mockMediaRecorder = MockMediaRecorder(); - final MediaRecorder mediaRecorder = + final mockMediaRecorder = MockMediaRecorder(); + final mediaRecorder = createJSInteropWrapper(mockMediaRecorder) as MediaRecorder; - final Camera camera = - Camera(textureId: 1, cameraService: cameraService) - ..mediaRecorder = mediaRecorder - ..isVideoTypeSupported = (String type) => type == 'video/webm'; + final camera = Camera(textureId: 1, cameraService: cameraService) + ..mediaRecorder = mediaRecorder + ..isVideoTypeSupported = (String type) => type == 'video/webm'; await camera.initialize(); await camera.play(); @@ -1439,8 +1403,9 @@ void main() { } }.toJS; - final StreamQueue streamQueue = - StreamQueue(camera.onVideoRecordedEvent); + final streamQueue = StreamQueue( + camera.onVideoRecordedEvent, + ); await camera.startVideoRecording(); @@ -1490,13 +1455,12 @@ void main() { group('onEnded', () { testWidgets('emits the default video track ' 'when it emits an ended event', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); - final StreamQueue streamQueue = - StreamQueue(camera.onEnded); + final streamQueue = StreamQueue(camera.onEnded); await camera.initialize(); @@ -1514,13 +1478,12 @@ void main() { testWidgets('emits the default video track ' 'when the camera is stopped', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: cameraService, ); - final StreamQueue streamQueue = - StreamQueue(camera.onEnded); + final streamQueue = StreamQueue(camera.onEnded); await camera.initialize(); @@ -1541,15 +1504,13 @@ void main() { testWidgets('emits an ErrorEvent ' 'when the media recorder fails ' 'when recording a video', (WidgetTester tester) async { - final MockMediaRecorder mockMediaRecorder = MockMediaRecorder(); - final MediaRecorder mediaRecorder = + final mockMediaRecorder = MockMediaRecorder(); + final mediaRecorder = createJSInteropWrapper(mockMediaRecorder) as MediaRecorder; - final StreamController errorController = - StreamController(); - final MockEventStreamProvider provider = - MockEventStreamProvider(); + final errorController = StreamController(); + final provider = MockEventStreamProvider(); - final Camera camera = + final camera = Camera(textureId: textureId, cameraService: cameraService) ..mediaRecorder = mediaRecorder ..mediaRecorderOnErrorProvider = provider; @@ -1558,7 +1519,7 @@ void main() { provider.forTarget(mediaRecorder), ).thenAnswer((_) => errorController.stream); - final StreamQueue streamQueue = StreamQueue( + final streamQueue = StreamQueue( camera.onVideoRecordingError, ); @@ -1567,7 +1528,7 @@ void main() { await camera.startVideoRecording(); - final ErrorEvent errorEvent = ErrorEvent('type'); + final errorEvent = ErrorEvent('type'); errorController.add(errorEvent); expect(await streamQueue.next, equals(errorEvent)); diff --git a/packages/camera/camera_web/example/integration_test/camera_web_exception_test.dart b/packages/camera/camera_web/example/integration_test/camera_web_exception_test.dart index 7ae645f164e..8bc9469510b 100644 --- a/packages/camera/camera_web/example/integration_test/camera_web_exception_test.dart +++ b/packages/camera/camera_web/example/integration_test/camera_web_exception_test.dart @@ -12,15 +12,11 @@ void main() { group('CameraWebException', () { testWidgets('sets all properties', (WidgetTester tester) async { - const int cameraId = 1; + const cameraId = 1; const CameraErrorCode code = CameraErrorCode.notFound; - const String description = 'The camera is not found.'; + const description = 'The camera is not found.'; - final CameraWebException exception = CameraWebException( - cameraId, - code, - description, - ); + final exception = CameraWebException(cameraId, code, description); expect(exception.cameraId, equals(cameraId)); expect(exception.code, equals(code)); @@ -30,15 +26,11 @@ void main() { testWidgets('toString includes all properties', ( WidgetTester tester, ) async { - const int cameraId = 2; + const cameraId = 2; const CameraErrorCode code = CameraErrorCode.notReadable; - const String description = 'The camera is not readable.'; + const description = 'The camera is not readable.'; - final CameraWebException exception = CameraWebException( - cameraId, - code, - description, - ); + final exception = CameraWebException(cameraId, code, description); expect( exception.toString(), diff --git a/packages/camera/camera_web/example/integration_test/camera_web_test.dart b/packages/camera/camera_web/example/integration_test/camera_web_test.dart index 78e2f24dc5a..5542bac34ec 100644 --- a/packages/camera/camera_web/example/integration_test/camera_web_test.dart +++ b/packages/camera/camera_web/example/integration_test/camera_web_test.dart @@ -27,7 +27,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('CameraPlugin', () { - const int cameraId = 1; + const cameraId = 1; late MockWindow mockWindow; late MockNavigator mockNavigator; @@ -127,11 +127,11 @@ void main() { testWidgets('releases the camera stream ' 'used to request video permissions', (WidgetTester tester) async { - final MockMediaStreamTrack mockVideoTrack = MockMediaStreamTrack(); - final MediaStreamTrack videoTrack = + final mockVideoTrack = MockMediaStreamTrack(); + final videoTrack = createJSInteropWrapper(mockVideoTrack) as MediaStreamTrack; - bool videoTrackStopped = false; + var videoTrackStopped = false; mockVideoTrack.stop = () { videoTrackStopped = true; }.toJS; @@ -155,7 +155,7 @@ void main() { testWidgets('gets a video stream ' 'for a video input device', (WidgetTester tester) async { - final MediaDeviceInfo videoDevice = + final videoDevice = createJSInteropWrapper( FakeMediaDeviceInfo( '1', @@ -186,7 +186,7 @@ void main() { testWidgets('does not get a video stream ' 'for the video input device ' 'with an empty device id', (WidgetTester tester) async { - final MediaDeviceInfo videoDevice = + final videoDevice = createJSInteropWrapper( FakeMediaDeviceInfo( '', @@ -217,7 +217,7 @@ void main() { testWidgets('gets the facing mode ' 'from the first available video track ' 'of the video input device', (WidgetTester tester) async { - final MediaDeviceInfo videoDevice = + final videoDevice = createJSInteropWrapper( FakeMediaDeviceInfo( '1', @@ -227,7 +227,7 @@ void main() { ) as MediaDeviceInfo; - final MediaStream videoStream = + final videoStream = createJSInteropWrapper( FakeMediaStream([ createJSInteropWrapper(MockMediaStreamTrack()) @@ -265,7 +265,7 @@ void main() { testWidgets('returns appropriate camera descriptions ' 'for multiple video devices ' 'based on video streams', (WidgetTester tester) async { - final MediaDeviceInfo firstVideoDevice = + final firstVideoDevice = createJSInteropWrapper( FakeMediaDeviceInfo( '1', @@ -275,7 +275,7 @@ void main() { ) as MediaDeviceInfo; - final MediaDeviceInfo secondVideoDevice = + final secondVideoDevice = createJSInteropWrapper( FakeMediaDeviceInfo( '4', @@ -286,7 +286,7 @@ void main() { as MediaDeviceInfo; // Create a video stream for the first video device. - final MediaStream firstVideoStream = + final firstVideoStream = createJSInteropWrapper( FakeMediaStream([ createJSInteropWrapper(MockMediaStreamTrack()) @@ -298,7 +298,7 @@ void main() { as MediaStream; // Create a video stream for the second video device. - final MediaStream secondVideoStream = + final secondVideoStream = createJSInteropWrapper( FakeMediaStream([ createJSInteropWrapper(MockMediaStreamTrack()) @@ -401,7 +401,7 @@ void main() { testWidgets('sets camera metadata ' 'for the camera description', (WidgetTester tester) async { - final MediaDeviceInfo videoDevice = + final videoDevice = createJSInteropWrapper( FakeMediaDeviceInfo( '1', @@ -411,7 +411,7 @@ void main() { ) as MediaDeviceInfo; - final MediaStream videoStream = + final videoStream = createJSInteropWrapper( FakeMediaStream([ createJSInteropWrapper(MockMediaStreamTrack()) @@ -462,7 +462,7 @@ void main() { testWidgets('releases the video stream ' 'of a video input device', (WidgetTester tester) async { - final MediaDeviceInfo videoDevice = + final videoDevice = createJSInteropWrapper( FakeMediaDeviceInfo( '1', @@ -472,17 +472,17 @@ void main() { ) as MediaDeviceInfo; - final List tracks = []; - final List stops = List.generate(2, (_) => false); - for (int i = 0; i < stops.length; i++) { - final MockMediaStreamTrack track = MockMediaStreamTrack(); + final tracks = []; + final stops = List.generate(2, (_) => false); + for (var i = 0; i < stops.length; i++) { + final track = MockMediaStreamTrack(); track.stop = () { stops[i] = true; }.toJS; tracks.add(createJSInteropWrapper(track) as MediaStreamTrack); } - final MediaStream videoStream = + final videoStream = createJSInteropWrapper(FakeMediaStream(tracks)) as MediaStream; mockMediaDevices.enumerateDevices = () { @@ -509,7 +509,7 @@ void main() { testWidgets('when MediaDevices.enumerateDevices throws DomException', ( WidgetTester tester, ) async { - final DOMException exception = DOMException('UnknownError'); + final exception = DOMException('UnknownError'); mockMediaDevices.enumerateDevices = () { throw exception; @@ -533,7 +533,7 @@ void main() { testWidgets('when CameraService.getMediaStreamForOptions ' 'throws CameraWebException', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.security, 'description', @@ -557,7 +557,7 @@ void main() { testWidgets('when CameraService.getMediaStreamForOptions ' 'throws PlatformException', (WidgetTester tester) async { - final PlatformException exception = PlatformException( + final exception = PlatformException( code: CameraErrorCode.notSupported.toString(), message: 'message', ); @@ -582,16 +582,16 @@ void main() { group('createCamera', () { group('creates a camera', () { - const Size ultraHighResolutionSize = Size(3840, 2160); - const Size maxResolutionSize = Size(3840, 2160); + const ultraHighResolutionSize = Size(3840, 2160); + const maxResolutionSize = Size(3840, 2160); - const CameraDescription cameraDescription = CameraDescription( + const cameraDescription = CameraDescription( name: 'name', lensDirection: CameraLensDirection.front, sensorOrientation: 0, ); - const CameraMetadata cameraMetadata = CameraMetadata( + const cameraMetadata = CameraMetadata( deviceId: 'deviceId', facingMode: 'user', ); @@ -824,10 +824,8 @@ void main() { when(camera.videoElement).thenReturn(videoElement); - final MockEventStreamProvider errorProvider = - MockEventStreamProvider(); - final MockEventStreamProvider abortProvider = - MockEventStreamProvider(); + final errorProvider = MockEventStreamProvider(); + final abortProvider = MockEventStreamProvider(); (CameraPlatform.instance as CameraPlugin).videoElementOnErrorProvider = errorProvider; @@ -903,7 +901,7 @@ void main() { testWidgets('when camera throws CameraWebException', ( WidgetTester tester, ) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.permissionDenied, 'description', @@ -929,7 +927,7 @@ void main() { testWidgets('when camera throws DomException', ( WidgetTester tester, ) async { - final DOMException exception = DOMException('NotAllowedError'); + final exception = DOMException('NotAllowedError'); when(camera.initialize()).thenAnswer((_) => Future.value()); when(camera.play()).thenThrow(exception); @@ -960,7 +958,7 @@ void main() { testWidgets('requests full-screen mode ' 'on documentElement', (WidgetTester tester) async { - int fullscreenCalls = 0; + var fullscreenCalls = 0; mockDocumentElement.requestFullscreen = ([FullscreenOptions? options]) { fullscreenCalls++; return Future.value().toJS; @@ -982,7 +980,7 @@ void main() { ), ).thenReturn(OrientationType.landscapeSecondary); - final List capturedTypes = []; + final capturedTypes = []; mockScreenOrientation.lock = (OrientationLockType orientation) { capturedTypes.add(orientation); return Future.value().toJS; @@ -1030,7 +1028,7 @@ void main() { testWidgets('when lock throws DomException', ( WidgetTester tester, ) async { - final DOMException exception = DOMException('NotAllowedError'); + final exception = DOMException('NotAllowedError'); mockScreenOrientation.lock = (OrientationLockType orientation) { throw exception; @@ -1065,7 +1063,7 @@ void main() { testWidgets('unlocks the capture orientation', ( WidgetTester tester, ) async { - int unlocks = 0; + var unlocks = 0; mockScreenOrientation.unlock = () { unlocks++; }.toJS; @@ -1099,7 +1097,7 @@ void main() { testWidgets('when unlock throws DomException', ( WidgetTester tester, ) async { - final DOMException exception = DOMException('NotAllowedError'); + final exception = DOMException('NotAllowedError'); mockScreenOrientation.unlock = () { throw exception; @@ -1123,8 +1121,8 @@ void main() { group('takePicture', () { testWidgets('captures a picture', (WidgetTester tester) async { - final MockCamera camera = MockCamera(); - final XFile capturedPicture = XFile('/bogus/test'); + final camera = MockCamera(); + final capturedPicture = XFile('/bogus/test'); when(camera.takePicture()).thenAnswer((_) async => capturedPicture); @@ -1158,8 +1156,8 @@ void main() { testWidgets('when takePicture throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('NotSupportedError'); + final camera = MockCamera(); + final exception = DOMException('NotSupportedError'); when(camera.takePicture()).thenThrow(exception); @@ -1181,8 +1179,8 @@ void main() { testWidgets('when takePicture throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1232,8 +1230,7 @@ void main() { testWidgets('listens to the onVideoRecordingError stream', ( WidgetTester tester, ) async { - final StreamController videoRecordingErrorController = - StreamController(); + final videoRecordingErrorController = StreamController(); when( camera.onVideoRecordingError, @@ -1265,7 +1262,7 @@ void main() { testWidgets('when startVideoRecording throws DomException', ( WidgetTester tester, ) async { - final DOMException exception = DOMException('InvalidStateError'); + final exception = DOMException('InvalidStateError'); when(camera.startVideoRecording()).thenThrow(exception); @@ -1287,7 +1284,7 @@ void main() { testWidgets('when startVideoRecording throws CameraWebException', ( WidgetTester tester, ) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1343,8 +1340,8 @@ void main() { group('stopVideoRecording', () { testWidgets('stops a video recording', (WidgetTester tester) async { - final MockCamera camera = MockCamera(); - final XFile capturedVideo = XFile('/bogus/test'); + final camera = MockCamera(); + final capturedVideo = XFile('/bogus/test'); when( camera.stopVideoRecording(), @@ -1365,10 +1362,9 @@ void main() { testWidgets('stops listening to the onVideoRecordingError stream', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final StreamController videoRecordingErrorController = - StreamController(); - final XFile capturedVideo = XFile('/bogus/test'); + final camera = MockCamera(); + final videoRecordingErrorController = StreamController(); + final capturedVideo = XFile('/bogus/test'); when(camera.startVideoRecording()).thenAnswer((_) async {}); @@ -1409,8 +1405,8 @@ void main() { testWidgets('when stopVideoRecording throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('InvalidStateError'); + final camera = MockCamera(); + final exception = DOMException('InvalidStateError'); when(camera.stopVideoRecording()).thenThrow(exception); @@ -1432,8 +1428,8 @@ void main() { testWidgets('when stopVideoRecording throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1460,7 +1456,7 @@ void main() { group('pauseVideoRecording', () { testWidgets('pauses a video recording', (WidgetTester tester) async { - final MockCamera camera = MockCamera(); + final camera = MockCamera(); when(camera.pauseVideoRecording()).thenAnswer((_) async {}); @@ -1490,8 +1486,8 @@ void main() { testWidgets('when pauseVideoRecording throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('InvalidStateError'); + final camera = MockCamera(); + final exception = DOMException('InvalidStateError'); when(camera.pauseVideoRecording()).thenThrow(exception); @@ -1513,8 +1509,8 @@ void main() { testWidgets('when pauseVideoRecording throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1541,7 +1537,7 @@ void main() { group('resumeVideoRecording', () { testWidgets('resumes a video recording', (WidgetTester tester) async { - final MockCamera camera = MockCamera(); + final camera = MockCamera(); when(camera.resumeVideoRecording()).thenAnswer((_) async {}); @@ -1571,8 +1567,8 @@ void main() { testWidgets('when resumeVideoRecording throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('InvalidStateError'); + final camera = MockCamera(); + final exception = DOMException('InvalidStateError'); when(camera.resumeVideoRecording()).thenThrow(exception); @@ -1594,8 +1590,8 @@ void main() { testWidgets('when resumeVideoRecording throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1624,7 +1620,7 @@ void main() { testWidgets('calls setFlashMode on the camera', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); + final camera = MockCamera(); const FlashMode flashMode = FlashMode.always; // Save the camera in the camera plugin. @@ -1656,8 +1652,8 @@ void main() { testWidgets('when setFlashMode throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('NotSupportedError'); + final camera = MockCamera(); + final exception = DOMException('NotSupportedError'); when(camera.setFlashMode(any)).thenThrow(exception); @@ -1682,8 +1678,8 @@ void main() { testWidgets('when setFlashMode throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1794,8 +1790,8 @@ void main() { testWidgets('calls getMaxZoomLevel on the camera', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - const double maximumZoomLevel = 100.0; + final camera = MockCamera(); + const maximumZoomLevel = 100.0; when(camera.getMaxZoomLevel()).thenReturn(maximumZoomLevel); @@ -1828,8 +1824,8 @@ void main() { testWidgets('when getMaxZoomLevel throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('NotSupportedError'); + final camera = MockCamera(); + final exception = DOMException('NotSupportedError'); when(camera.getMaxZoomLevel()).thenThrow(exception); @@ -1851,8 +1847,8 @@ void main() { testWidgets('when getMaxZoomLevel throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1881,8 +1877,8 @@ void main() { testWidgets('calls getMinZoomLevel on the camera', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - const double minimumZoomLevel = 100.0; + final camera = MockCamera(); + const minimumZoomLevel = 100.0; when(camera.getMinZoomLevel()).thenReturn(minimumZoomLevel); @@ -1915,8 +1911,8 @@ void main() { testWidgets('when getMinZoomLevel throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('NotSupportedError'); + final camera = MockCamera(); + final exception = DOMException('NotSupportedError'); when(camera.getMinZoomLevel()).thenThrow(exception); @@ -1938,8 +1934,8 @@ void main() { testWidgets('when getMinZoomLevel throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -1968,12 +1964,12 @@ void main() { testWidgets('calls setZoomLevel on the camera', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); + final camera = MockCamera(); // Save the camera in the camera plugin. (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; - const double zoom = 100.0; + const zoom = 100.0; await CameraPlatform.instance.setZoomLevel(cameraId, zoom); @@ -1998,8 +1994,8 @@ void main() { testWidgets('when setZoomLevel throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('NotSupportedError'); + final camera = MockCamera(); + final exception = DOMException('NotSupportedError'); when(camera.setZoomLevel(any)).thenThrow(exception); @@ -2021,8 +2017,8 @@ void main() { testWidgets('when setZoomLevel throws PlatformException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final PlatformException exception = PlatformException( + final camera = MockCamera(); + final exception = PlatformException( code: CameraErrorCode.notSupported.toString(), message: 'message', ); @@ -2047,8 +2043,8 @@ void main() { testWidgets('when setZoomLevel throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -2075,7 +2071,7 @@ void main() { group('pausePreview', () { testWidgets('calls pause on the camera', (WidgetTester tester) async { - final MockCamera camera = MockCamera(); + final camera = MockCamera(); // Save the camera in the camera plugin. (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; @@ -2103,8 +2099,8 @@ void main() { testWidgets('when pause throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('NotSupportedError'); + final camera = MockCamera(); + final exception = DOMException('NotSupportedError'); when(camera.pause()).thenThrow(exception); @@ -2127,7 +2123,7 @@ void main() { group('resumePreview', () { testWidgets('calls play on the camera', (WidgetTester tester) async { - final MockCamera camera = MockCamera(); + final camera = MockCamera(); when(camera.play()).thenAnswer((_) async {}); @@ -2157,8 +2153,8 @@ void main() { testWidgets('when play throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('NotSupportedError'); + final camera = MockCamera(); + final exception = DOMException('NotSupportedError'); when(camera.play()).thenThrow(exception); @@ -2180,8 +2176,8 @@ void main() { testWidgets('when play throws CameraWebException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final CameraWebException exception = CameraWebException( + final camera = MockCamera(); + final exception = CameraWebException( cameraId, CameraErrorCode.unknown, 'description', @@ -2208,10 +2204,7 @@ void main() { testWidgets('buildPreview returns an HtmlElementView ' 'with an appropriate view type', (WidgetTester tester) async { - final Camera camera = Camera( - textureId: cameraId, - cameraService: cameraService, - ); + final camera = Camera(textureId: cameraId, cameraService: cameraService); // Save the camera in the camera plugin. (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; @@ -2253,10 +2246,8 @@ void main() { when(camera.videoElement).thenReturn(videoElement); - final MockEventStreamProvider errorProvider = - MockEventStreamProvider(); - final MockEventStreamProvider abortProvider = - MockEventStreamProvider(); + final errorProvider = MockEventStreamProvider(); + final abortProvider = MockEventStreamProvider(); (CameraPlatform.instance as CameraPlugin).videoElementOnErrorProvider = errorProvider; @@ -2280,11 +2271,11 @@ void main() { }); testWidgets('disposes the correct camera', (WidgetTester tester) async { - const int firstCameraId = 0; - const int secondCameraId = 1; + const firstCameraId = 0; + const secondCameraId = 1; - final MockCamera firstCamera = MockCamera(); - final MockCamera secondCamera = MockCamera(); + final firstCamera = MockCamera(); + final secondCamera = MockCamera(); when(firstCamera.dispose()).thenAnswer((_) => Future.value()); when(secondCamera.dispose()).thenAnswer((_) => Future.value()); @@ -2365,8 +2356,8 @@ void main() { testWidgets('when dispose throws DomException', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final DOMException exception = DOMException('InvalidAccessError'); + final camera = MockCamera(); + final exception = DOMException('InvalidAccessError'); when(camera.dispose()).thenThrow(exception); @@ -2389,7 +2380,7 @@ void main() { group('getCamera', () { testWidgets('returns the correct camera', (WidgetTester tester) async { - final Camera camera = Camera( + final camera = Camera( textureId: cameraId, cameraService: cameraService, ); @@ -2445,10 +2436,8 @@ void main() { when(camera.videoElement).thenReturn(videoElement); - final MockEventStreamProvider errorProvider = - MockEventStreamProvider(); - final MockEventStreamProvider abortProvider = - MockEventStreamProvider(); + final errorProvider = MockEventStreamProvider(); + final abortProvider = MockEventStreamProvider(); (CameraPlatform.instance as CameraPlugin).videoElementOnErrorProvider = errorProvider; @@ -2474,7 +2463,7 @@ void main() { testWidgets('onCameraInitialized emits a CameraInitializedEvent ' 'on initializeCamera', (WidgetTester tester) async { // Mock the camera to use a blank video stream of size 1280x720. - const Size videoSize = Size(1280, 720); + const videoSize = Size(1280, 720); videoElement = getVideoElementWithBlankStream(videoSize); @@ -2482,7 +2471,7 @@ void main() { cameraService.getMediaStreamForOptions(any, cameraId: cameraId), ).thenAnswer((_) async => videoElement.captureStream()); - final Camera camera = Camera( + final camera = Camera( textureId: cameraId, cameraService: cameraService, ); @@ -2494,8 +2483,7 @@ void main() { .instance .onCameraInitialized(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); await CameraPlatform.instance.initializeCamera(cameraId); @@ -2534,8 +2522,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraClosing(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); await CameraPlatform.instance.initializeCamera(cameraId); @@ -2563,12 +2550,11 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); await CameraPlatform.instance.initializeCamera(cameraId); - final MediaError error = + final error = createJSInteropWrapper( FakeMediaError( MediaError.MEDIA_ERR_NETWORK, @@ -2603,12 +2589,11 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); await CameraPlatform.instance.initializeCamera(cameraId); - final MediaError error = + final error = createJSInteropWrapper( FakeMediaError(MediaError.MEDIA_ERR_NETWORK), ) @@ -2638,8 +2623,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); await CameraPlatform.instance.initializeCamera(cameraId); @@ -2660,7 +2644,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on takePicture error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -2671,8 +2655,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.takePicture(cameraId), @@ -2694,7 +2677,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on setFlashMode error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -2705,8 +2688,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.setFlashMode( @@ -2731,7 +2713,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on getMaxZoomLevel error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.zoomLevelNotSupported, 'description', @@ -2742,8 +2724,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.getMaxZoomLevel(cameraId), @@ -2765,7 +2746,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on getMinZoomLevel error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.zoomLevelNotSupported, 'description', @@ -2776,8 +2757,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.getMinZoomLevel(cameraId), @@ -2799,7 +2779,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on setZoomLevel error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.zoomLevelNotSupported, 'description', @@ -2810,8 +2790,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.setZoomLevel(cameraId, 100.0), @@ -2833,7 +2812,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on resumePreview error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.unknown, 'description', @@ -2844,8 +2823,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.resumePreview(cameraId), @@ -2867,7 +2845,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on startVideoRecording error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -2882,8 +2860,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.startVideoRecording(cameraId), @@ -2910,13 +2887,12 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); await CameraPlatform.instance.initializeCamera(cameraId); await CameraPlatform.instance.startVideoRecording(cameraId); - final ErrorEvent errorEvent = + final errorEvent = createJSInteropWrapper(FakeErrorEvent('type', 'message')) as ErrorEvent; @@ -2937,7 +2913,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on stopVideoRecording error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -2948,8 +2924,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.stopVideoRecording(cameraId), @@ -2971,7 +2946,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on pauseVideoRecording error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -2982,8 +2957,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.pauseVideoRecording(cameraId), @@ -3005,7 +2979,7 @@ void main() { testWidgets('emits a CameraErrorEvent ' 'on resumeVideoRecording error', (WidgetTester tester) async { - final CameraWebException exception = CameraWebException( + final exception = CameraWebException( cameraId, CameraErrorCode.notStarted, 'description', @@ -3016,8 +2990,7 @@ void main() { final Stream eventStream = CameraPlatform.instance .onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); expect( () async => CameraPlatform.instance.resumeVideoRecording(cameraId), @@ -3041,21 +3014,19 @@ void main() { testWidgets('onVideoRecordedEvent emits a VideoRecordedEvent', ( WidgetTester tester, ) async { - final MockCamera camera = MockCamera(); - final XFile capturedVideo = XFile('/bogus/test'); - final Stream stream = - Stream.value( - VideoRecordedEvent(cameraId, capturedVideo, Duration.zero), - ); + final camera = MockCamera(); + final capturedVideo = XFile('/bogus/test'); + final stream = Stream.value( + VideoRecordedEvent(cameraId, capturedVideo, Duration.zero), + ); when(camera.onVideoRecordedEvent).thenAnswer((_) => stream); // Save the camera in the camera plugin. (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; - final StreamQueue streamQueue = - StreamQueue( - CameraPlatform.instance.onVideoRecordedEvent(cameraId), - ); + final streamQueue = StreamQueue( + CameraPlatform.instance.onVideoRecordedEvent(cameraId), + ); expect( await streamQueue.next, @@ -3064,12 +3035,10 @@ void main() { }); group('onDeviceOrientationChanged', () { - final StreamController eventStreamController = - StreamController(); + final eventStreamController = StreamController(); setUp(() { - final MockEventStreamProvider provider = - MockEventStreamProvider(); + final provider = MockEventStreamProvider(); (CameraPlatform.instance as CameraPlugin) .orientationOnChangeProvider = provider; @@ -3093,8 +3062,9 @@ void main() { final Stream eventStream = CameraPlatform.instance.onDeviceOrientationChanged(); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue( + eventStream, + ); expect( await streamQueue.next, @@ -3125,8 +3095,9 @@ void main() { final Stream eventStream = CameraPlatform.instance.onDeviceOrientationChanged(); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue( + eventStream, + ); // Change the screen orientation to landscapePrimary and // emit an event on the screenOrientation.onChange stream. diff --git a/packages/camera/camera_web/example/integration_test/helpers/mocks.dart b/packages/camera/camera_web/example/integration_test/helpers/mocks.dart index 5bb6d11dfb4..8e191dc9122 100644 --- a/packages/camera/camera_web/example/integration_test/helpers/mocks.dart +++ b/packages/camera/camera_web/example/integration_test/helpers/mocks.dart @@ -245,12 +245,12 @@ class FakeErrorEvent { /// final videoStream = videoElement.captureStream(); /// ``` web.HTMLVideoElement getVideoElementWithBlankStream(Size videoSize) { - final web.HTMLCanvasElement canvasElement = web.HTMLCanvasElement() + final canvasElement = web.HTMLCanvasElement() ..width = videoSize.width.toInt() ..height = videoSize.height.toInt() ..context2D.fillRect(0, 0, videoSize.width, videoSize.height); - final web.HTMLVideoElement videoElement = web.HTMLVideoElement() + final videoElement = web.HTMLVideoElement() ..srcObject = canvasElement.captureStream(); return videoElement; diff --git a/packages/camera/camera_web/example/integration_test/zoom_level_capability_test.dart b/packages/camera/camera_web/example/integration_test/zoom_level_capability_test.dart index 8ee05b05943..dc938d40c3a 100644 --- a/packages/camera/camera_web/example/integration_test/zoom_level_capability_test.dart +++ b/packages/camera/camera_web/example/integration_test/zoom_level_capability_test.dart @@ -17,12 +17,12 @@ void main() { group('ZoomLevelCapability', () { testWidgets('sets all properties', (WidgetTester tester) async { - const double minimum = 100.0; - const double maximum = 400.0; - final MediaStreamTrack videoTrack = + const minimum = 100.0; + const maximum = 400.0; + final videoTrack = createJSInteropWrapper(MockMediaStreamTrack()) as MediaStreamTrack; - final ZoomLevelCapability capability = ZoomLevelCapability( + final capability = ZoomLevelCapability( minimum: minimum, maximum: maximum, videoTrack: videoTrack, @@ -34,7 +34,7 @@ void main() { }); testWidgets('supports value equality', (WidgetTester tester) async { - final MediaStreamTrack videoTrack = + final videoTrack = createJSInteropWrapper(MockMediaStreamTrack()) as MediaStreamTrack; expect( diff --git a/packages/camera/camera_web/lib/src/camera.dart b/packages/camera/camera_web/lib/src/camera.dart index bbfe18b491f..dd773d380c7 100644 --- a/packages/camera/camera_web/lib/src/camera.dart +++ b/packages/camera/camera_web/lib/src/camera.dart @@ -255,10 +255,10 @@ class Camera { final int videoWidth = videoElement.videoWidth; final int videoHeight = videoElement.videoHeight; - final web.HTMLCanvasElement canvas = web.HTMLCanvasElement() + final canvas = web.HTMLCanvasElement() ..width = videoWidth ..height = videoHeight; - final bool isBackCamera = getLensDirection() == CameraLensDirection.back; + final isBackCamera = getLensDirection() == CameraLensDirection.back; // Flip the picture horizontally if it is not taken from a back camera. if (!isBackCamera) { @@ -275,7 +275,7 @@ class Camera { videoHeight.toDouble(), ); - final Completer blobCompleter = Completer(); + final blobCompleter = Completer(); canvas.toBlob( (web.Blob blob) { blobCompleter.complete(blob); @@ -456,9 +456,7 @@ class Camera { /// Throws a [CameraWebException] if the browser does not support any of the /// available video mime types from [_videoMimeType]. Future startVideoRecording() async { - final web.MediaRecorderOptions options = web.MediaRecorderOptions( - mimeType: _videoMimeType, - ); + final options = web.MediaRecorderOptions(mimeType: _videoMimeType); if (recorderOptions.audioBitrate != null) { options.audioBitsPerSecond = recorderOptions.audioBitrate!; } @@ -492,7 +490,7 @@ class Camera { _onVideoRecordingErrorSubscription = mediaRecorderOnErrorProvider .forTarget(mediaRecorder) .listen((web.Event event) { - final web.ErrorEvent error = event as web.ErrorEvent; + final error = event as web.ErrorEvent; videoRecordingErrorController.add(error); }); @@ -511,7 +509,7 @@ class Camera { final web.Blob videoBlob = blobBuilder(_videoData, videoType); // Create a file containing the video blob. - final XFile file = XFile( + final file = XFile( web.URL.createObjectURL(videoBlob), mimeType: _videoMimeType, name: videoBlob.hashCode.toString(), @@ -605,7 +603,7 @@ class Camera { /// Throws a [CameraWebException] if the browser does not support /// any of the available video mime types. String get _videoMimeType { - const List types = [ + const types = [ 'video/webm;codecs="vp9,opus"', 'video/mp4', 'video/webm', @@ -630,7 +628,7 @@ class Camera { /// Applies default styles to the video [element]. void _applyDefaultVideoStyles(web.HTMLVideoElement element) { - final bool isBackCamera = getLensDirection() == CameraLensDirection.back; + final isBackCamera = getLensDirection() == CameraLensDirection.back; // Flip the video horizontally if it is not taken from a back camera. if (!isBackCamera) { diff --git a/packages/camera/camera_web/lib/src/camera_web.dart b/packages/camera/camera_web/lib/src/camera_web.dart index 2210a4ecba2..90033681d28 100644 --- a/packages/camera/camera_web/lib/src/camera_web.dart +++ b/packages/camera/camera_web/lib/src/camera_web.dart @@ -99,7 +99,7 @@ class CameraPlugin extends CameraPlatform { Future> availableCameras() async { try { final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - final List cameras = []; + final cameras = []; // Request video permissions only. final web.MediaStream cameraStream = await _cameraService @@ -125,7 +125,7 @@ class CameraPlugin extends CameraPlatform { .where((web.MediaDeviceInfo device) => device.deviceId.isNotEmpty); // Map video input devices to camera descriptions. - for (final web.MediaDeviceInfo videoInputDevice in videoInputDevices) { + for (final videoInputDevice in videoInputDevices) { // Get the video stream for the current video input device // to later use for the available video tracks. final web.MediaStream videoStream = await _getVideoStreamForDevice( @@ -160,13 +160,13 @@ class CameraPlugin extends CameraPlatform { // https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/label // // Sensor orientation is currently not supported. - final CameraDescription camera = CameraDescription( + final camera = CameraDescription( name: videoInputDevice.label, lensDirection: lensDirection, sensorOrientation: 0, ); - final CameraMetadata cameraMetadata = CameraMetadata( + final cameraMetadata = CameraMetadata( deviceId: videoInputDevice.deviceId, facingMode: facingMode, ); @@ -176,7 +176,7 @@ class CameraPlugin extends CameraPlatform { camerasMetadata[camera] = cameraMetadata; // Release the camera stream of the current video input device. - for (final web.MediaStreamTrack videoTrack in videoTracks) { + for (final videoTrack in videoTracks) { videoTrack.stop(); } } else { @@ -236,7 +236,7 @@ class CameraPlugin extends CameraPlatform { // Create a camera with the given audio and video constraints. // Sensor orientation is currently not supported. - final Camera camera = Camera( + final camera = Camera( textureId: textureId, cameraService: _cameraService, options: CameraOptions( @@ -381,7 +381,7 @@ class CameraPlugin extends CameraPlatform { // Create an initial orientation event that emits the device orientation // as soon as subscribed to this stream. - final web.Event initialOrientationEvent = web.Event('change'); + final initialOrientationEvent = web.Event('change'); return orientationOnChangeProvider .forTarget(orientation) @@ -677,7 +677,7 @@ class CameraPlugin extends CameraPlatform { /// Returns a media video stream for the device with the given [deviceId]. Future _getVideoStreamForDevice(String deviceId) { // Create camera options with the desired device id. - final CameraOptions cameraOptions = CameraOptions( + final cameraOptions = CameraOptions( video: VideoConstraints(deviceId: deviceId), ); diff --git a/packages/camera/camera_web/lib/src/types/camera_options.dart b/packages/camera/camera_web/lib/src/types/camera_options.dart index 49572724b0a..a2c170fd372 100644 --- a/packages/camera/camera_web/lib/src/types/camera_options.dart +++ b/packages/camera/camera_web/lib/src/types/camera_options.dart @@ -238,7 +238,7 @@ class VideoSizeConstraint { // TODO(dit): package:web has a class for this. Use it instead of toJson. /// Converts the current instance to a Map. Object toJson() { - final Map json = {}; + final json = {}; if (ideal != null) { json['ideal'] = ideal; diff --git a/packages/camera/camera_windows/example/integration_test/camera_test.dart b/packages/camera/camera_windows/example/integration_test/camera_test.dart index 03b791503c5..f26b7c67f5f 100644 --- a/packages/camera/camera_windows/example/integration_test/camera_test.dart +++ b/packages/camera/camera_windows/example/integration_test/camera_test.dart @@ -104,8 +104,9 @@ void main() { .instance .onDeviceOrientationChanged(); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue( + eventStream, + ); expect( await streamQueue.next, diff --git a/packages/camera/camera_windows/example/lib/main.dart b/packages/camera/camera_windows/example/lib/main.dart index 3957fe27c0b..215ecb98130 100644 --- a/packages/camera/camera_windows/example/lib/main.dart +++ b/packages/camera/camera_windows/example/lib/main.dart @@ -60,9 +60,9 @@ class _MyAppState extends State { /// Fetches list of available cameras from camera_windows plugin. Future _fetchCameras() async { String cameraInfo; - List cameras = []; + var cameras = []; - int cameraIndex = 0; + var cameraIndex = 0; try { cameras = await CameraPlatform.instance.availableCameras(); if (cameras.isEmpty) { @@ -92,7 +92,7 @@ class _MyAppState extends State { return; } - int cameraId = -1; + var cameraId = -1; try { final int cameraIndex = _cameraIndex % _cameras.length; final CameraDescription camera = _cameras[cameraIndex]; diff --git a/packages/camera/camera_windows/test/camera_windows_test.dart b/packages/camera/camera_windows/test/camera_windows_test.dart index a3b0e0e98ab..dcd35d3d3fa 100644 --- a/packages/camera/camera_windows/test/camera_windows_test.dart +++ b/packages/camera/camera_windows/test/camera_windows_test.dart @@ -27,10 +27,10 @@ void main() { group('Creation, Initialization & Disposal Tests', () { test('Should send creation data and receive back a camera id', () async { // Arrange - final MockCameraApi mockApi = MockCameraApi(); + final mockApi = MockCameraApi(); when(mockApi.create(any, any)).thenAnswer((_) async => 1); - final CameraWindows plugin = CameraWindows(api: mockApi); - const String cameraName = 'Test'; + final plugin = CameraWindows(api: mockApi); + const cameraName = 'Test'; // Act final int cameraId = await plugin.createCameraWithSettings( @@ -52,8 +52,7 @@ void main() { mockApi.create(captureAny, captureAny), ); expect(verification.captured[0], cameraName); - final PlatformMediaSettings? settings = - verification.captured[1] as PlatformMediaSettings?; + final settings = verification.captured[1] as PlatformMediaSettings?; expect(settings, isNotNull); expect(settings?.resolutionPreset, PlatformResolutionPreset.low); expect(cameraId, 1); @@ -63,17 +62,16 @@ void main() { 'Should throw CameraException when create throws a PlatformException', () { // Arrange - const String exceptionCode = 'TESTING_ERROR_CODE'; - const String exceptionMessage = - 'Mock error message used during testing.'; - final MockCameraApi mockApi = MockCameraApi(); + const exceptionCode = 'TESTING_ERROR_CODE'; + const exceptionMessage = 'Mock error message used during testing.'; + final mockApi = MockCameraApi(); when(mockApi.create(any, any)).thenAnswer((_) async { throw PlatformException( code: exceptionCode, message: exceptionMessage, ); }); - final CameraWindows camera = CameraWindows(api: mockApi); + final camera = CameraWindows(api: mockApi); // Act expect( @@ -102,17 +100,16 @@ void main() { 'Should throw CameraException when initialize throws a PlatformException', () { // Arrange - const String exceptionCode = 'TESTING_ERROR_CODE'; - const String exceptionMessage = - 'Mock error message used during testing.'; - final MockCameraApi mockApi = MockCameraApi(); + const exceptionCode = 'TESTING_ERROR_CODE'; + const exceptionMessage = 'Mock error message used during testing.'; + final mockApi = MockCameraApi(); when(mockApi.initialize(any)).thenAnswer((_) async { throw PlatformException( code: exceptionCode, message: exceptionMessage, ); }); - final CameraWindows plugin = CameraWindows(api: mockApi); + final plugin = CameraWindows(api: mockApi); // Act expect( @@ -136,11 +133,11 @@ void main() { test('Should send initialization data', () async { // Arrange - final MockCameraApi mockApi = MockCameraApi(); + final mockApi = MockCameraApi(); when( mockApi.initialize(any), ).thenAnswer((_) async => PlatformSize(width: 1920, height: 1080)); - final CameraWindows plugin = CameraWindows(api: mockApi); + final plugin = CameraWindows(api: mockApi); final int cameraId = await plugin.createCameraWithSettings( const CameraDescription( name: 'Test', @@ -168,11 +165,11 @@ void main() { test('Should send a disposal call on dispose', () async { // Arrange - final MockCameraApi mockApi = MockCameraApi(); + final mockApi = MockCameraApi(); when( mockApi.initialize(any), ).thenAnswer((_) async => PlatformSize(width: 1920, height: 1080)); - final CameraWindows plugin = CameraWindows(api: mockApi); + final plugin = CameraWindows(api: mockApi); final int cameraId = await plugin.createCameraWithSettings( const CameraDescription( name: 'Test', @@ -204,7 +201,7 @@ void main() { late CameraWindows plugin; late int cameraId; setUp(() async { - final MockCameraApi mockApi = MockCameraApi(); + final mockApi = MockCameraApi(); when(mockApi.create(any, any)).thenAnswer((_) async => 1); when( mockApi.initialize(any), @@ -232,11 +229,10 @@ void main() { final Stream eventStream = plugin.onCameraClosing( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(eventStream); + final streamQueue = StreamQueue(eventStream); // Emit test events - final CameraClosingEvent event = CameraClosingEvent(cameraId); + final event = CameraClosingEvent(cameraId); plugin.hostCameraHandlers[cameraId]!.cameraClosing(); plugin.hostCameraHandlers[cameraId]!.cameraClosing(); plugin.hostCameraHandlers[cameraId]!.cameraClosing(); @@ -255,12 +251,11 @@ void main() { final Stream errorStream = plugin.onCameraError( cameraId, ); - final StreamQueue streamQueue = - StreamQueue(errorStream); + final streamQueue = StreamQueue(errorStream); // Emit test events - const String errorMessage = 'Error Description'; - final CameraErrorEvent event = CameraErrorEvent(cameraId, errorMessage); + const errorMessage = 'Error Description'; + final event = CameraErrorEvent(cameraId, errorMessage); plugin.hostCameraHandlers[cameraId]!.error(errorMessage); plugin.hostCameraHandlers[cameraId]!.error(errorMessage); plugin.hostCameraHandlers[cameraId]!.error(errorMessage); @@ -309,7 +304,7 @@ void main() { 'Should fetch CameraDescription instances for available cameras', () async { // Arrange - final List returnData = ['Test 1', 'Test 2']; + final returnData = ['Test 1', 'Test 2']; when( mockApi.getAvailableCameras(), ).thenAnswer((_) async => returnData); @@ -320,7 +315,7 @@ void main() { // Assert expect(cameras.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { + for (var i = 0; i < returnData.length; i++) { expect(cameras[i].name, returnData[i]); // This value isn't provided by the platform, so is hard-coded to front. expect(cameras[i].lensDirection, CameraLensDirection.front); @@ -334,8 +329,8 @@ void main() { 'Should throw CameraException when availableCameras throws a PlatformException', () { // Arrange - const String code = 'TESTING_ERROR_CODE'; - const String message = 'Mock error message used during testing.'; + const code = 'TESTING_ERROR_CODE'; + const message = 'Mock error message used during testing.'; when(mockApi.getAvailableCameras()).thenAnswer( (_) async => throw PlatformException(code: code, message: message), ); @@ -362,7 +357,7 @@ void main() { test('Should take a picture and return an XFile instance', () async { // Arrange - const String stubPath = '/test/path.jpg'; + const stubPath = '/test/path.jpg'; when(mockApi.takePicture(any)).thenAnswer((_) async => stubPath); // Act @@ -403,7 +398,7 @@ void main() { test('Should stop a video recording and return the file', () async { // Arrange - const String stubPath = '/test/path.mp4'; + const stubPath = '/test/path.mp4'; when(mockApi.stopVideoRecording(any)).thenAnswer((_) async => stubPath); // Act diff --git a/packages/cross_file/README.md b/packages/cross_file/README.md index 5fc52b5e644..29029557187 100644 --- a/packages/cross_file/README.md +++ b/packages/cross_file/README.md @@ -12,7 +12,7 @@ Example: ```dart -final XFile file = XFile('assets/hello.txt'); +final file = XFile('assets/hello.txt'); print('File information:'); print('- Path: ${file.path}'); diff --git a/packages/cross_file/example/lib/readme_excerpts.dart b/packages/cross_file/example/lib/readme_excerpts.dart index e8c4ea2c2cb..94e3c879b87 100644 --- a/packages/cross_file/example/lib/readme_excerpts.dart +++ b/packages/cross_file/example/lib/readme_excerpts.dart @@ -9,7 +9,7 @@ import 'package:cross_file/cross_file.dart'; /// Demonstrate instantiating an XFile for the README. Future instantiateXFile() async { // #docregion Instantiate - final XFile file = XFile('assets/hello.txt'); + final file = XFile('assets/hello.txt'); print('File information:'); print('- Path: ${file.path}'); diff --git a/packages/cross_file/lib/src/types/html.dart b/packages/cross_file/lib/src/types/html.dart index a8047e6a926..9c85e1511b8 100644 --- a/packages/cross_file/lib/src/types/html.dart +++ b/packages/cross_file/lib/src/types/html.dart @@ -131,7 +131,7 @@ class XFile extends XFileBase { throw Exception('Safari cannot handle XFiles larger than 4GB.'); } - final Completer blobCompleter = Completer(); + final blobCompleter = Completer(); late XMLHttpRequest request; request = XMLHttpRequest() @@ -183,7 +183,7 @@ class XFile extends XFileBase { // Converts an html Blob object to a Uint8List, through a FileReader. Future _blobToByteBuffer(Blob blob) async { - final FileReader reader = FileReader(); + final reader = FileReader(); reader.readAsArrayBuffer(blob); await reader.onLoadEnd.first; diff --git a/packages/cross_file/lib/src/types/io.dart b/packages/cross_file/lib/src/types/io.dart index 74ca1806cc3..c1931a743a8 100644 --- a/packages/cross_file/lib/src/types/io.dart +++ b/packages/cross_file/lib/src/types/io.dart @@ -81,7 +81,7 @@ class XFile extends XFileBase { if (_bytes == null) { await _file.copy(path); } else { - final File fileToSave = File(path); + final fileToSave = File(path); // TODO(kevmoo): Remove ignore and fix when the MIN Dart SDK is 3.3 // ignore: unnecessary_non_null_assertion await fileToSave.writeAsBytes(_bytes!); diff --git a/packages/cross_file/test/x_file_html_test.dart b/packages/cross_file/test/x_file_html_test.dart index f71f1271829..75bbcebc6aa 100644 --- a/packages/cross_file/test/x_file_html_test.dart +++ b/packages/cross_file/test/x_file_html_test.dart @@ -26,7 +26,7 @@ final String textFileUrl = void main() { group('Create with an objectUrl', () { - final XFile file = XFile(textFileUrl); + final file = XFile(textFileUrl); test('Can be read as a string', () async { expect(await file.readAsString(), equals(expectedStringContents)); @@ -46,7 +46,7 @@ void main() { }); group('Create from data', () { - final XFile file = XFile.fromData(bytes); + final file = XFile.fromData(bytes); test('Can be read as a string', () async { expect(await file.readAsString(), equals(expectedStringContents)); @@ -65,10 +65,10 @@ void main() { }); test('Prefers local bytes over path if both are provided', () async { - const String text = 'Hello World'; - const String path = 'test/x_file_html_test.dart'; + const text = 'Hello World'; + const path = 'test/x_file_html_test.dart'; - final XFile file = XFile.fromData( + final file = XFile.fromData( utf8.encode(text), path: path, name: 'x_file_html_test.dart', @@ -84,7 +84,7 @@ void main() { }); group('Blob backend', () { - final XFile file = XFile(textFileUrl); + final file = XFile(textFileUrl); test('Stores data as a Blob', () async { // Read the blob from its path 'natively' @@ -107,11 +107,11 @@ void main() { }); group('saveTo(..)', () { - const String crossFileDomElementId = '__x_file_dom_element'; + const crossFileDomElementId = '__x_file_dom_element'; group('CrossFile saveTo(..)', () { test('creates a DOM container', () async { - final XFile file = XFile.fromData(bytes); + final file = XFile.fromData(bytes); await file.saveTo(''); @@ -123,7 +123,7 @@ void main() { }); test('create anchor element', () async { - final XFile file = XFile.fromData(bytes, name: textFile.name); + final file = XFile.fromData(bytes, name: textFile.name); await file.saveTo('path'); @@ -132,7 +132,7 @@ void main() { )!; late html.HTMLAnchorElement element; - for (int i = 0; i < container.childNodes.length; i++) { + for (var i = 0; i < container.childNodes.length; i++) { final html.Element test = container.children.item(i)!; if (test.tagName == 'A') { element = test as html.HTMLAnchorElement; @@ -146,20 +146,20 @@ void main() { }); test('anchor element is clicked', () async { - final html.HTMLAnchorElement mockAnchor = + final mockAnchor = html.document.createElement('a') as html.HTMLAnchorElement; - final CrossFileTestOverrides overrides = CrossFileTestOverrides( + final overrides = CrossFileTestOverrides( createAnchorElement: (_, __) => mockAnchor, ); - final XFile file = XFile.fromData( + final file = XFile.fromData( bytes, name: textFile.name, overrides: overrides, ); - bool clicked = false; + var clicked = false; mockAnchor.onClick.listen((html.MouseEvent event) => clicked = true); await file.saveTo('path'); diff --git a/packages/cross_file/test/x_file_io_test.dart b/packages/cross_file/test/x_file_io_test.dart index 56a3b8cb9cc..904a5c08c50 100644 --- a/packages/cross_file/test/x_file_io_test.dart +++ b/packages/cross_file/test/x_file_io_test.dart @@ -24,28 +24,28 @@ final String textFilePath = textFile.path; void main() { group('Create with a path', () { test('Can be read as a string', () async { - final XFile file = XFile(textFilePath); + final file = XFile(textFilePath); expect(await file.readAsString(), equals(expectedStringContents)); }); test('Can be read as bytes', () async { - final XFile file = XFile(textFilePath); + final file = XFile(textFilePath); expect(await file.readAsBytes(), equals(bytes)); }); test('Can be read as a stream', () async { - final XFile file = XFile(textFilePath); + final file = XFile(textFilePath); expect(await file.openRead().first, equals(bytes)); }); test('Stream can be sliced', () async { - final XFile file = XFile(textFilePath); + final file = XFile(textFilePath); expect(await file.openRead(2, 5).first, equals(bytes.sublist(2, 5))); }); test('saveTo(..) creates file', () async { - final XFile file = XFile(textFilePath); + final file = XFile(textFilePath); final Directory tempDir = Directory.systemTemp.createTempSync(); - final File targetFile = File('${tempDir.path}/newFilePath.txt'); + final targetFile = File('${tempDir.path}/newFilePath.txt'); if (targetFile.existsSync()) { await targetFile.delete(); } @@ -59,9 +59,9 @@ void main() { }); test('saveTo(..) does not load the file into memory', () async { - final TestXFile file = TestXFile(textFilePath); + final file = TestXFile(textFilePath); final Directory tempDir = Directory.systemTemp.createTempSync(); - final File targetFile = File('${tempDir.path}/newFilePath.txt'); + final targetFile = File('${tempDir.path}/newFilePath.txt'); if (targetFile.existsSync()) { await targetFile.delete(); } @@ -79,7 +79,7 @@ void main() { }); group('Create with data', () { - final XFile file = XFile.fromData(bytes); + final file = XFile.fromData(bytes); test('Can be read as a string', () async { expect(await file.readAsString(), equals(expectedStringContents)); @@ -98,7 +98,7 @@ void main() { test('Function saveTo(..) creates file', () async { final Directory tempDir = Directory.systemTemp.createTempSync(); - final File targetFile = File('${tempDir.path}/newFilePath.txt'); + final targetFile = File('${tempDir.path}/newFilePath.txt'); if (targetFile.existsSync()) { await targetFile.delete(); } diff --git a/packages/extension_google_sign_in_as_googleapis_auth/README.md b/packages/extension_google_sign_in_as_googleapis_auth/README.md index 6490974fd30..66c9562e388 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/README.md +++ b/packages/extension_google_sign_in_as_googleapis_auth/README.md @@ -25,7 +25,7 @@ import 'package:googleapis_auth/googleapis_auth.dart' as auth show AuthClient; final auth.AuthClient client = authorization.authClient(scopes: scopes); // Prepare a People Service authenticated client. - final PeopleServiceApi peopleApi = PeopleServiceApi(client); + final peopleApi = PeopleServiceApi(client); // Retrieve a list of connected contacts' names. final ListConnectionsResponse response = await peopleApi.people.connections .list('people/me', personFields: 'names'); diff --git a/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart b/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart index 8b80e00d45a..c857a070288 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart +++ b/packages/extension_google_sign_in_as_googleapis_auth/example/lib/main.dart @@ -117,7 +117,7 @@ class SignInDemoState extends State { final auth.AuthClient client = authorization.authClient(scopes: scopes); // Prepare a People Service authenticated client. - final PeopleServiceApi peopleApi = PeopleServiceApi(client); + final peopleApi = PeopleServiceApi(client); // Retrieve a list of connected contacts' names. final ListConnectionsResponse response = await peopleApi.people.connections .list('people/me', personFields: 'names'); diff --git a/packages/extension_google_sign_in_as_googleapis_auth/lib/extension_google_sign_in_as_googleapis_auth.dart b/packages/extension_google_sign_in_as_googleapis_auth/lib/extension_google_sign_in_as_googleapis_auth.dart index 57fdfba8a9a..494bfdef1b0 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/lib/extension_google_sign_in_as_googleapis_auth.dart +++ b/packages/extension_google_sign_in_as_googleapis_auth/lib/extension_google_sign_in_as_googleapis_auth.dart @@ -16,7 +16,7 @@ extension GoogleApisGoogleSignInAuth on GoogleSignInClientAuthorization { /// the authorization. Passing scopes here that have not been authorized will /// likely result in API errors when using the client. gapis.AuthClient authClient({required List scopes}) { - final gapis.AccessCredentials credentials = gapis.AccessCredentials( + final credentials = gapis.AccessCredentials( gapis.AccessToken( 'Bearer', accessToken, diff --git a/packages/extension_google_sign_in_as_googleapis_auth/test/extension_google_sign_in_as_googleapis_auth_test.dart b/packages/extension_google_sign_in_as_googleapis_auth/test/extension_google_sign_in_as_googleapis_auth_test.dart index 8884b459906..334941fe0f3 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/test/extension_google_sign_in_as_googleapis_auth_test.dart +++ b/packages/extension_google_sign_in_as_googleapis_auth/test/extension_google_sign_in_as_googleapis_auth_test.dart @@ -19,9 +19,8 @@ void main() { test( 'authClient returned client contains the expected information', () async { - const List scopes = ['some-scope', 'another-scope']; - final FakeGoogleSignInClientAuthorization signInAuth = - FakeGoogleSignInClientAuthorization(); + const scopes = ['some-scope', 'another-scope']; + final signInAuth = FakeGoogleSignInClientAuthorization(); final gapis.AuthClient client = signInAuth.authClient(scopes: scopes); expect( client.credentials.accessToken.data, diff --git a/packages/file_selector/file_selector/README.md b/packages/file_selector/file_selector/README.md index 71098b12734..8bf9118a17b 100644 --- a/packages/file_selector/file_selector/README.md +++ b/packages/file_selector/file_selector/README.md @@ -35,7 +35,7 @@ Please also take a look at our [example][example] app. ```dart -const XTypeGroup typeGroup = XTypeGroup( +const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], uniformTypeIdentifiers: ['public.jpeg', 'public.png'], @@ -49,12 +49,12 @@ final XFile? file = await openFile( ```dart -const XTypeGroup jpgsTypeGroup = XTypeGroup( +const jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], uniformTypeIdentifiers: ['public.jpeg'], ); -const XTypeGroup pngTypeGroup = XTypeGroup( +const pngTypeGroup = XTypeGroup( label: 'PNGs', extensions: ['png'], uniformTypeIdentifiers: ['public.png'], @@ -68,7 +68,7 @@ final List files = await openFiles( ```dart -const String fileName = 'suggested_name.txt'; +const fileName = 'suggested_name.txt'; final FileSaveLocation? result = await getSaveLocation( suggestedName: fileName, ); @@ -77,9 +77,9 @@ if (result == null) { return; } -final Uint8List fileData = Uint8List.fromList('Hello World!'.codeUnits); -const String mimeType = 'text/plain'; -final XFile textFile = XFile.fromData( +final fileData = Uint8List.fromList('Hello World!'.codeUnits); +const mimeType = 'text/plain'; +final textFile = XFile.fromData( fileData, mimeType: mimeType, name: fileName, diff --git a/packages/file_selector/file_selector/example/lib/get_directory_page.dart b/packages/file_selector/file_selector/example/lib/get_directory_page.dart index d98e718807f..9f8b6fdc37b 100644 --- a/packages/file_selector/file_selector/example/lib/get_directory_page.dart +++ b/packages/file_selector/file_selector/example/lib/get_directory_page.dart @@ -14,7 +14,7 @@ class GetDirectoryPage extends StatelessWidget { final bool _isIOS = !kIsWeb && defaultTargetPlatform == TargetPlatform.iOS; Future _getDirectoryPath(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final String? directoryPath = await getDirectoryPath( confirmButtonText: confirmButtonText, ); diff --git a/packages/file_selector/file_selector/example/lib/get_multiple_directories_page.dart b/packages/file_selector/file_selector/example/lib/get_multiple_directories_page.dart index d1095da159f..aa519552e04 100644 --- a/packages/file_selector/file_selector/example/lib/get_multiple_directories_page.dart +++ b/packages/file_selector/file_selector/example/lib/get_multiple_directories_page.dart @@ -12,7 +12,7 @@ class GetMultipleDirectoriesPage extends StatelessWidget { const GetMultipleDirectoriesPage({super.key}); Future _getDirectoryPaths(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final List directoryPaths = await getDirectoryPaths( confirmButtonText: confirmButtonText, ); @@ -20,8 +20,8 @@ class GetMultipleDirectoriesPage extends StatelessWidget { // Operation was canceled by the user. return; } - String paths = ''; - for (final String? path in directoryPaths) { + var paths = ''; + for (final path in directoryPaths) { paths += '${path!} \n'; } if (context.mounted) { diff --git a/packages/file_selector/file_selector/example/lib/open_image_page.dart b/packages/file_selector/file_selector/example/lib/open_image_page.dart index 20c4e87e64b..e2260c97860 100644 --- a/packages/file_selector/file_selector/example/lib/open_image_page.dart +++ b/packages/file_selector/file_selector/example/lib/open_image_page.dart @@ -15,7 +15,7 @@ class OpenImagePage extends StatelessWidget { Future _openImageFile(BuildContext context) async { // #docregion SingleOpen - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], uniformTypeIdentifiers: ['public.jpeg', 'public.png'], diff --git a/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart index 9f74c92f5af..eb6b0e9f91f 100644 --- a/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart +++ b/packages/file_selector/file_selector/example/lib/open_multiple_images_page.dart @@ -15,12 +15,12 @@ class OpenMultipleImagesPage extends StatelessWidget { Future _openImageFile(BuildContext context) async { // #docregion MultiOpen - const XTypeGroup jpgsTypeGroup = XTypeGroup( + const jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], uniformTypeIdentifiers: ['public.jpeg'], ); - const XTypeGroup pngTypeGroup = XTypeGroup( + const pngTypeGroup = XTypeGroup( label: 'PNGs', extensions: ['png'], uniformTypeIdentifiers: ['public.png'], diff --git a/packages/file_selector/file_selector/example/lib/open_text_page.dart b/packages/file_selector/file_selector/example/lib/open_text_page.dart index 55ea3ff7d69..ab6dd5a6825 100644 --- a/packages/file_selector/file_selector/example/lib/open_text_page.dart +++ b/packages/file_selector/file_selector/example/lib/open_text_page.dart @@ -13,7 +13,7 @@ class OpenTextPage extends StatelessWidget { const OpenTextPage({super.key}); Future _openTextFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'text', extensions: ['txt', 'json'], uniformTypeIdentifiers: ['public.text'], diff --git a/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart b/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart index afc9c9f0857..cbfc728c884 100644 --- a/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart +++ b/packages/file_selector/file_selector/example/lib/readme_standalone_excerpts.dart @@ -36,7 +36,7 @@ class _MyAppState extends State { Future saveFile() async { // #docregion Save - const String fileName = 'suggested_name.txt'; + const fileName = 'suggested_name.txt'; final FileSaveLocation? result = await getSaveLocation( suggestedName: fileName, ); @@ -45,9 +45,9 @@ class _MyAppState extends State { return; } - final Uint8List fileData = Uint8List.fromList('Hello World!'.codeUnits); - const String mimeType = 'text/plain'; - final XFile textFile = XFile.fromData( + final fileData = Uint8List.fromList('Hello World!'.codeUnits); + const mimeType = 'text/plain'; + final textFile = XFile.fromData( fileData, mimeType: mimeType, name: fileName, diff --git a/packages/file_selector/file_selector/example/lib/save_text_page.dart b/packages/file_selector/file_selector/example/lib/save_text_page.dart index d5dcd117458..809c7f43d20 100644 --- a/packages/file_selector/file_selector/example/lib/save_text_page.dart +++ b/packages/file_selector/file_selector/example/lib/save_text_page.dart @@ -36,9 +36,9 @@ class SaveTextPage extends StatelessWidget { } final String text = _contentController.text; - final Uint8List fileData = Uint8List.fromList(text.codeUnits); - const String fileMimeType = 'text/plain'; - final XFile textFile = XFile.fromData( + final fileData = Uint8List.fromList(text.codeUnits); + const fileMimeType = 'text/plain'; + final textFile = XFile.fromData( fileData, mimeType: fileMimeType, name: fileName, diff --git a/packages/file_selector/file_selector/test/file_selector_test.dart b/packages/file_selector/file_selector/test/file_selector_test.dart index 4a0cda7983b..9b4b95286d5 100644 --- a/packages/file_selector/file_selector/test/file_selector_test.dart +++ b/packages/file_selector/file_selector/test/file_selector_test.dart @@ -9,11 +9,11 @@ import 'package:plugin_platform_interface/plugin_platform_interface.dart'; void main() { late FakeFileSelector fakePlatformImplementation; - const String initialDirectory = '/home/flutteruser'; - const String confirmButtonText = 'Use this profile picture'; - const String suggestedName = 'suggested_name'; + const initialDirectory = '/home/flutteruser'; + const confirmButtonText = 'Use this profile picture'; + const suggestedName = 'suggested_name'; - const List acceptedTypeGroups = [ + const acceptedTypeGroups = [ XTypeGroup( label: 'documents', mimeTypes: [ @@ -30,7 +30,7 @@ void main() { }); group('openFile', () { - final XFile expectedFile = XFile('path'); + final expectedFile = XFile('path'); test('works', () async { fakePlatformImplementation @@ -89,7 +89,7 @@ void main() { }); group('openFiles', () { - final List expectedFiles = [XFile('path')]; + final expectedFiles = [XFile('path')]; test('works', () async { fakePlatformImplementation @@ -152,10 +152,10 @@ void main() { }); group('getSaveLocation', () { - const String expectedSavePath = '/example/path'; + const expectedSavePath = '/example/path'; test('works', () async { - const int expectedActiveFilter = 1; + const expectedActiveFilter = 1; fakePlatformImplementation ..setExpectations( initialDirectory: initialDirectory, @@ -230,7 +230,7 @@ void main() { }); test('sets the directory creation control flag', () async { - const bool canCreateDirectories = false; + const canCreateDirectories = false; fakePlatformImplementation ..setExpectations(canCreateDirectories: canCreateDirectories) ..setPathsResponse([expectedSavePath]); @@ -243,7 +243,7 @@ void main() { }); group('getDirectoryPath', () { - const String expectedDirectoryPath = '/example/path'; + const expectedDirectoryPath = '/example/path'; test('works', () async { fakePlatformImplementation @@ -293,7 +293,7 @@ void main() { }); test('sets the directory creation control flag', () async { - const bool canCreateDirectories = true; + const canCreateDirectories = true; fakePlatformImplementation ..setExpectations(canCreateDirectories: canCreateDirectories) ..setPathsResponse([expectedDirectoryPath]); @@ -306,10 +306,7 @@ void main() { }); group('getDirectoryPaths', () { - const List expectedDirectoryPaths = [ - '/example/path', - '/example/2/path', - ]; + const expectedDirectoryPaths = ['/example/path', '/example/2/path']; test('works', () async { fakePlatformImplementation @@ -356,7 +353,7 @@ void main() { expect(directoryPaths, expectedDirectoryPaths); }); test('sets the directory creation control flag', () async { - const bool canCreateDirectories = true; + const canCreateDirectories = true; fakePlatformImplementation ..setExpectations(canCreateDirectories: canCreateDirectories) ..setPathsResponse(expectedDirectoryPaths); diff --git a/packages/file_selector/file_selector_android/example/lib/open_image_page.dart b/packages/file_selector/file_selector_android/example/lib/open_image_page.dart index 637b0c6acad..245ac40f3b1 100644 --- a/packages/file_selector/file_selector_android/example/lib/open_image_page.dart +++ b/packages/file_selector/file_selector_android/example/lib/open_image_page.dart @@ -13,7 +13,7 @@ class OpenImagePage extends StatelessWidget { const OpenImagePage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], uniformTypeIdentifiers: ['public.image'], diff --git a/packages/file_selector/file_selector_android/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_android/example/lib/open_multiple_images_page.dart index cedb64fa990..9bc2cfa80fc 100644 --- a/packages/file_selector/file_selector_android/example/lib/open_multiple_images_page.dart +++ b/packages/file_selector/file_selector_android/example/lib/open_multiple_images_page.dart @@ -13,12 +13,12 @@ class OpenMultipleImagesPage extends StatelessWidget { const OpenMultipleImagesPage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup jpgsTypeGroup = XTypeGroup( + const jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], uniformTypeIdentifiers: ['public.jpeg'], ); - const XTypeGroup pngTypeGroup = XTypeGroup( + const pngTypeGroup = XTypeGroup( label: 'PNGs', extensions: ['png'], uniformTypeIdentifiers: ['public.png'], @@ -31,8 +31,8 @@ class OpenMultipleImagesPage extends StatelessWidget { return; } - final List imageBytes = []; - for (final XFile file in files) { + final imageBytes = []; + for (final file in files) { imageBytes.add(await file.readAsBytes()); } if (context.mounted) { diff --git a/packages/file_selector/file_selector_android/example/lib/open_text_page.dart b/packages/file_selector/file_selector_android/example/lib/open_text_page.dart index 8c22c88ca3b..5469e580146 100644 --- a/packages/file_selector/file_selector_android/example/lib/open_text_page.dart +++ b/packages/file_selector/file_selector_android/example/lib/open_text_page.dart @@ -12,7 +12,7 @@ class OpenTextPage extends StatelessWidget { const OpenTextPage({super.key}); Future _openTextFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'text', extensions: ['txt', 'json'], uniformTypeIdentifiers: ['public.text'], diff --git a/packages/file_selector/file_selector_android/lib/src/file_selector_android.dart b/packages/file_selector/file_selector_android/lib/src/file_selector_android.dart index 303330d3de3..461ede2e67e 100644 --- a/packages/file_selector/file_selector_android/lib/src/file_selector_android.dart +++ b/packages/file_selector/file_selector_android/lib/src/file_selector_android.dart @@ -76,8 +76,8 @@ class FileSelectorAndroid extends FileSelectorPlatform { return FileTypes(extensions: [], mimeTypes: []); } - final Set mimeTypes = {}; - final Set extensions = {}; + final mimeTypes = {}; + final extensions = {}; for (final XTypeGroup group in typeGroups) { if (!group.allowsAny && diff --git a/packages/file_selector/file_selector_android/test/file_selector_android_test.dart b/packages/file_selector/file_selector_android/test/file_selector_android_test.dart index 61f79ff9211..b4f7ece33b9 100644 --- a/packages/file_selector/file_selector_android/test/file_selector_android_test.dart +++ b/packages/file_selector/file_selector_android/test/file_selector_android_test.dart @@ -61,12 +61,12 @@ void main() { ), ); - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup group2 = XTypeGroup( + const group2 = XTypeGroup( extensions: ['jpg'], mimeTypes: ['image/jpg'], ); @@ -120,12 +120,12 @@ void main() { ]), ); - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup group2 = XTypeGroup( + const group2 = XTypeGroup( extensions: ['jpg'], mimeTypes: ['image/jpg'], ); diff --git a/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart index 226400974b2..e3e059150f0 100644 --- a/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart +++ b/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart @@ -15,7 +15,7 @@ class OpenImagePage extends StatelessWidget { const OpenImagePage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], uniformTypeIdentifiers: ['public.image'], diff --git a/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart index 8650a2e06d2..9585ac87deb 100644 --- a/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart +++ b/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart @@ -15,12 +15,12 @@ class OpenMultipleImagesPage extends StatelessWidget { const OpenMultipleImagesPage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup jpgsTypeGroup = XTypeGroup( + const jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], uniformTypeIdentifiers: ['public.jpeg'], ); - const XTypeGroup pngTypeGroup = XTypeGroup( + const pngTypeGroup = XTypeGroup( label: 'PNGs', extensions: ['png'], uniformTypeIdentifiers: ['public.png'], diff --git a/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart index 970caf19f8e..9a9b36126b1 100644 --- a/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart +++ b/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart @@ -12,7 +12,7 @@ class OpenTextPage extends StatelessWidget { const OpenTextPage({super.key}); Future _openTextFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'text', extensions: ['txt', 'json'], uniformTypeIdentifiers: ['public.text'], diff --git a/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart b/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart index ac2af48c7bc..2f6f241333f 100644 --- a/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart +++ b/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart @@ -54,12 +54,12 @@ class FileSelectorIOS extends FileSelectorPlatform { List _allowedUtiListFromTypeGroups(List? typeGroups) { // iOS requires a list of allowed types, so allowing all is expressed via // a root type rather than an empty list. - const List allowAny = ['public.data']; + const allowAny = ['public.data']; if (typeGroups == null || typeGroups.isEmpty) { return allowAny; } - final List allowedUTIs = []; + final allowedUTIs = []; for (final XTypeGroup typeGroup in typeGroups) { // If any group allows everything, no filtering should be done. if (typeGroup.allowsAny) { diff --git a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart index e19dc3fa6ff..ef6bad4693b 100644 --- a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart +++ b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart @@ -31,14 +31,14 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -59,7 +59,7 @@ void main() { expect(api.passedConfig?.allowMultiSelection, isFalse); }); test('throws for a type group that does not support iOS', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -79,7 +79,7 @@ void main() { }); test('correctly handles a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.openFile(acceptedTypeGroups: [group]), @@ -98,14 +98,14 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -126,7 +126,7 @@ void main() { }); test('throws for a type group that does not support iOS', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -146,7 +146,7 @@ void main() { }); test('correctly handles a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.openFiles(acceptedTypeGroups: [group]), diff --git a/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart b/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart index e483b8c640c..70e4aab79e1 100644 --- a/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart +++ b/packages/file_selector/file_selector_linux/example/lib/get_directory_page.dart @@ -12,7 +12,7 @@ class GetDirectoryPage extends StatelessWidget { const GetDirectoryPage({super.key}); Future _getDirectoryPath(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final String? directoryPath = await FileSelectorPlatform.instance .getDirectoryPath(confirmButtonText: confirmButtonText); if (directoryPath == null) { diff --git a/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart b/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart index fe7fd3d2416..b18cb5fd3be 100644 --- a/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart +++ b/packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart @@ -12,7 +12,7 @@ class GetMultipleDirectoriesPage extends StatelessWidget { const GetMultipleDirectoriesPage({super.key}); Future _getDirectoryPaths(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final List directoryPaths = await FileSelectorPlatform.instance .getDirectoryPaths(confirmButtonText: confirmButtonText); if (directoryPaths.isEmpty) { diff --git a/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart b/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart index f5705d244ad..6554cbfb8b8 100644 --- a/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart +++ b/packages/file_selector/file_selector_linux/example/lib/open_image_page.dart @@ -15,7 +15,7 @@ class OpenImagePage extends StatelessWidget { const OpenImagePage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], ); diff --git a/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart index 0b9fe352516..da7e3076c2a 100644 --- a/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart +++ b/packages/file_selector/file_selector_linux/example/lib/open_multiple_images_page.dart @@ -15,14 +15,11 @@ class OpenMultipleImagesPage extends StatelessWidget { const OpenMultipleImagesPage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup jpgsTypeGroup = XTypeGroup( + const jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], ); - const XTypeGroup pngTypeGroup = XTypeGroup( - label: 'PNGs', - extensions: ['png'], - ); + const pngTypeGroup = XTypeGroup(label: 'PNGs', extensions: ['png']); final List files = await FileSelectorPlatform.instance.openFiles( acceptedTypeGroups: [jpgsTypeGroup, pngTypeGroup], ); diff --git a/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart b/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart index 0a50be30b83..023cd8c03a7 100644 --- a/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart +++ b/packages/file_selector/file_selector_linux/example/lib/open_text_page.dart @@ -12,7 +12,7 @@ class OpenTextPage extends StatelessWidget { const OpenTextPage({super.key}); Future _openTextFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'text', extensions: ['txt', 'json'], ); diff --git a/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart b/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart index bcc26efe8db..988176f6498 100644 --- a/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart +++ b/packages/file_selector/file_selector_linux/example/lib/save_text_page.dart @@ -24,9 +24,9 @@ class SaveTextPage extends StatelessWidget { return; } final String text = _contentController.text; - final Uint8List fileData = Uint8List.fromList(text.codeUnits); - const String fileMimeType = 'text/plain'; - final XFile textFile = XFile.fromData( + final fileData = Uint8List.fromList(text.codeUnits); + const fileMimeType = 'text/plain'; + final textFile = XFile.fromData( fileData, mimeType: fileMimeType, name: fileName, diff --git a/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart b/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart index 4f6786b5cfb..01c068d4279 100644 --- a/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart +++ b/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart @@ -26,7 +26,7 @@ void main() { group('openFile', () { test('passes the core flags correctly', () async { - const String path = '/foo/bar'; + const path = '/foo/bar'; api.result = [path]; expect((await plugin.openFile())?.path, path); @@ -42,13 +42,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -76,21 +76,21 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.openFile(initialDirectory: path); expect(api.passedOptions?.currentFolderPath, path); }); test('passes confirmButtonText correctly', () async { - const String button = 'Open File'; + const button = 'Open File'; await plugin.openFile(confirmButtonText: button); expect(api.passedOptions?.acceptButtonLabel, button); }); test('throws for a type group that does not support Linux', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -102,7 +102,7 @@ void main() { }); test('passes a wildcard group correctly', () async { - const XTypeGroup group = XTypeGroup(label: 'any'); + const group = XTypeGroup(label: 'any'); await plugin.openFile(acceptedTypeGroups: [group]); @@ -125,13 +125,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -159,21 +159,21 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.openFiles(initialDirectory: path); expect(api.passedOptions?.currentFolderPath, path); }); test('passes confirmButtonText correctly', () async { - const String button = 'Open File'; + const button = 'Open File'; await plugin.openFiles(confirmButtonText: button); expect(api.passedOptions?.acceptButtonLabel, button); }); test('throws for a type group that does not support Linux', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -185,7 +185,7 @@ void main() { }); test('passes a wildcard group correctly', () async { - const XTypeGroup group = XTypeGroup(label: 'any'); + const group = XTypeGroup(label: 'any'); await plugin.openFiles(acceptedTypeGroups: [group]); @@ -195,7 +195,7 @@ void main() { group('getSaveLocation', () { test('passes the core flags correctly', () async { - const String path = '/foo/bar'; + const path = '/foo/bar'; api.result = [path]; expect((await plugin.getSaveLocation())?.path, path); @@ -204,13 +204,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -240,7 +240,7 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.getSaveLocation( options: const SaveDialogOptions(initialDirectory: path), ); @@ -249,7 +249,7 @@ void main() { }); test('passes confirmButtonText correctly', () async { - const String button = 'Open File'; + const button = 'Open File'; await plugin.getSaveLocation( options: const SaveDialogOptions(confirmButtonText: button), ); @@ -258,7 +258,7 @@ void main() { }); test('throws for a type group that does not support Linux', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -270,7 +270,7 @@ void main() { }); test('passes a wildcard group correctly', () async { - const XTypeGroup group = XTypeGroup(label: 'any'); + const group = XTypeGroup(label: 'any'); await plugin.getSaveLocation(acceptedTypeGroups: [group]); @@ -280,7 +280,7 @@ void main() { group('getSavePath (deprecated)', () { test('passes the core flags correctly', () async { - const String path = '/foo/bar'; + const path = '/foo/bar'; api.result = [path]; expect(await plugin.getSavePath(), path); @@ -289,13 +289,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -325,21 +325,21 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.getSavePath(initialDirectory: path); expect(api.passedOptions?.currentFolderPath, path); }); test('passes confirmButtonText correctly', () async { - const String button = 'Open File'; + const button = 'Open File'; await plugin.getSavePath(confirmButtonText: button); expect(api.passedOptions?.acceptButtonLabel, button); }); test('throws for a type group that does not support Linux', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -351,7 +351,7 @@ void main() { }); test('passes a wildcard group correctly', () async { - const XTypeGroup group = XTypeGroup(label: 'any'); + const group = XTypeGroup(label: 'any'); await plugin.getSavePath(acceptedTypeGroups: [group]); @@ -361,7 +361,7 @@ void main() { group('getDirectoryPath', () { test('passes the core flags correctly', () async { - const String path = '/foo/bar'; + const path = '/foo/bar'; api.result = [path]; expect(await plugin.getDirectoryPath(), path); @@ -371,14 +371,14 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.getDirectoryPath(initialDirectory: path); expect(api.passedOptions?.currentFolderPath, path); }); test('passes confirmButtonText correctly', () async { - const String button = 'Select Folder'; + const button = 'Select Folder'; await plugin.getDirectoryPath(confirmButtonText: button); expect(api.passedOptions?.acceptButtonLabel, button); @@ -387,7 +387,7 @@ void main() { group('getDirectoryPathWithOptions', () { test('passes the core flags correctly', () async { - const String path = '/foo/bar'; + const path = '/foo/bar'; api.result = [path]; expect( @@ -400,7 +400,7 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.getDirectoryPathWithOptions( const FileDialogOptions(initialDirectory: path), ); @@ -409,7 +409,7 @@ void main() { }); test('passes confirmButtonText correctly', () async { - const String button = 'Select Folder'; + const button = 'Select Folder'; await plugin.getDirectoryPathWithOptions( const FileDialogOptions(confirmButtonText: button), ); @@ -435,14 +435,14 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.getDirectoryPaths(initialDirectory: path); expect(api.passedOptions?.currentFolderPath, path); }); test('passes confirmButtonText correctly', () async { - const String button = 'Select one or mode folders'; + const button = 'Select one or mode folders'; await plugin.getDirectoryPaths(confirmButtonText: button); expect(api.passedOptions?.acceptButtonLabel, button); @@ -469,7 +469,7 @@ void main() { }); test('passes initialDirectory correctly', () async { - const String path = '/example/directory'; + const path = '/example/directory'; await plugin.getDirectoryPathsWithOptions( const FileDialogOptions(initialDirectory: path), ); @@ -478,7 +478,7 @@ void main() { }); test('passes confirmButtonText correctly', () async { - const String button = 'Select one or mode folders'; + const button = 'Select one or mode folders'; await plugin.getDirectoryPathsWithOptions( const FileDialogOptions(confirmButtonText: button), ); diff --git a/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart b/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart index edbd299fda2..065f5c0837e 100644 --- a/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart +++ b/packages/file_selector/file_selector_macos/example/lib/get_directory_page.dart @@ -12,7 +12,7 @@ class GetDirectoryPage extends StatelessWidget { const GetDirectoryPage({super.key}); Future _getDirectoryPath(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final String? directoryPath = await FileSelectorPlatform.instance .getDirectoryPathWithOptions( const FileDialogOptions( diff --git a/packages/file_selector/file_selector_macos/example/lib/get_multiple_directories_page.dart b/packages/file_selector/file_selector_macos/example/lib/get_multiple_directories_page.dart index c0b32ace41d..18ae7f52db3 100644 --- a/packages/file_selector/file_selector_macos/example/lib/get_multiple_directories_page.dart +++ b/packages/file_selector/file_selector_macos/example/lib/get_multiple_directories_page.dart @@ -12,7 +12,7 @@ class GetMultipleDirectoriesPage extends StatelessWidget { const GetMultipleDirectoriesPage({super.key}); Future _getDirectoryPaths(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final List directoriesPaths = await FileSelectorPlatform.instance .getDirectoryPathsWithOptions( const FileDialogOptions( diff --git a/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart b/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart index f5705d244ad..6554cbfb8b8 100644 --- a/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart +++ b/packages/file_selector/file_selector_macos/example/lib/open_image_page.dart @@ -15,7 +15,7 @@ class OpenImagePage extends StatelessWidget { const OpenImagePage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], ); diff --git a/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart index 0b9fe352516..da7e3076c2a 100644 --- a/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart +++ b/packages/file_selector/file_selector_macos/example/lib/open_multiple_images_page.dart @@ -15,14 +15,11 @@ class OpenMultipleImagesPage extends StatelessWidget { const OpenMultipleImagesPage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup jpgsTypeGroup = XTypeGroup( + const jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], ); - const XTypeGroup pngTypeGroup = XTypeGroup( - label: 'PNGs', - extensions: ['png'], - ); + const pngTypeGroup = XTypeGroup(label: 'PNGs', extensions: ['png']); final List files = await FileSelectorPlatform.instance.openFiles( acceptedTypeGroups: [jpgsTypeGroup, pngTypeGroup], ); diff --git a/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart b/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart index 0a50be30b83..023cd8c03a7 100644 --- a/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart +++ b/packages/file_selector/file_selector_macos/example/lib/open_text_page.dart @@ -12,7 +12,7 @@ class OpenTextPage extends StatelessWidget { const OpenTextPage({super.key}); Future _openTextFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'text', extensions: ['txt', 'json'], ); diff --git a/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart b/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart index c535252ead9..b7847bdcc1f 100644 --- a/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart +++ b/packages/file_selector/file_selector_macos/example/lib/save_text_page.dart @@ -24,9 +24,9 @@ class SaveTextPage extends StatelessWidget { return; } final String text = _contentController.text; - final Uint8List fileData = Uint8List.fromList(text.codeUnits); - const String fileMimeType = 'text/plain'; - final XFile textFile = XFile.fromData( + final fileData = Uint8List.fromList(text.codeUnits); + const fileMimeType = 'text/plain'; + final textFile = XFile.fromData( fileData, mimeType: fileMimeType, name: fileName, diff --git a/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart b/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart index dbcbd345fc2..c534e43df1d 100644 --- a/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart +++ b/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart @@ -165,7 +165,7 @@ class FileSelectorMacOS extends FileSelectorPlatform { if (typeGroups == null || typeGroups.isEmpty) { return null; } - final AllowedTypes allowedTypes = AllowedTypes( + final allowedTypes = AllowedTypes( extensions: [], mimeTypes: [], utis: [], diff --git a/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart b/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart index 1a8d3bfcc11..58563ddcff8 100644 --- a/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart +++ b/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart @@ -50,14 +50,14 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -97,7 +97,7 @@ void main() { }); test('throws for a type group that does not support macOS', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -109,7 +109,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.openFile(acceptedTypeGroups: [group]), @@ -145,14 +145,14 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -192,7 +192,7 @@ void main() { }); test('throws for a type group that does not support macOS', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -204,7 +204,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.openFiles(acceptedTypeGroups: [group]), @@ -236,14 +236,14 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -282,7 +282,7 @@ void main() { }); test('throws for a type group that does not support macOS', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -294,7 +294,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.getSavePath(acceptedTypeGroups: [group]), @@ -349,14 +349,14 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -401,7 +401,7 @@ void main() { }); test('throws for a type group that does not support macOS', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'images', webWildCards: ['images/*'], ); @@ -413,7 +413,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.getSaveLocation(acceptedTypeGroups: [group]), diff --git a/packages/file_selector/file_selector_platform_interface/test/method_channel_file_selector_test.dart b/packages/file_selector/file_selector_platform_interface/test/method_channel_file_selector_test.dart index 75f8924fcce..12b3839b8b8 100644 --- a/packages/file_selector/file_selector_platform_interface/test/method_channel_file_selector_test.dart +++ b/packages/file_selector/file_selector_platform_interface/test/method_channel_file_selector_test.dart @@ -11,9 +11,9 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('$MethodChannelFileSelector()', () { - final MethodChannelFileSelector plugin = MethodChannelFileSelector(); + final plugin = MethodChannelFileSelector(); - final List log = []; + final log = []; setUp(() { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger @@ -29,14 +29,14 @@ void main() { group('#openFile', () { test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -93,14 +93,14 @@ void main() { }); group('#openFiles', () { test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -158,14 +158,14 @@ void main() { group('#getSavePath', () { test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], diff --git a/packages/file_selector/file_selector_platform_interface/test/x_type_group_test.dart b/packages/file_selector/file_selector_platform_interface/test/x_type_group_test.dart index f6abcd23da5..795fe337245 100644 --- a/packages/file_selector/file_selector_platform_interface/test/x_type_group_test.dart +++ b/packages/file_selector/file_selector_platform_interface/test/x_type_group_test.dart @@ -8,12 +8,12 @@ import 'package:flutter_test/flutter_test.dart'; void main() { group('XTypeGroup', () { test('toJSON() creates correct map', () { - const List extensions = ['txt', 'jpg']; - const List mimeTypes = ['text/plain']; - const List uniformTypeIdentifiers = ['public.plain-text']; - const List webWildCards = ['image/*']; - const String label = 'test group'; - const XTypeGroup group = XTypeGroup( + const extensions = ['txt', 'jpg']; + const mimeTypes = ['text/plain']; + const uniformTypeIdentifiers = ['public.plain-text']; + const webWildCards = ['image/*']; + const label = 'test group'; + const group = XTypeGroup( label: label, extensions: extensions, mimeTypes: mimeTypes, @@ -32,7 +32,7 @@ void main() { }); test('a wildcard group can be created', () { - const XTypeGroup group = XTypeGroup(label: 'Any'); + const group = XTypeGroup(label: 'Any'); final Map jsonMap = group.toJSON(); expect(jsonMap['extensions'], null); @@ -43,7 +43,7 @@ void main() { }); test('allowsAny treats empty arrays the same as null', () { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'Any', extensions: [], mimeTypes: [], @@ -55,22 +55,19 @@ void main() { }); test('allowsAny returns false if anything is set', () { - const XTypeGroup extensionOnly = XTypeGroup( + const extensionOnly = XTypeGroup( label: 'extensions', extensions: ['txt'], ); - const XTypeGroup mimeOnly = XTypeGroup( + const mimeOnly = XTypeGroup( label: 'mime', mimeTypes: ['text/plain'], ); - const XTypeGroup utiOnly = XTypeGroup( + const utiOnly = XTypeGroup( label: 'utis', uniformTypeIdentifiers: ['public.text'], ); - const XTypeGroup webOnly = XTypeGroup( - label: 'web', - webWildCards: ['.txt'], - ); + const webOnly = XTypeGroup(label: 'web', webWildCards: ['.txt']); expect(extensionOnly.allowsAny, false); expect(mimeOnly.allowsAny, false); @@ -80,10 +77,8 @@ void main() { group('macUTIs -> uniformTypeIdentifiers transition', () { test('passing only macUTIs should fill uniformTypeIdentifiers', () { - const List uniformTypeIdentifiers = [ - 'public.plain-text', - ]; - const XTypeGroup group = XTypeGroup(macUTIs: uniformTypeIdentifiers); + const uniformTypeIdentifiers = ['public.plain-text']; + const group = XTypeGroup(macUTIs: uniformTypeIdentifiers); expect(group.uniformTypeIdentifiers, uniformTypeIdentifiers); }); @@ -91,10 +86,8 @@ void main() { test( 'passing only uniformTypeIdentifiers should fill uniformTypeIdentifiers', () { - const List uniformTypeIdentifiers = [ - 'public.plain-text', - ]; - const XTypeGroup group = XTypeGroup( + const uniformTypeIdentifiers = ['public.plain-text']; + const group = XTypeGroup( uniformTypeIdentifiers: uniformTypeIdentifiers, ); @@ -103,10 +96,8 @@ void main() { ); test('macUTIs getter return macUTIs value passed in constructor', () { - const List uniformTypeIdentifiers = [ - 'public.plain-text', - ]; - const XTypeGroup group = XTypeGroup(macUTIs: uniformTypeIdentifiers); + const uniformTypeIdentifiers = ['public.plain-text']; + const group = XTypeGroup(macUTIs: uniformTypeIdentifiers); expect(group.macUTIs, uniformTypeIdentifiers); }); @@ -114,10 +105,8 @@ void main() { test( 'macUTIs getter returns uniformTypeIdentifiers value passed in constructor', () { - const List uniformTypeIdentifiers = [ - 'public.plain-text', - ]; - const XTypeGroup group = XTypeGroup( + const uniformTypeIdentifiers = ['public.plain-text']; + const group = XTypeGroup( uniformTypeIdentifiers: uniformTypeIdentifiers, ); @@ -145,7 +134,7 @@ void main() { test( 'having uniformTypeIdentifiers and macUTIs as null should leave uniformTypeIdentifiers as null', () { - const XTypeGroup group = XTypeGroup(); + const group = XTypeGroup(); expect(group.uniformTypeIdentifiers, null); }, @@ -153,8 +142,8 @@ void main() { }); test('leading dots are removed from extensions', () { - const List extensions = ['.txt', '.jpg']; - const XTypeGroup group = XTypeGroup(extensions: extensions); + const extensions = ['.txt', '.jpg']; + const group = XTypeGroup(extensions: extensions); expect(group.extensions, ['txt', 'jpg']); }); diff --git a/packages/file_selector/file_selector_web/example/integration_test/dom_helper_test.dart b/packages/file_selector/file_selector_web/example/integration_test/dom_helper_test.dart index 33db0d033ee..b8b07cd0c24 100644 --- a/packages/file_selector/file_selector_web/example/integration_test/dom_helper_test.dart +++ b/packages/file_selector/file_selector_web/example/integration_test/dom_helper_test.dart @@ -17,10 +17,10 @@ void main() { late HTMLInputElement input; FileList? createFileList(List files) { - final DataTransfer dataTransfer = DataTransfer(); + final dataTransfer = DataTransfer(); // Tear-offs of external extension type interop member 'add' are disallowed. // ignore: prefer_foreach - for (final File e in files) { + for (final e in files) { dataTransfer.items.add(e); } return dataTransfer.files; @@ -46,8 +46,8 @@ void main() { }); group('getFiles', () { - final File mockFile1 = File(['123456'.toJS].toJS, 'file1.txt'); - final File mockFile2 = File([].toJS, 'file2.txt'); + final mockFile1 = File(['123456'.toJS].toJS, 'file1.txt'); + final mockFile2 = File([].toJS, 'file2.txt'); testWidgets('works', (_) async { final Future> futureFiles = domHelper.getFiles( @@ -107,8 +107,8 @@ void main() { }); testWidgets('sets the attributes and clicks it', (_) async { - const String accept = '.jpg,.png'; - const bool multiple = true; + const accept = '.jpg,.png'; + const multiple = true; final Future wasClicked = input.onClick.first.then((_) => true); final Future> futureFile = domHelper.getFiles( diff --git a/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart b/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart index 74187b82db5..72cb0de90b1 100644 --- a/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart +++ b/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart @@ -19,16 +19,14 @@ void main() { testWidgets('works', (WidgetTester _) async { final XFile mockFile = createXFile('1001', 'identity.png'); - final MockDomHelper mockDomHelper = MockDomHelper( + final mockDomHelper = MockDomHelper( files: [mockFile], expectAccept: '.jpg,.jpeg,image/png,image/*', ); - final FileSelectorWeb plugin = FileSelectorWeb( - domHelper: mockDomHelper, - ); + final plugin = FileSelectorWeb(domHelper: mockDomHelper); - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'jpeg'], mimeTypes: ['image/png'], @@ -50,11 +48,9 @@ void main() { WidgetTester _, ) async { // Simulate returning an empty list of files from the DomHelper... - final MockDomHelper mockDomHelper = MockDomHelper(files: []); + final mockDomHelper = MockDomHelper(files: []); - final FileSelectorWeb plugin = FileSelectorWeb( - domHelper: mockDomHelper, - ); + final plugin = FileSelectorWeb(domHelper: mockDomHelper); final XFile? file = await plugin.openFile(); @@ -67,17 +63,15 @@ void main() { final XFile mockFile1 = createXFile('123456', 'file1.txt'); final XFile mockFile2 = createXFile('', 'file2.txt'); - final MockDomHelper mockDomHelper = MockDomHelper( + final mockDomHelper = MockDomHelper( files: [mockFile1, mockFile2], expectAccept: '.txt', expectMultiple: true, ); - final FileSelectorWeb plugin = FileSelectorWeb( - domHelper: mockDomHelper, - ); + final plugin = FileSelectorWeb(domHelper: mockDomHelper); - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'files', extensions: ['.txt'], ); @@ -102,7 +96,7 @@ void main() { group('getSavePath', () { testWidgets('returns non-null', (WidgetTester _) async { - final FileSelectorWeb plugin = FileSelectorWeb(); + final plugin = FileSelectorWeb(); final Future savePath = plugin.getSavePath(); expect(await savePath, isNotNull); }); @@ -144,6 +138,6 @@ class MockDomHelper implements DomHelper { } XFile createXFile(String content, String name) { - final Uint8List data = Uint8List.fromList(content.codeUnits); + final data = Uint8List.fromList(content.codeUnits); return XFile.fromData(data, name: name, lastModified: DateTime.now()); } diff --git a/packages/file_selector/file_selector_web/lib/src/dom_helper.dart b/packages/file_selector/file_selector_web/lib/src/dom_helper.dart index d1070ff4c77..2c0205c6155 100644 --- a/packages/file_selector/file_selector_web/lib/src/dom_helper.dart +++ b/packages/file_selector/file_selector_web/lib/src/dom_helper.dart @@ -26,7 +26,7 @@ class DomHelper { bool multiple = false, @visibleForTesting HTMLInputElement? input, }) { - final Completer> completer = Completer>(); + final completer = Completer>(); final HTMLInputElement inputElement = input ?? (document.createElement('input') as HTMLInputElement) ..type = 'file'; @@ -47,8 +47,8 @@ class DomHelper { }); inputElement.onError.first.then((Event event) { - final ErrorEvent error = event as ErrorEvent; - final PlatformException platformException = PlatformException( + final error = event as ErrorEvent; + final platformException = PlatformException( code: error.type, message: error.message, ); diff --git a/packages/file_selector/file_selector_web/lib/src/utils.dart b/packages/file_selector/file_selector_web/lib/src/utils.dart index 8f871ceacf1..d64b69f62a6 100644 --- a/packages/file_selector/file_selector_web/lib/src/utils.dart +++ b/packages/file_selector/file_selector_web/lib/src/utils.dart @@ -9,7 +9,7 @@ String acceptedTypesToString(List? acceptedTypes) { if (acceptedTypes == null) { return ''; } - final List allTypes = []; + final allTypes = []; for (final XTypeGroup group in acceptedTypes) { // If any group allows everything, no filtering should be done. if (group.allowsAny) { diff --git a/packages/file_selector/file_selector_web/test/utils_test.dart b/packages/file_selector/file_selector_web/test/utils_test.dart index 7a86f03e113..33d76d4380e 100644 --- a/packages/file_selector/file_selector_web/test/utils_test.dart +++ b/packages/file_selector/file_selector_web/test/utils_test.dart @@ -13,7 +13,7 @@ void main() { group('FileSelectorWeb utils', () { group('acceptedTypesToString', () { test('works', () { - const List acceptedTypes = [ + const acceptedTypes = [ XTypeGroup(label: 'images', webWildCards: ['images/*']), XTypeGroup(label: 'jpgs', extensions: ['jpg', 'jpeg']), XTypeGroup(label: 'pngs', mimeTypes: ['image/png']), @@ -23,13 +23,13 @@ void main() { }); test('works with an empty list', () { - const List acceptedTypes = []; + const acceptedTypes = []; final String accepts = acceptedTypesToString(acceptedTypes); expect(accepts, ''); }); test('works with extensions', () { - const List acceptedTypes = [ + const acceptedTypes = [ XTypeGroup(label: 'jpgs', extensions: ['jpeg', 'jpg']), XTypeGroup(label: 'pngs', extensions: ['png']), ]; @@ -38,7 +38,7 @@ void main() { }); test('works with mime types', () { - const List acceptedTypes = [ + const acceptedTypes = [ XTypeGroup( label: 'jpgs', mimeTypes: ['image/jpeg', 'image/jpg'], @@ -50,7 +50,7 @@ void main() { }); test('works with web wild cards', () { - const List acceptedTypes = [ + const acceptedTypes = [ XTypeGroup(label: 'images', webWildCards: ['image/*']), XTypeGroup(label: 'audios', webWildCards: ['audio/*']), XTypeGroup(label: 'videos', webWildCards: ['video/*']), @@ -60,7 +60,7 @@ void main() { }); test('throws for a type group that does not support web', () { - const List acceptedTypes = [ + const acceptedTypes = [ XTypeGroup( label: 'text', uniformTypeIdentifiers: ['public.text'], diff --git a/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart b/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart index e483b8c640c..70e4aab79e1 100644 --- a/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart +++ b/packages/file_selector/file_selector_windows/example/lib/get_directory_page.dart @@ -12,7 +12,7 @@ class GetDirectoryPage extends StatelessWidget { const GetDirectoryPage({super.key}); Future _getDirectoryPath(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final String? directoryPath = await FileSelectorPlatform.instance .getDirectoryPath(confirmButtonText: confirmButtonText); if (directoryPath == null) { diff --git a/packages/file_selector/file_selector_windows/example/lib/get_multiple_directories_page.dart b/packages/file_selector/file_selector_windows/example/lib/get_multiple_directories_page.dart index be1bdfd40a0..6f4ba9ed8c7 100644 --- a/packages/file_selector/file_selector_windows/example/lib/get_multiple_directories_page.dart +++ b/packages/file_selector/file_selector_windows/example/lib/get_multiple_directories_page.dart @@ -12,7 +12,7 @@ class GetMultipleDirectoriesPage extends StatelessWidget { const GetMultipleDirectoriesPage({super.key}); Future _getDirectoryPaths(BuildContext context) async { - const String confirmButtonText = 'Choose'; + const confirmButtonText = 'Choose'; final List directoriesPaths = await FileSelectorPlatform.instance .getDirectoryPaths(confirmButtonText: confirmButtonText); if (directoriesPaths.isEmpty) { diff --git a/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart b/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart index f5705d244ad..6554cbfb8b8 100644 --- a/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart +++ b/packages/file_selector/file_selector_windows/example/lib/open_image_page.dart @@ -15,7 +15,7 @@ class OpenImagePage extends StatelessWidget { const OpenImagePage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], ); diff --git a/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart index 0b9fe352516..da7e3076c2a 100644 --- a/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart +++ b/packages/file_selector/file_selector_windows/example/lib/open_multiple_images_page.dart @@ -15,14 +15,11 @@ class OpenMultipleImagesPage extends StatelessWidget { const OpenMultipleImagesPage({super.key}); Future _openImageFile(BuildContext context) async { - const XTypeGroup jpgsTypeGroup = XTypeGroup( + const jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], ); - const XTypeGroup pngTypeGroup = XTypeGroup( - label: 'PNGs', - extensions: ['png'], - ); + const pngTypeGroup = XTypeGroup(label: 'PNGs', extensions: ['png']); final List files = await FileSelectorPlatform.instance.openFiles( acceptedTypeGroups: [jpgsTypeGroup, pngTypeGroup], ); diff --git a/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart b/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart index 0a50be30b83..023cd8c03a7 100644 --- a/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart +++ b/packages/file_selector/file_selector_windows/example/lib/open_text_page.dart @@ -12,7 +12,7 @@ class OpenTextPage extends StatelessWidget { const OpenTextPage({super.key}); Future _openTextFile(BuildContext context) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'text', extensions: ['txt', 'json'], ); diff --git a/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart b/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart index 4999d0a86a3..ff45a7c969f 100644 --- a/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart +++ b/packages/file_selector/file_selector_windows/example/lib/save_text_page.dart @@ -42,8 +42,8 @@ class SaveTextPage extends StatelessWidget { } } final String text = _contentController.text; - final Uint8List fileData = Uint8List.fromList(text.codeUnits); - final XFile textFile = XFile.fromData(fileData, name: fileName); + final fileData = Uint8List.fromList(text.codeUnits); + final textFile = XFile.fromData(fileData, name: fileName); await textFile.saveTo(result.path); } diff --git a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart index f062513bafe..30349f956f7 100644 --- a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart +++ b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart @@ -39,13 +39,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -75,7 +75,7 @@ void main() { }); test('throws for a type group that does not support Windows', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', mimeTypes: ['text/plain'], ); @@ -87,7 +87,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.openFile(acceptedTypeGroups: [group]), @@ -111,13 +111,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -147,7 +147,7 @@ void main() { }); test('throws for a type group that does not support Windows', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', mimeTypes: ['text/plain'], ); @@ -159,7 +159,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.openFiles(acceptedTypeGroups: [group]), @@ -236,13 +236,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -264,13 +264,13 @@ void main() { test('returns the selected type group correctly', () async { api.result = ['foo']; api.resultTypeGroupIndex = 1; - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -310,7 +310,7 @@ void main() { }); test('throws for a type group that does not support Windows', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', mimeTypes: ['text/plain'], ); @@ -322,7 +322,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.getSaveLocation(acceptedTypeGroups: [group]), @@ -345,13 +345,13 @@ void main() { }); test('passes the accepted type groups correctly', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], ); - const XTypeGroup groupTwo = XTypeGroup( + const groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], @@ -389,7 +389,7 @@ void main() { }); test('throws for a type group that does not support Windows', () async { - const XTypeGroup group = XTypeGroup( + const group = XTypeGroup( label: 'text', mimeTypes: ['text/plain'], ); @@ -401,7 +401,7 @@ void main() { }); test('allows a wildcard group', () async { - const XTypeGroup group = XTypeGroup(label: 'text'); + const group = XTypeGroup(label: 'text'); await expectLater( plugin.getSavePath(acceptedTypeGroups: [group]), @@ -419,7 +419,7 @@ bool _typeGroupListsMatch(List a, List b) { if (a.length != b.length) { return false; } - for (int i = 0; i < a.length; i++) { + for (var i = 0; i < a.length; i++) { if (!_typeGroupsMatch(a[i], b[i])) { return false; } diff --git a/packages/go_router/CHANGELOG.md b/packages/go_router/CHANGELOG.md index cd0790837d6..145ceb988fb 100644 --- a/packages/go_router/CHANGELOG.md +++ b/packages/go_router/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +- Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 17.0.0 diff --git a/packages/go_router/example/lib/async_redirection.dart b/packages/go_router/example/lib/async_redirection.dart index ddba52ac036..b36de3b190d 100644 --- a/packages/go_router/example/lib/async_redirection.dart +++ b/packages/go_router/example/lib/async_redirection.dart @@ -55,7 +55,7 @@ class App extends StatelessWidget { // cause go_router to reparse current route if StreamAuth has new sign-in // information. final bool loggedIn = await StreamAuthScope.of(context).isSignedIn(); - final bool loggingIn = state.matchedLocation == '/login'; + final loggingIn = state.matchedLocation == '/login'; if (!loggedIn) { return '/login'; } diff --git a/packages/go_router/example/lib/books/main.dart b/packages/go_router/example/lib/books/main.dart index 8652f0dbd0e..083ce373786 100644 --- a/packages/go_router/example/lib/books/main.dart +++ b/packages/go_router/example/lib/books/main.dart @@ -128,7 +128,7 @@ class Bookstore extends StatelessWidget { String? _guard(BuildContext context, GoRouterState state) { final bool signedIn = _auth.signedIn; - final bool signingIn = state.matchedLocation == '/signin'; + final signingIn = state.matchedLocation == '/signin'; // Go to /signin if the user is not signed in if (!signedIn && !signingIn) { diff --git a/packages/go_router/example/lib/books/src/data/library.dart b/packages/go_router/example/lib/books/src/data/library.dart index a211026ff5f..769b078e29b 100644 --- a/packages/go_router/example/lib/books/src/data/library.dart +++ b/packages/go_router/example/lib/books/src/data/library.dart @@ -50,13 +50,13 @@ class Library { final Author author = allAuthors.firstWhere( (Author author) => author.name == authorName, orElse: () { - final Author value = Author(id: allAuthors.length, name: authorName); + final value = Author(id: allAuthors.length, name: authorName); allAuthors.add(value); return value; }, ); - final Book book = Book( + final book = Book( id: allBooks.length, title: title, isPopular: isPopular, diff --git a/packages/go_router/example/lib/extra_codec.dart b/packages/go_router/example/lib/extra_codec.dart index 5667986dd01..a273b8cf0c6 100644 --- a/packages/go_router/example/lib/extra_codec.dart +++ b/packages/go_router/example/lib/extra_codec.dart @@ -109,7 +109,7 @@ class _MyExtraDecoder extends Converter { if (input == null) { return null; } - final List inputAsList = input as List; + final inputAsList = input as List; if (inputAsList[0] == 'ComplexData1') { return ComplexData1(inputAsList[1]! as String); } diff --git a/packages/go_router/example/lib/others/extra_param.dart b/packages/go_router/example/lib/others/extra_param.dart index 9644aab6708..0b0b2d5bc5e 100644 --- a/packages/go_router/example/lib/others/extra_param.dart +++ b/packages/go_router/example/lib/others/extra_param.dart @@ -71,7 +71,7 @@ class App extends StatelessWidget { builder: (BuildContext context, GoRouterState state) { final Map params = state.extra! as Map; - final String fid = params['fid']! as String; + final fid = params['fid']! as String; return FamilyScreen(fid: fid); }, ), diff --git a/packages/go_router/example/lib/redirection.dart b/packages/go_router/example/lib/redirection.dart index 449324b93c3..19ac494884e 100644 --- a/packages/go_router/example/lib/redirection.dart +++ b/packages/go_router/example/lib/redirection.dart @@ -75,7 +75,7 @@ class App extends StatelessWidget { redirect: (BuildContext context, GoRouterState state) { // if the user is not logged in, they need to login final bool loggedIn = _loginInfo.loggedIn; - final bool loggingIn = state.matchedLocation == '/login'; + final loggingIn = state.matchedLocation == '/login'; if (!loggedIn) { return '/login'; } diff --git a/packages/go_router/example/lib/top_level_on_enter.dart b/packages/go_router/example/lib/top_level_on_enter.dart index 30cd06a83cc..58b63c8a32f 100644 --- a/packages/go_router/example/lib/top_level_on_enter.dart +++ b/packages/go_router/example/lib/top_level_on_enter.dart @@ -33,7 +33,7 @@ class App extends StatelessWidget { @override Widget build(BuildContext context) { - final GlobalKey key = GlobalKey(); + final key = GlobalKey(); return MaterialApp.router( routerConfig: _router(key), @@ -132,7 +132,7 @@ class App extends StatelessWidget { case '/protected': { // ignore: prefer_final_locals - bool isLoggedIn = false; // pretend we’re not authenticated + var isLoggedIn = false; // pretend we’re not authenticated if (!isLoggedIn) { // Chaining block: cancel the original nav, then redirect to /login. // This preserves redirection history to detect loops. diff --git a/packages/go_router/example/pubspec.yaml b/packages/go_router/example/pubspec.yaml index 8d812824b7d..86900a2469a 100644 --- a/packages/go_router/example/pubspec.yaml +++ b/packages/go_router/example/pubspec.yaml @@ -4,8 +4,8 @@ version: 3.0.1 publish_to: none environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: adaptive_navigation: ^0.0.4 diff --git a/packages/go_router/example/test/extra_codec_test.dart b/packages/go_router/example/test/extra_codec_test.dart index 8ada596d54e..345698e67e9 100644 --- a/packages/go_router/example/test/extra_codec_test.dart +++ b/packages/go_router/example/test/extra_codec_test.dart @@ -26,8 +26,8 @@ void main() { }); test('invalid extra throws', () { - const example.MyExtraCodec extraCodec = example.MyExtraCodec(); - const List invalidValue = ['invalid']; + const extraCodec = example.MyExtraCodec(); + const invalidValue = ['invalid']; expect( () => extraCodec.decode(invalidValue), diff --git a/packages/go_router/example/test/path_and_query_params_test.dart b/packages/go_router/example/test/path_and_query_params_test.dart index 68a4760dca1..19ec52d0614 100644 --- a/packages/go_router/example/test/path_and_query_params_test.dart +++ b/packages/go_router/example/test/path_and_query_params_test.dart @@ -12,7 +12,7 @@ void main() { expect(find.text(example.App.title), findsOneWidget); // Directly set the url through platform message. - Map testRouteInformation = { + var testRouteInformation = { 'location': '/family/f1?sort=asc', }; ByteData message = const JSONMethodCodec().encodeMethodCall( diff --git a/packages/go_router/example/test/redirection_test.dart b/packages/go_router/example/test/redirection_test.dart index 23d01ae8cb7..2188d7cdc02 100644 --- a/packages/go_router/example/test/redirection_test.dart +++ b/packages/go_router/example/test/redirection_test.dart @@ -13,9 +13,7 @@ void main() { expect(find.text('Login'), findsOneWidget); // Directly set the url to the home page. - Map testRouteInformation = { - 'location': '/', - }; + var testRouteInformation = {'location': '/'}; ByteData message = const JSONMethodCodec().encodeMethodCall( MethodCall('pushRouteInformation', testRouteInformation), ); diff --git a/packages/go_router/example/test/state_restoration/go_route_state_restoration_test.dart b/packages/go_router/example/test/state_restoration/go_route_state_restoration_test.dart index 4e76dbbcc75..e471c0acdac 100644 --- a/packages/go_router/example/test/state_restoration/go_route_state_restoration_test.dart +++ b/packages/go_router/example/test/state_restoration/go_route_state_restoration_test.dart @@ -11,11 +11,11 @@ void main() { 'is restored when restorationIds are provided', ( WidgetTester tester, ) async { - const String homeTitle = 'Home'; - const String loginTitle = 'Login'; + const homeTitle = 'Home'; + const loginTitle = 'Login'; - const String homeText = 'homeText'; - const String loginText = 'loginText'; + const homeText = 'homeText'; + const loginText = 'loginText'; await tester.pumpWidget(const App()); expect(find.text(homeTitle), findsOneWidget); diff --git a/packages/go_router/example/test/state_restoration/shell_route_state_restoration_test.dart b/packages/go_router/example/test/state_restoration/shell_route_state_restoration_test.dart index e551bc730cb..98b3dd07521 100644 --- a/packages/go_router/example/test/state_restoration/shell_route_state_restoration_test.dart +++ b/packages/go_router/example/test/state_restoration/shell_route_state_restoration_test.dart @@ -11,12 +11,12 @@ void main() { 'is restored when restorationIds are provided', ( WidgetTester tester, ) async { - const String homeTitle = 'Home'; - const String welcomeTitle = 'Welcome'; - const String setupTitle = 'Setup'; + const homeTitle = 'Home'; + const welcomeTitle = 'Welcome'; + const setupTitle = 'Setup'; - const String homeText = 'homeText'; - const String setupText = 'setupText'; + const homeText = 'homeText'; + const setupText = 'setupText'; await tester.pumpWidget(const App()); expect(find.text(homeTitle), findsOneWidget); diff --git a/packages/go_router/example/test/state_restoration/stateful_shell_route_state_restoration_test.dart b/packages/go_router/example/test/state_restoration/stateful_shell_route_state_restoration_test.dart index f8a9e892f62..2f4cd106878 100644 --- a/packages/go_router/example/test/state_restoration/stateful_shell_route_state_restoration_test.dart +++ b/packages/go_router/example/test/state_restoration/stateful_shell_route_state_restoration_test.dart @@ -11,11 +11,11 @@ void main() { 'is restored when restorationIds are provided', ( WidgetTester tester, ) async { - const String homeLabel = 'Home'; - const String profileLabel = 'Profile'; + const homeLabel = 'Home'; + const profileLabel = 'Profile'; - const String homeText = 'homeText'; - const String profileText = 'profileText'; + const homeText = 'homeText'; + const profileText = 'profileText'; await tester.pumpWidget(const App()); expect(find.widgetWithText(TextField, homeLabel), findsOneWidget); diff --git a/packages/go_router/lib/src/builder.dart b/packages/go_router/lib/src/builder.dart index dd6f89f10f3..4eb036ea190 100644 --- a/packages/go_router/lib/src/builder.dart +++ b/packages/go_router/lib/src/builder.dart @@ -201,11 +201,9 @@ class _CustomNavigatorState extends State<_CustomNavigator> { void _updatePages(BuildContext context) { assert(_pages == null); - final List> pages = >[]; - final Map, RouteMatchBase> pageToRouteMatchBase = - , RouteMatchBase>{}; - final Map, GoRouterState> registry = - , GoRouterState>{}; + final pages = >[]; + final pageToRouteMatchBase = , RouteMatchBase>{}; + final registry = , GoRouterState>{}; if (widget.matchList.isError) { pages.add(_buildErrorPage(context, widget.matchList)); } else { @@ -280,7 +278,7 @@ class _CustomNavigatorState extends State<_CustomNavigator> { widget.matchList, ); final GlobalKey navigatorKey = match.navigatorKey; - final ShellRouteContext shellRouteContext = ShellRouteContext( + final shellRouteContext = ShellRouteContext( route: match.route, routerState: state, navigatorKey: navigatorKey, @@ -443,7 +441,7 @@ class _CustomNavigatorState extends State<_CustomNavigator> { } bool _handlePopPage(Route route, Object? result) { - final Page page = route.settings as Page; + final page = route.settings as Page; final RouteMatchBase match = _pageToRouteMatchBase[page]!; return widget.onPopPageWithRouteMatch(route, result, match); } diff --git a/packages/go_router/lib/src/configuration.dart b/packages/go_router/lib/src/configuration.dart index 4a22c3e1c5f..ef408b44270 100644 --- a/packages/go_router/lib/src/configuration.dart +++ b/packages/go_router/lib/src/configuration.dart @@ -37,7 +37,7 @@ class RouteConfiguration { } static bool _debugCheckPath(List routes, bool isTopLevel) { - for (final RouteBase route in routes) { + for (final route in routes) { late bool subRouteIsTopLevel; if (route is GoRoute) { if (route.path != '/') { @@ -61,7 +61,7 @@ class RouteConfiguration { List routes, List> allowedKeys, ) { - for (final RouteBase route in routes) { + for (final route in routes) { if (route is GoRoute) { final GlobalKey? parentKey = route.parentNavigatorKey; if (parentKey != null) { @@ -115,13 +115,13 @@ class RouteConfiguration { List routes, Map usedPathParams, ) { - for (final RouteBase route in routes) { + for (final route in routes) { if (route is! GoRoute) { continue; } for (final String pathParam in route.pathParameters) { if (usedPathParams.containsKey(pathParam)) { - final bool sameRoute = usedPathParams[pathParam] == route; + final sameRoute = usedPathParams[pathParam] == route; throw GoError( "duplicate path parameter, '$pathParam' found in ${sameRoute ? '$route' : '${usedPathParams[pathParam]}, and $route'}", ); @@ -137,7 +137,7 @@ class RouteConfiguration { // Check to see that the configured initialLocation of StatefulShellBranches // points to a descendant route of the route branch. bool _debugCheckStatefulShellBranchDefaultLocations(List routes) { - for (final RouteBase route in routes) { + for (final route in routes) { if (route is StatefulShellRoute) { for (final StatefulShellBranch branch in route.branches) { if (branch.initialLocation == null) { @@ -168,7 +168,7 @@ class RouteConfiguration { ); final List matchRoutes = matchList.routes; final int shellIndex = matchRoutes.indexOf(route); - bool matchFound = false; + var matchFound = false; if (shellIndex >= 0 && (shellIndex + 1) < matchRoutes.length) { final RouteBase branchRoot = matchRoutes[shellIndex + 1]; matchFound = branch.routes.contains(branchRoot); @@ -314,9 +314,9 @@ class RouteConfiguration { final _NamedPath path = _nameToPath[name]!; assert(() { // Check that all required params are present - final List paramNames = []; + final paramNames = []; patternToRegExp(path.path, paramNames, caseSensitive: path.caseSensitive); - for (final String paramName in paramNames) { + for (final paramName in paramNames) { assert( pathParameters.containsKey(paramName), 'missing param "$paramName" for $path', @@ -329,7 +329,7 @@ class RouteConfiguration { } return true; }()); - final Map encodedParams = { + final encodedParams = { for (final MapEntry param in pathParameters.entries) param.key: Uri.encodeComponent(param.value), }; @@ -343,7 +343,7 @@ class RouteConfiguration { /// Finds the routes that matched the given URL. RouteMatchList findMatch(Uri uri, {Object? extra}) { - final Map pathParameters = {}; + final pathParameters = {}; final List matches = _getLocRouteMatches( uri, pathParameters, @@ -370,7 +370,7 @@ class RouteConfiguration { for (final ImperativeRouteMatch imperativeMatch in matchList.matches.whereType()) { - final ImperativeRouteMatch match = ImperativeRouteMatch( + final match = ImperativeRouteMatch( pageKey: imperativeMatch.pageKey, matches: findMatch( imperativeMatch.matches.uri, @@ -411,7 +411,7 @@ class RouteConfiguration { required List redirectHistory, }) { FutureOr processRedirect(RouteMatchList prevMatchList) { - final String prevLocation = prevMatchList.uri.toString(); + final prevLocation = prevMatchList.uri.toString(); FutureOr processRouteLevelRedirect( String? routeRedirectLocation, @@ -432,7 +432,7 @@ class RouteConfiguration { return prevMatchList; } - final List routeMatches = []; + final routeMatches = []; prevMatchList.visitRouteMatches((RouteMatchBase match) { if (match.route.redirect != null) { routeMatches.add(match); @@ -492,7 +492,7 @@ class RouteConfiguration { RouteMatchList prevMatchList, { required List redirectHistory, }) { - final String prevLocation = prevMatchList.uri.toString(); + final prevLocation = prevMatchList.uri.toString(); FutureOr done(String? topLocation) { if (topLocation != null && topLocation != prevLocation) { final RouteMatchList newMatch = _getNewMatches( @@ -643,7 +643,7 @@ class RouteConfiguration { } T? result; - bool errorOccurred = false; + var errorOccurred = false; runZonedGuarded( () { @@ -686,7 +686,7 @@ class RouteConfiguration { /// is also appended if not null @visibleForTesting String debugKnownRoutes() { - final StringBuffer sb = StringBuffer(); + final sb = StringBuffer(); sb.writeln('Full paths for routes:'); _debugFullPathsFor( _routingConfig.value.routes, @@ -722,7 +722,7 @@ class RouteConfiguration { final String decorationString = decoration .map((_DecorationType e) => e.toString()) .join(); - String path = parentFullpath; + var path = parentFullpath; if (route is GoRoute) { path = concatenatePaths(parentFullpath, route.path); final String? screenName = route.builder?.runtimeType @@ -769,7 +769,7 @@ class RouteConfiguration { } void _cacheNameToPath(String parentFullPath, List childRoutes) { - for (final RouteBase route in childRoutes) { + for (final route in childRoutes) { if (route is GoRoute) { final String fullPath = concatenatePaths(parentFullPath, route.path); diff --git a/packages/go_router/lib/src/delegate.dart b/packages/go_router/lib/src/delegate.dart index 229c9865b1a..37e56987e35 100644 --- a/packages/go_router/lib/src/delegate.dart +++ b/packages/go_router/lib/src/delegate.dart @@ -56,7 +56,7 @@ class GoRouterDelegate extends RouterDelegate @override Future popRoute() async { final Iterable states = _findCurrentNavigators(); - for (final NavigatorState state in states) { + for (final state in states) { final bool didPop = await state.maybePop(); // Call maybePop() directly if (didPop) { return true; // Return true if maybePop handled the pop @@ -114,7 +114,7 @@ class GoRouterDelegate extends RouterDelegate /// 2. Branch route /// 3. Parent route Iterable _findCurrentNavigators() { - final List states = []; + final states = []; if (navigatorKey.currentState != null) { // Set state directly without canPop check states.add(navigatorKey.currentState!); @@ -179,7 +179,7 @@ class GoRouterDelegate extends RouterDelegate } void _completeRouteMatch(Object? result, RouteMatchBase match) { - RouteMatchBase walker = match; + var walker = match; while (walker is ShellRouteMatch) { walker = walker.matches.last; } @@ -230,14 +230,14 @@ class GoRouterDelegate extends RouterDelegate final BuildContext? navigatorContext = navigatorKey.currentContext; // If navigator is not built or disposed, the GoRoute.onExit is irrelevant. if (navigatorContext != null) { - final List currentGoRouteMatches = []; + final currentGoRouteMatches = []; currentConfiguration.visitRouteMatches((RouteMatchBase match) { if (match is RouteMatch) { currentGoRouteMatches.add(match); } return true; }); - final List newGoRouteMatches = []; + final newGoRouteMatches = []; configuration.visitRouteMatches((RouteMatchBase match) { if (match is RouteMatch) { newGoRouteMatches.add(match); @@ -249,7 +249,7 @@ class GoRouterDelegate extends RouterDelegate currentGoRouteMatches.length, newGoRouteMatches.length, ); - int indexOfFirstDiff = 0; + var indexOfFirstDiff = 0; for (; indexOfFirstDiff < compareUntil; indexOfFirstDiff++) { if (currentGoRouteMatches[indexOfFirstDiff] != newGoRouteMatches[indexOfFirstDiff]) { diff --git a/packages/go_router/lib/src/information_provider.dart b/packages/go_router/lib/src/information_provider.dart index 3824490c1e8..5c0e1f191a2 100644 --- a/packages/go_router/lib/src/information_provider.dart +++ b/packages/go_router/lib/src/information_provider.dart @@ -184,7 +184,7 @@ class GoRouteInformationProvider extends RouteInformationProvider required RouteMatchList base, Object? extra, }) { - final Completer completer = Completer(); + final completer = Completer(); _setValue( location, RouteInformationState( @@ -224,7 +224,7 @@ class GoRouteInformationProvider extends RouteInformationProvider required RouteMatchList base, Object? extra, }) { - final Completer completer = Completer(); + final completer = Completer(); _setValue( location, RouteInformationState( @@ -243,7 +243,7 @@ class GoRouteInformationProvider extends RouteInformationProvider required RouteMatchList base, Object? extra, }) { - final Completer completer = Completer(); + final completer = Completer(); _setValue( location, RouteInformationState( @@ -278,8 +278,7 @@ class GoRouteInformationProvider extends RouteInformationProvider required Uri newLocationUri, required Object? newState, }) { - const DeepCollectionEquality deepCollectionEquality = - DeepCollectionEquality(); + const deepCollectionEquality = DeepCollectionEquality(); return !deepCollectionEquality.equals( _value.uri.path, newLocationUri.path, diff --git a/packages/go_router/lib/src/match.dart b/packages/go_router/lib/src/match.dart index b8ddbaac9c2..87f588a3eee 100644 --- a/packages/go_router/lib/src/match.dart +++ b/packages/go_router/lib/src/match.dart @@ -592,7 +592,7 @@ class RouteMatchList with Diagnosticable { /// [RouteMatchA(), RouteMatchB(), RouteMatchC()] /// ``` static String _generateFullPath(Iterable matches) { - String fullPath = ''; + var fullPath = ''; for (final RouteMatchBase match in matches.where( (RouteMatchBase match) => match is! ImperativeRouteMatch, )) { @@ -641,8 +641,7 @@ class RouteMatchList with Diagnosticable { newMatches.isNotEmpty && otherMatches.last.route == newMatches.last.route) { assert(newMatches.last is ShellRouteMatch); - final ShellRouteMatch lastShellRouteMatch = - newMatches.removeLast() as ShellRouteMatch; + final lastShellRouteMatch = newMatches.removeLast() as ShellRouteMatch; newMatches.add( // Create a new copy of the `lastShellRouteMatch`. lastShellRouteMatch.copyWith( @@ -704,20 +703,18 @@ class RouteMatchList with Diagnosticable { } newRoute as GoRoute; // Need to remove path parameters that are no longer in the fullPath. - final List newParameters = []; + final newParameters = []; patternToRegExp( fullPath, newParameters, caseSensitive: newRoute.caseSensitive, ); final Set validParameters = newParameters.toSet(); - final Map newPathParameters = - Map.fromEntries( - pathParameters.entries.where( - (MapEntry value) => - validParameters.contains(value.key), - ), - ); + final newPathParameters = Map.fromEntries( + pathParameters.entries.where( + (MapEntry value) => validParameters.contains(value.key), + ), + ); final Uri newUri = uri.replace( path: patternToPath(fullPath, newPathParameters), ); @@ -808,7 +805,7 @@ class RouteMatchList with Diagnosticable { /// The routes for each of the matches. List get routes { - final List result = []; + final result = []; visitRouteMatches((RouteMatchBase match) { result.add(match.route); return true; @@ -831,7 +828,7 @@ class RouteMatchList with Diagnosticable { List matches, RouteMatchVisitor visitor, ) { - for (final RouteMatchBase routeMatch in matches) { + for (final routeMatch in matches) { if (!visitor(routeMatch)) { return false; } @@ -939,8 +936,7 @@ class _RouteMatchListEncoder final RouteConfiguration configuration; @override Map convert(RouteMatchList input) { - final List imperativeMatches = - []; + final imperativeMatches = []; input.visitRouteMatches((RouteMatchBase match) { if (match is ImperativeRouteMatch) { imperativeMatches.add(match); @@ -1016,9 +1012,8 @@ class _RouteMatchListDecoder @override RouteMatchList convert(Map input) { - final String rootLocation = - input[RouteMatchListCodec._locationKey]! as String; - final Map encodedExtra = + final rootLocation = input[RouteMatchListCodec._locationKey]! as String; + final encodedExtra = input[RouteMatchListCodec._extraKey]! as Map; final Object? extra; @@ -1037,7 +1032,7 @@ class _RouteMatchListDecoder extra: extra, ); - final List? imperativeMatches = + final imperativeMatches = input[RouteMatchListCodec._imperativeMatchesKey] as List?; if (imperativeMatches != null) { for (final Map encodedImperativeMatch @@ -1045,10 +1040,10 @@ class _RouteMatchListDecoder final RouteMatchList imperativeMatchList = convert( encodedImperativeMatch, ); - final ValueKey pageKey = ValueKey( + final pageKey = ValueKey( encodedImperativeMatch[RouteMatchListCodec._pageKey]! as String, ); - final ImperativeRouteMatch imperativeMatch = ImperativeRouteMatch( + final imperativeMatch = ImperativeRouteMatch( pageKey: pageKey, // TODO(chunhtai): Figure out a way to preserve future. // https://github.com/flutter/flutter/issues/128122. diff --git a/packages/go_router/lib/src/parser.dart b/packages/go_router/lib/src/parser.dart index 288682d1603..f4a2d44423a 100644 --- a/packages/go_router/lib/src/parser.dart +++ b/packages/go_router/lib/src/parser.dart @@ -119,7 +119,7 @@ class GoRouteInformationParser extends RouteInformationParser { effectiveRoute.uri, extra: infoState.extra, ); - final List redirectHistory = []; + final redirectHistory = []; final FutureOr afterLegacy = configuration .applyTopLegacyRedirect( diff --git a/packages/go_router/lib/src/path_utils.dart b/packages/go_router/lib/src/path_utils.dart index 29aec2c475f..ed1ce7cc201 100644 --- a/packages/go_router/lib/src/path_utils.dart +++ b/packages/go_router/lib/src/path_utils.dart @@ -28,8 +28,8 @@ RegExp patternToRegExp( List parameters, { required bool caseSensitive, }) { - final StringBuffer buffer = StringBuffer('^'); - int start = 0; + final buffer = StringBuffer('^'); + var start = 0; for (final RegExpMatch match in _parameterRegExp.allMatches(pattern)) { if (match.start > start) { buffer.write(RegExp.escape(pattern.substring(start, match.start))); @@ -78,8 +78,8 @@ String _escapeGroup(String group, [String? name]) { /// 2. Call [patternToPath] with the `pathParameters` from the first step and /// the original `pattern` used for generating the [RegExp]. String patternToPath(String pattern, Map pathParameters) { - final StringBuffer buffer = StringBuffer(); - int start = 0; + final buffer = StringBuffer(); + var start = 0; for (final RegExpMatch match in _parameterRegExp.allMatches(pattern)) { if (match.start > start) { buffer.write(pattern.substring(start, match.start)); @@ -139,7 +139,7 @@ String canonicalUri(String loc) { if (loc.isEmpty) { throw GoException('Location cannot be empty.'); } - String canon = Uri.parse(loc).toString(); + var canon = Uri.parse(loc).toString(); canon = canon.endsWith('?') ? canon.substring(0, canon.length - 1) : canon; final Uri uri = Uri.parse(canon); @@ -176,7 +176,7 @@ String? fullPathForRoute( String parentFullpath, List routes, ) { - for (final RouteBase route in routes) { + for (final route in routes) { final String fullPath = (route is GoRoute) ? concatenatePaths(parentFullpath, route.path) : parentFullpath; diff --git a/packages/go_router/lib/src/route.dart b/packages/go_router/lib/src/route.dart index 7a2a07db385..cf1a7e24082 100644 --- a/packages/go_router/lib/src/route.dart +++ b/packages/go_router/lib/src/route.dart @@ -513,7 +513,7 @@ abstract class ShellRouteBase extends RouteBase { List subRoutes, GlobalKey navigatorKey, ) { - for (final RouteBase route in subRoutes) { + for (final route in subRoutes) { assert( route.parentNavigatorKey == null || route.parentNavigatorKey == navigatorKey, @@ -591,9 +591,7 @@ class ShellRouteContext { bool notifyRootObserver, String? restorationScopeId, ) { - final List effectiveObservers = [ - ...?observers, - ]; + final effectiveObservers = [...?observers]; if (notifyRootObserver) { final List? rootObservers = GoRouter.maybeOf( @@ -1076,7 +1074,7 @@ class StatefulShellRoute extends ShellRouteBase { static bool _debugValidateParentNavigatorKeys( List branches, ) { - for (final StatefulShellBranch branch in branches) { + for (final branch in branches) { for (final RouteBase route in branch.routes) { if (route is GoRoute) { assert( @@ -1276,8 +1274,7 @@ class StatefulNavigationShell extends StatefulWidget { // TODO(chunhtai): figure out a way to avoid putting navigation API in widget // class. void goBranch(int index, {bool initialLocation = false}) { - final StatefulShellRoute route = - shellRouteContext.route as StatefulShellRoute; + final route = shellRouteContext.route as StatefulShellRoute; final StatefulNavigationShellState? shellState = route._shellStateKey.currentState; if (shellState != null) { @@ -1301,8 +1298,7 @@ class StatefulNavigationShell extends StatefulWidget { /// [StatefulShellBranch.initialLocation], if specified, or the location of the /// [StatefulShellBranch.defaultRoute]. String _effectiveInitialBranchLocation(int index) { - final StatefulShellRoute route = - shellRouteContext.route as StatefulShellRoute; + final route = shellRouteContext.route as StatefulShellRoute; final StatefulShellBranch branch = route.branches[index]; final String? initialLocation = branch.initialLocation; if (initialLocation != null) { @@ -1311,7 +1307,7 @@ class StatefulNavigationShell extends StatefulWidget { /// Recursively traverses the routes of the provided StackedShellBranch to /// find the first GoRoute, from which a full path will be derived. final GoRoute route = branch.defaultRoute!; - final List parameters = []; + final parameters = []; patternToRegExp( route.path, parameters, @@ -1391,7 +1387,7 @@ class StatefulNavigationShellState extends State bool register = true, ]) { return _branchState.putIfAbsent(branch, () { - final _StatefulShellBranchState branchState = _StatefulShellBranchState( + final branchState = _StatefulShellBranchState( location: _RestorableRouteMatchList(_router.configuration), ); if (register) { @@ -1416,8 +1412,8 @@ class StatefulNavigationShellState extends State } List _scopeMatches(List matches) { - final List result = []; - for (final RouteMatchBase match in matches) { + final result = []; + for (final match in matches) { if (match is ShellRouteMatch) { if (match.route == route) { result.add(match); @@ -1447,11 +1443,10 @@ class StatefulNavigationShellState extends State ); final RouteMatchList previousBranchLocation = branchState.location.value; branchState.location.value = currentBranchLocation; - final bool hasExistingNavigator = branchState.navigator != null; + final hasExistingNavigator = branchState.navigator != null; /// Only update the Navigator of the route match list has changed - final bool locationChanged = - previousBranchLocation != currentBranchLocation; + final locationChanged = previousBranchLocation != currentBranchLocation; if (locationChanged || !hasExistingNavigator) { branchState.navigator = shellRouteContext._buildNavigatorForCurrentRoute( context, @@ -1465,7 +1460,7 @@ class StatefulNavigationShellState extends State } void _preloadBranches() { - for (int i = 0; i < route.branches.length; i++) { + for (var i = 0; i < route.branches.length; i++) { final StatefulShellBranch branch = route.branches[i]; if (i != currentIndex && branch.preload && !_isBranchLoaded(branch)) { // Find the match for the current StatefulShellRoute in matchList diff --git a/packages/go_router/lib/src/router.dart b/packages/go_router/lib/src/router.dart index b0a1971d5ad..7e885742ec5 100644 --- a/packages/go_router/lib/src/router.dart +++ b/packages/go_router/lib/src/router.dart @@ -607,7 +607,7 @@ class GoRouter implements RouterConfig { /// The current GoRouter in the widget tree, if any. static GoRouter? maybeOf(BuildContext context) { - final InheritedGoRouter? inherited = + final inherited = context .getElementForInheritedWidgetOfExactType() ?.widget @@ -639,7 +639,7 @@ class GoRouter implements RouterConfig { if (platformDefaultUri.hasEmptyPath) { platformDefaultUri = platformDefaultUri.replace(path: '/'); } - final String platformDefault = platformDefaultUri.toString(); + final platformDefault = platformDefaultUri.toString(); if (initialLocation == null) { return platformDefault; } else if (platformDefault == '/') { diff --git a/packages/go_router/lib/src/state.dart b/packages/go_router/lib/src/state.dart index b9db0e561ae..80554631915 100644 --- a/packages/go_router/lib/src/state.dart +++ b/packages/go_router/lib/src/state.dart @@ -267,7 +267,7 @@ class GoRouterStateRegistry extends ChangeNotifier { /// Updates this registry with new records. void updateRegistry(Map, GoRouterState> newRegistry) { - bool shouldNotify = false; + var shouldNotify = false; final Set> pagesWithAssociation = _routePageAssociation.values .toSet(); for (final MapEntry, GoRouterState> entry diff --git a/packages/go_router/pubspec.yaml b/packages/go_router/pubspec.yaml index cf88637eef5..5bbc7c7a0a8 100644 --- a/packages/go_router/pubspec.yaml +++ b/packages/go_router/pubspec.yaml @@ -6,8 +6,8 @@ repository: https://github.com/flutter/packages/tree/main/packages/go_router issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: collection: ^1.15.0 diff --git a/packages/go_router/test/builder_test.dart b/packages/go_router/test/builder_test.dart index 66cc2d58920..46292b6157a 100644 --- a/packages/go_router/test/builder_test.dart +++ b/packages/go_router/test/builder_test.dart @@ -27,7 +27,7 @@ void main() { navigatorKey: GlobalKey(), ); - final RouteMatchList matches = RouteMatchList( + final matches = RouteMatchList( matches: [ RouteMatch( route: config.routes.first as GoRoute, @@ -47,8 +47,7 @@ void main() { }); testWidgets('Builds ShellRoute', (WidgetTester tester) async { - final GlobalKey shellNavigatorKey = - GlobalKey(); + final shellNavigatorKey = GlobalKey(); final RouteConfiguration config = createRouteConfiguration( routes: [ ShellRoute( @@ -73,7 +72,7 @@ void main() { navigatorKey: GlobalKey(), ); - final RouteMatchList matches = RouteMatchList( + final matches = RouteMatchList( matches: [ ShellRouteMatch( route: config.routes.first as ShellRouteBase, @@ -101,8 +100,7 @@ void main() { }); testWidgets('Uses the correct navigatorKey', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); final RouteConfiguration config = createRouteConfiguration( navigatorKey: rootNavigatorKey, routes: [ @@ -119,7 +117,7 @@ void main() { }, ); - final RouteMatchList matches = RouteMatchList( + final matches = RouteMatchList( matches: [ RouteMatch( route: config.routes.first as GoRoute, @@ -141,10 +139,8 @@ void main() { testWidgets('Builds a Navigator for ShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(debugLabel: 'root'); - final GlobalKey shellNavigatorKey = - GlobalKey(debugLabel: 'shell'); + final rootNavigatorKey = GlobalKey(debugLabel: 'root'); + final shellNavigatorKey = GlobalKey(debugLabel: 'shell'); final RouteConfiguration config = createRouteConfiguration( navigatorKey: rootNavigatorKey, routes: [ @@ -169,7 +165,7 @@ void main() { }, ); - final RouteMatchList matches = RouteMatchList( + final matches = RouteMatchList( matches: [ ShellRouteMatch( route: config.routes.first as ShellRouteBase, @@ -202,10 +198,8 @@ void main() { testWidgets('Builds a Navigator for ShellRoute with parentNavigatorKey', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(debugLabel: 'root'); - final GlobalKey shellNavigatorKey = - GlobalKey(debugLabel: 'shell'); + final rootNavigatorKey = GlobalKey(debugLabel: 'root'); + final shellNavigatorKey = GlobalKey(debugLabel: 'shell'); final RouteConfiguration config = createRouteConfiguration( navigatorKey: rootNavigatorKey, routes: [ @@ -240,7 +234,7 @@ void main() { }, ); - final RouteMatchList matches = RouteMatchList( + final matches = RouteMatchList( matches: [ RouteMatch( route: config.routes.first.routes.first as GoRoute, @@ -265,10 +259,8 @@ void main() { testWidgets('Uses the correct restorationScopeId for ShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(debugLabel: 'root'); - final GlobalKey shellNavigatorKey = - GlobalKey(debugLabel: 'shell'); + final rootNavigatorKey = GlobalKey(debugLabel: 'root'); + final shellNavigatorKey = GlobalKey(debugLabel: 'shell'); final RouteConfiguration config = createRouteConfiguration( navigatorKey: rootNavigatorKey, routes: [ @@ -294,7 +286,7 @@ void main() { }, ); - final RouteMatchList matches = RouteMatchList( + final matches = RouteMatchList( matches: [ ShellRouteMatch( route: config.routes.first as ShellRouteBase, @@ -329,11 +321,9 @@ void main() { testWidgets('Uses the correct restorationScopeId for StatefulShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(debugLabel: 'root'); - final GlobalKey shellNavigatorKey = - GlobalKey(debugLabel: 'shell'); - final GoRouter goRouter = GoRouter( + final rootNavigatorKey = GlobalKey(debugLabel: 'root'); + final shellNavigatorKey = GlobalKey(debugLabel: 'shell'); + final goRouter = GoRouter( initialLocation: '/a', navigatorKey: rootNavigatorKey, routes: [ @@ -377,7 +367,7 @@ void main() { testWidgets('GoRouter requestFocus defaults to true', ( WidgetTester tester, ) async { - final GoRouter router = GoRouter( + final router = GoRouter( routes: [ GoRoute( path: '/', @@ -400,7 +390,7 @@ void main() { testWidgets('GoRouter requestFocus can be set to false', ( WidgetTester tester, ) async { - final GoRouter router = GoRouter( + final router = GoRouter( routes: [ GoRoute( path: '/', diff --git a/packages/go_router/test/configuration_test.dart b/packages/go_router/test/configuration_test.dart index 86bb596e07d..88185f026c1 100644 --- a/packages/go_router/test/configuration_test.dart +++ b/packages/go_router/test/configuration_test.dart @@ -11,15 +11,9 @@ import 'test_helpers.dart'; void main() { group('RouteConfiguration', () { test('throws when parentNavigatorKey is not an ancestor', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey a = GlobalKey( - debugLabel: 'a', - ); - final GlobalKey b = GlobalKey( - debugLabel: 'b', - ); + final root = GlobalKey(debugLabel: 'root'); + final a = GlobalKey(debugLabel: 'a'); + final b = GlobalKey(debugLabel: 'b'); expect(() { createRouteConfiguration( @@ -59,10 +53,8 @@ void main() { }); test('throws when ShellRoute has no children', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final List shellRouteChildren = []; + final root = GlobalKey(debugLabel: 'root'); + final shellRouteChildren = []; expect(() { createRouteConfiguration( navigatorKey: root, @@ -78,15 +70,9 @@ void main() { test( 'throws when StatefulShellRoute sub-route uses incorrect parentNavigatorKey', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey keyA = GlobalKey( - debugLabel: 'A', - ); - final GlobalKey keyB = GlobalKey( - debugLabel: 'B', - ); + final root = GlobalKey(debugLabel: 'root'); + final keyA = GlobalKey(debugLabel: 'A'); + final keyB = GlobalKey(debugLabel: 'B'); expect(() { createRouteConfiguration( @@ -126,12 +112,8 @@ void main() { test( 'does not throw when StatefulShellRoute sub-route uses correct parentNavigatorKeys', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey keyA = GlobalKey( - debugLabel: 'A', - ); + final root = GlobalKey(debugLabel: 'root'); + final keyA = GlobalKey(debugLabel: 'A'); createRouteConfiguration( navigatorKey: root, @@ -169,11 +151,8 @@ void main() { test( 'throws when a sub-route of StatefulShellRoute has a parentNavigatorKey', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey someNavigatorKey = - GlobalKey(); + final root = GlobalKey(debugLabel: 'root'); + final someNavigatorKey = GlobalKey(); expect(() { createRouteConfiguration( navigatorKey: root, @@ -218,13 +197,9 @@ void main() { ); test('throws when StatefulShellRoute has duplicate navigator keys', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey keyA = GlobalKey( - debugLabel: 'A', - ); - final List shellRouteChildren = [ + final root = GlobalKey(debugLabel: 'root'); + final keyA = GlobalKey(debugLabel: 'A'); + final shellRouteChildren = [ GoRoute( path: '/a', builder: _mockScreenBuilder, @@ -257,19 +232,15 @@ void main() { test('throws when a child of StatefulShellRoute has an incorrect ' 'parentNavigatorKey', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey sectionANavigatorKey = - GlobalKey(); - final GlobalKey sectionBNavigatorKey = - GlobalKey(); - final GoRoute routeA = GoRoute( + final root = GlobalKey(debugLabel: 'root'); + final sectionANavigatorKey = GlobalKey(); + final sectionBNavigatorKey = GlobalKey(); + final routeA = GoRoute( path: '/a', builder: _mockScreenBuilder, parentNavigatorKey: sectionBNavigatorKey, ); - final GoRoute routeB = GoRoute( + final routeB = GoRoute( path: '/b', builder: _mockScreenBuilder, parentNavigatorKey: sectionANavigatorKey, @@ -302,13 +273,9 @@ void main() { test('throws when a branch of a StatefulShellRoute has an incorrect ' 'initialLocation', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey sectionANavigatorKey = - GlobalKey(); - final GlobalKey sectionBNavigatorKey = - GlobalKey(); + final root = GlobalKey(debugLabel: 'root'); + final sectionANavigatorKey = GlobalKey(); + final sectionBNavigatorKey = GlobalKey(); expect(() { createRouteConfiguration( navigatorKey: root, @@ -342,13 +309,9 @@ void main() { test('throws when a branch of a StatefulShellRoute has a initialLocation ' 'that is not a descendant of the same branch', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey sectionANavigatorKey = - GlobalKey(); - final GlobalKey sectionBNavigatorKey = - GlobalKey(); + final root = GlobalKey(debugLabel: 'root'); + final sectionANavigatorKey = GlobalKey(); + final sectionBNavigatorKey = GlobalKey(); expect(() { createRouteConfiguration( navigatorKey: root, @@ -392,9 +355,7 @@ void main() { test('does not throw when a branch of a StatefulShellRoute has correctly ' 'configured initialLocations', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); + final root = GlobalKey(debugLabel: 'root'); createRouteConfiguration( navigatorKey: root, @@ -576,12 +537,8 @@ void main() { test( 'throws when there is a GoRoute ancestor with a different parentNavigatorKey', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); expect(() { createRouteConfiguration( navigatorKey: root, @@ -614,15 +571,9 @@ void main() { ); test('Does not throw with valid parentNavigatorKey configuration', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); - final GlobalKey shell2 = GlobalKey( - debugLabel: 'shell2', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); + final shell2 = GlobalKey(debugLabel: 'shell2'); createRouteConfiguration( navigatorKey: root, routes: [ @@ -671,12 +622,8 @@ void main() { test( 'Does not throw with multiple nested GoRoutes using parentNavigatorKey in ShellRoute', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); createRouteConfiguration( navigatorKey: root, routes: [ @@ -720,12 +667,8 @@ void main() { ); test('Throws when parentNavigatorKeys are overlapping', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); expect( () => createRouteConfiguration( navigatorKey: root, @@ -772,12 +715,8 @@ void main() { test( 'Does not throw when parentNavigatorKeys are overlapping correctly', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); createRouteConfiguration( navigatorKey: root, routes: [ @@ -822,15 +761,9 @@ void main() { test('throws when a GoRoute with a different parentNavigatorKey ' 'exists between a GoRoute with a parentNavigatorKey and ' 'its ShellRoute ancestor', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); - final GlobalKey shell2 = GlobalKey( - debugLabel: 'shell2', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); + final shell2 = GlobalKey(debugLabel: 'shell2'); expect( () => createRouteConfiguration( navigatorKey: root, @@ -881,9 +814,7 @@ void main() { test( 'does not throw when ShellRoute is the child of another ShellRoute', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); + final root = GlobalKey(debugLabel: 'root'); createRouteConfiguration( routes: [ ShellRoute( @@ -910,15 +841,9 @@ void main() { ); test('Does not throw with valid parentNavigatorKey configuration', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); - final GlobalKey shell2 = GlobalKey( - debugLabel: 'shell2', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); + final shell2 = GlobalKey(debugLabel: 'shell2'); createRouteConfiguration( navigatorKey: root, routes: [ @@ -967,9 +892,7 @@ void main() { test( 'throws when ShellRoute contains a GoRoute with a parentNavigatorKey', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); + final root = GlobalKey(debugLabel: 'root'); expect(() { createRouteConfiguration( navigatorKey: root, @@ -996,12 +919,8 @@ void main() { test( 'All known route strings returned by debugKnownRoutes are correct', () { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); expect( createRouteConfiguration( diff --git a/packages/go_router/test/cupertino_test.dart b/packages/go_router/test/cupertino_test.dart index 1388b984f49..12fa0ee6a2b 100644 --- a/packages/go_router/test/cupertino_test.dart +++ b/packages/go_router/test/cupertino_test.dart @@ -14,8 +14,7 @@ void main() { testWidgets('returns [true] when CupertinoApp is present', ( WidgetTester tester, ) async { - final GlobalKey<_DummyStatefulWidgetState> key = - GlobalKey<_DummyStatefulWidgetState>(); + final key = GlobalKey<_DummyStatefulWidgetState>(); await tester.pumpWidget( CupertinoApp(home: DummyStatefulWidget(key: key)), ); @@ -26,8 +25,7 @@ void main() { testWidgets('returns [false] when MaterialApp is present', ( WidgetTester tester, ) async { - final GlobalKey<_DummyStatefulWidgetState> key = - GlobalKey<_DummyStatefulWidgetState>(); + final key = GlobalKey<_DummyStatefulWidgetState>(); await tester.pumpWidget(MaterialApp(home: DummyStatefulWidget(key: key))); final bool isCupertino = isCupertinoApp(key.currentContext! as Element); expect(isCupertino, false); @@ -35,11 +33,11 @@ void main() { }); test('pageBuilderForCupertinoApp creates a [CupertinoPage] accordingly', () { - final UniqueKey key = UniqueKey(); - const String name = 'name'; - const String arguments = 'arguments'; - const String restorationId = 'restorationId'; - const DummyStatefulWidget child = DummyStatefulWidget(); + final key = UniqueKey(); + const name = 'name'; + const arguments = 'arguments'; + const restorationId = 'restorationId'; + const child = DummyStatefulWidget(); final CupertinoPage page = pageBuilderForCupertinoApp( key: key, name: name, @@ -62,7 +60,7 @@ void main() { ), ); - final Exception exception = Exception('Something went wrong!'); + final exception = Exception('Something went wrong!'); testWidgets( 'shows the exception message when provided', testPageShowsExceptionMessage( diff --git a/packages/go_router/test/custom_transition_page_test.dart b/packages/go_router/test/custom_transition_page_test.dart index 9f4c765d357..0fae9d9a604 100644 --- a/packages/go_router/test/custom_transition_page_test.dart +++ b/packages/go_router/test/custom_transition_page_test.dart @@ -10,12 +10,12 @@ void main() { testWidgets( 'CustomTransitionPage builds its child using transitionsBuilder', (WidgetTester tester) async { - const HomeScreen child = HomeScreen(); - final CustomTransitionPage transition = CustomTransitionPage( + const child = HomeScreen(); + final transition = CustomTransitionPage( transitionsBuilder: expectAsync4((_, __, ___, Widget child) => child), child: child, ); - final GoRouter router = GoRouter( + final router = GoRouter( routes: [ GoRoute(path: '/', pageBuilder: (_, __) => transition), ], @@ -31,9 +31,7 @@ void main() { testWidgets('NoTransitionPage does not apply any transition', ( WidgetTester tester, ) async { - final ValueNotifier showHomeValueNotifier = ValueNotifier( - false, - ); + final showHomeValueNotifier = ValueNotifier(false); addTearDown(showHomeValueNotifier.dispose); await tester.pumpWidget( MaterialApp( @@ -78,7 +76,7 @@ void main() { testWidgets('NoTransitionPage does not apply any reverse transition', ( WidgetTester tester, ) async { - final ValueNotifier showHomeValueNotifier = ValueNotifier(true); + final showHomeValueNotifier = ValueNotifier(true); addTearDown(showHomeValueNotifier.dispose); await tester.pumpWidget( MaterialApp( @@ -111,12 +109,10 @@ void main() { testWidgets('Dismiss a screen by tapping a modal barrier', ( WidgetTester tester, ) async { - const ValueKey homeKey = ValueKey('home'); - const ValueKey dismissibleModalKey = ValueKey( - 'dismissibleModal', - ); + const homeKey = ValueKey('home'); + const dismissibleModalKey = ValueKey('dismissibleModal'); - final GoRouter router = GoRouter( + final router = GoRouter( routes: [ GoRoute( path: '/', @@ -147,12 +143,12 @@ void main() { testWidgets('transitionDuration and reverseTransitionDuration is different', ( WidgetTester tester, ) async { - const ValueKey homeKey = ValueKey('home'); - const ValueKey loginKey = ValueKey('login'); - const Duration transitionDuration = Duration(milliseconds: 50); - const Duration reverseTransitionDuration = Duration(milliseconds: 500); + const homeKey = ValueKey('home'); + const loginKey = ValueKey('login'); + const transitionDuration = Duration(milliseconds: 50); + const reverseTransitionDuration = Duration(milliseconds: 500); - final GoRouter router = GoRouter( + final router = GoRouter( routes: [ GoRoute( path: '/', diff --git a/packages/go_router/test/delegate_test.dart b/packages/go_router/test/delegate_test.dart index ae85f7cca1d..097feaf9e82 100644 --- a/packages/go_router/test/delegate_test.dart +++ b/packages/go_router/test/delegate_test.dart @@ -14,7 +14,7 @@ Future createGoRouter( Listenable? refreshListenable, bool dispose = true, }) async { - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/', routes: [ GoRoute(path: '/', builder: (_, __) => const DummyStatefulWidget()), @@ -33,7 +33,7 @@ Future createGoRouter( Future createGoRouterWithStatefulShellRoute( WidgetTester tester, ) async { - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/', routes: [ GoRoute(path: '/', builder: (_, __) => const DummyStatefulWidget()), @@ -91,7 +91,7 @@ Future createGoRouterWithStatefulShellRouteAndPopScopes( PopInvokedWithResultCallback? onPopBranch, PopInvokedWithResultCallback? onPopBranchSubRoute, }) async { - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/c', routes: [ StatefulShellRoute.indexedStack( @@ -143,7 +143,7 @@ void main() { testWidgets('restore() update currentConfiguration in pop()', ( WidgetTester tester, ) async { - final ValueNotifier valueNotifier = ValueNotifier(0); + final valueNotifier = ValueNotifier(0); final GoRouter goRouter = await createGoRouter( tester, refreshListenable: valueNotifier, @@ -188,9 +188,9 @@ void main() { testWidgets('PopScope intercepts back button on root route', ( WidgetTester tester, ) async { - bool didPop = false; + var didPop = false; - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/', routes: [ GoRoute( @@ -225,9 +225,9 @@ void main() { testWidgets( 'PopScope intercepts back button on StatefulShellRoute builder route', (WidgetTester tester) async { - bool didPopShellRouteBuilder = false; - bool didPopBranch = false; - bool didPopBranchSubRoute = false; + var didPopShellRouteBuilder = false; + var didPopBranch = false; + var didPopBranchSubRoute = false; await createGoRouterWithStatefulShellRouteAndPopScopes( tester, @@ -253,9 +253,9 @@ void main() { testWidgets( 'PopScope intercepts back button on StatefulShellRoute branch route', (WidgetTester tester) async { - bool didPopShellRouteBuilder = false; - bool didPopBranch = false; - bool didPopBranchSubRoute = false; + var didPopShellRouteBuilder = false; + var didPopBranch = false; + var didPopBranchSubRoute = false; await createGoRouterWithStatefulShellRouteAndPopScopes( tester, @@ -281,9 +281,9 @@ void main() { testWidgets( 'PopScope intercepts back button on StatefulShellRoute branch sub route', (WidgetTester tester) async { - bool didPopShellRouteBuilder = false; - bool didPopBranch = false; - bool didPopBranchSubRoute = false; + var didPopShellRouteBuilder = false; + var didPopBranch = false; + var didPopBranchSubRoute = false; final GoRouter goRouter = await createGoRouterWithStatefulShellRouteAndPopScopes( @@ -321,8 +321,8 @@ void main() { }); testWidgets('throw if nothing to pop', (WidgetTester tester) async { - final GlobalKey rootKey = GlobalKey(); - final GlobalKey navKey = GlobalKey(); + final rootKey = GlobalKey(); + final navKey = GlobalKey(); final GoRouter goRouter = await createRouter([ ShellRoute( navigatorKey: rootKey, @@ -357,8 +357,8 @@ void main() { testWidgets('poproute return false if nothing to pop', ( WidgetTester tester, ) async { - final GlobalKey rootKey = GlobalKey(); - final GlobalKey navKey = GlobalKey(); + final rootKey = GlobalKey(); + final navKey = GlobalKey(); final GoRouter goRouter = await createRouter([ ShellRoute( navigatorKey: rootKey, @@ -444,7 +444,7 @@ void main() { await tester.pumpAndSettle(); expect(goRouter.routerDelegate.currentConfiguration.matches.length, 2); - final ShellRouteMatch shellRouteMatch = + final shellRouteMatch = goRouter.routerDelegate.currentConfiguration.matches.last as ShellRouteMatch; expect(shellRouteMatch.matches.length, 2); @@ -469,7 +469,7 @@ void main() { await tester.pumpAndSettle(); expect(goRouter.routerDelegate.currentConfiguration.matches.length, 2); - final ShellRouteMatch shellRouteMatch = + final shellRouteMatch = goRouter.routerDelegate.currentConfiguration.matches.last as ShellRouteMatch; expect(shellRouteMatch.matches.length, 2); @@ -506,10 +506,7 @@ void main() { testWidgets('It should return false if there are no matches in the stack', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( - initialLocation: '/', - routes: [], - ); + final goRouter = GoRouter(initialLocation: '/', routes: []); addTearDown(goRouter.dispose); await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter)); await tester.pumpAndSettle(); @@ -522,7 +519,7 @@ void main() { testWidgets('It should replace the last match with the given one', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/', routes: [ GoRoute(path: '/', builder: (_, __) => const SizedBox()), @@ -595,7 +592,7 @@ void main() { testWidgets('It should replace the last match with the given one', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/', routes: [ GoRoute(path: '/', builder: (_, __) => const SizedBox()), @@ -648,7 +645,7 @@ void main() { testWidgets('It should replace the last match with the given one', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/', routes: [ GoRoute(path: '/', builder: (_, __) => const SizedBox()), @@ -750,7 +747,7 @@ void main() { WidgetTester tester, { Listenable? refreshListenable, }) async { - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/', routes: [ GoRoute( @@ -869,7 +866,7 @@ void main() { testWidgets('dispose unsubscribes from refreshListenable', ( WidgetTester tester, ) async { - final FakeRefreshListenable refreshListenable = FakeRefreshListenable(); + final refreshListenable = FakeRefreshListenable(); addTearDown(refreshListenable.dispose); final GoRouter goRouter = await createGoRouter( diff --git a/packages/go_router/test/error_page_test.dart b/packages/go_router/test/error_page_test.dart index 339f4299859..b5ac263c1c7 100644 --- a/packages/go_router/test/error_page_test.dart +++ b/packages/go_router/test/error_page_test.dart @@ -14,7 +14,7 @@ void main() { testPageNotFound(widget: widgetsAppBuilder(home: const ErrorScreen(null))), ); - final Exception exception = Exception('Something went wrong!'); + final exception = Exception('Something went wrong!'); testWidgets( 'shows the exception message when provided', testPageShowsExceptionMessage( diff --git a/packages/go_router/test/exception_handling_test.dart b/packages/go_router/test/exception_handling_test.dart index f24b48075b5..8578c6e8754 100644 --- a/packages/go_router/test/exception_handling_test.dart +++ b/packages/go_router/test/exception_handling_test.dart @@ -12,7 +12,7 @@ void main() { testWidgets('throws if more than one exception handlers are provided.', ( WidgetTester tester, ) async { - bool thrown = false; + var thrown = false; try { GoRouter( routes: [ @@ -125,7 +125,7 @@ void main() { testWidgets('can catch errors thrown in redirect callbacks', ( WidgetTester tester, ) async { - bool exceptionCaught = false; + var exceptionCaught = false; String? errorMessage; final GoRouter router = await createRouter( @@ -181,7 +181,7 @@ void main() { testWidgets('can catch non-GoException errors thrown in redirect callbacks', ( WidgetTester tester, ) async { - bool exceptionCaught = false; + var exceptionCaught = false; final GoRouter router = await createRouter( [ diff --git a/packages/go_router/test/extension_test.dart b/packages/go_router/test/extension_test.dart index 9a28d17d4c7..d65bf21b829 100644 --- a/packages/go_router/test/extension_test.dart +++ b/packages/go_router/test/extension_test.dart @@ -12,7 +12,7 @@ void main() { WidgetTester tester, { Listenable? refreshListenable, }) async { - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/', routes: [ GoRoute( diff --git a/packages/go_router/test/extra_codec_test.dart b/packages/go_router/test/extra_codec_test.dart index 859fdf7c558..67d832fdfa1 100644 --- a/packages/go_router/test/extra_codec_test.dart +++ b/packages/go_router/test/extra_codec_test.dart @@ -15,9 +15,9 @@ void main() { testWidgets('router rebuild with extra codec works', ( WidgetTester tester, ) async { - const String initialString = 'some string'; - const String empty = 'empty'; - final GoRouter router = GoRouter( + const initialString = 'some string'; + const empty = 'empty'; + final router = GoRouter( initialLocation: '/', extraCodec: ComplexDataCodec(), initialExtra: ComplexData(initialString), @@ -37,7 +37,7 @@ void main() { ); addTearDown(router.dispose); - final SimpleDependency dependency = SimpleDependency(); + final dependency = SimpleDependency(); addTearDown(() => dependency.dispose()); await tester.pumpWidget( @@ -56,9 +56,9 @@ void main() { testWidgets( 'Restores state correctly', (WidgetTester tester) async { - const String initialString = 'some string'; - const String empty = 'empty'; - final List routes = [ + const initialString = 'some string'; + const empty = 'empty'; + final routes = [ GoRoute( path: '/', builder: (_, GoRouterState state) { diff --git a/packages/go_router/test/go_route_test.dart b/packages/go_router/test/go_route_test.dart index 4ede231e47f..a741577c580 100644 --- a/packages/go_router/test/go_route_test.dart +++ b/packages/go_router/test/go_route_test.dart @@ -24,12 +24,10 @@ void main() { testWidgets('ShellRoute can use parent navigator key', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey shellNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final shellNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ ShellRoute( navigatorKey: shellNavigatorKey, builder: (BuildContext context, GoRouterState state, Widget child) { @@ -92,12 +90,10 @@ void main() { testWidgets('StatefulShellRoute can use parent navigator key', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey shellNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final shellNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ ShellRoute( navigatorKey: shellNavigatorKey, builder: (BuildContext context, GoRouterState state, Widget child) { @@ -159,9 +155,9 @@ void main() { }); test('ShellRoute parent navigator key throw if not match', () async { - final GlobalKey key1 = GlobalKey(); - final GlobalKey key2 = GlobalKey(); - bool hasError = false; + final key1 = GlobalKey(); + final key2 = GlobalKey(); + var hasError = false; try { ShellRoute( navigatorKey: key1, @@ -293,9 +289,9 @@ void main() { testWidgets( 'throw if sub route does not conform with parent navigator key', (WidgetTester tester) async { - final GlobalKey key1 = GlobalKey(); - final GlobalKey key2 = GlobalKey(); - bool hasError = false; + final key1 = GlobalKey(); + final key2 = GlobalKey(); + var hasError = false; try { ShellRoute( navigatorKey: key1, diff --git a/packages/go_router/test/go_router_state_test.dart b/packages/go_router/test/go_router_state_test.dart index 8d82976c14d..2624084dea1 100644 --- a/packages/go_router/test/go_router_state_test.dart +++ b/packages/go_router/test/go_router_state_test.dart @@ -12,7 +12,7 @@ import 'test_helpers.dart'; void main() { group('GoRouterState from context', () { testWidgets('works in builder', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, _) { @@ -39,7 +39,7 @@ void main() { }); testWidgets('works in subtree', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) { @@ -78,7 +78,7 @@ void main() { testWidgets('path parameter persists after page is popped', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) { @@ -121,8 +121,8 @@ void main() { testWidgets('registry retains GoRouterState for exiting route', ( WidgetTester tester, ) async { - final UniqueKey key = UniqueKey(); - final List routes = [ + final key = UniqueKey(); + final routes = [ GoRoute( path: '/', builder: (_, __) { @@ -173,9 +173,9 @@ void main() { testWidgets('imperative pop clears out registry', ( WidgetTester tester, ) async { - final UniqueKey key = UniqueKey(); - final GlobalKey nav = GlobalKey(); - final List routes = [ + final key = UniqueKey(); + final nav = GlobalKey(); + final routes = [ GoRoute( path: '/', builder: (_, __) { @@ -227,7 +227,7 @@ void main() { testWidgets( 'GoRouterState look up should be resilient when there is a nested navigator.', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) { @@ -263,11 +263,9 @@ void main() { testWidgets('GoRouterState topRoute accessible from StatefulShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey shellNavigatorKey = - GlobalKey(); - final List routes = [ + final rootNavigatorKey = GlobalKey(); + final shellNavigatorKey = GlobalKey(); + final routes = [ ShellRoute( navigatorKey: shellNavigatorKey, builder: (BuildContext context, GoRouterState state, Widget child) { diff --git a/packages/go_router/test/go_router_test.dart b/packages/go_router/test/go_router_test.dart index b77f6fc6f71..d47fee16665 100644 --- a/packages/go_router/test/go_router_test.dart +++ b/packages/go_router/test/go_router_test.dart @@ -22,9 +22,7 @@ const bool enableLogs = false; final Logger log = Logger('GoRouter tests'); Future sendPlatformUrl(String url, WidgetTester tester) async { - final Map testRouteInformation = { - 'location': url, - }; + final testRouteInformation = {'location': url}; final ByteData message = const JSONMethodCodec().encodeMethodCall( MethodCall('pushRouteInformation', testRouteInformation), ); @@ -42,7 +40,7 @@ void main() { group('path routes', () { testWidgets('match home route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -60,7 +58,7 @@ void main() { testWidgets( 'If there is more than one route to match, use the first match', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute(name: '1', path: '/', builder: dummy), GoRoute(name: '2', path: '/', builder: dummy), ]; @@ -78,7 +76,7 @@ void main() { testWidgets('pushReplacement and replace when only one matches', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute(name: '1', path: '/', builder: dummy), GoRoute(name: '2', path: '/a', builder: dummy), GoRoute(name: '3', path: '/b', builder: dummy), @@ -119,9 +117,7 @@ void main() { }); testWidgets('match no routes', (WidgetTester tester) async { - final List routes = [ - GoRoute(path: '/', builder: dummy), - ]; + final routes = [GoRoute(path: '/', builder: dummy)]; final GoRouter router = await createRouter( routes, @@ -138,7 +134,7 @@ void main() { }); testWidgets('match 2nd top level route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -164,7 +160,7 @@ void main() { testWidgets('match 2nd top level route with subroutes', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -197,7 +193,7 @@ void main() { testWidgets('match top level route when location has trailing /', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -223,7 +219,7 @@ void main() { testWidgets('match top level route when location has trailing / (2)', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/profile', builder: dummy, @@ -245,7 +241,7 @@ void main() { testWidgets('match top level route when location has trailing / (3)', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/profile', builder: dummy, @@ -267,7 +263,7 @@ void main() { testWidgets( 'match top level route when location has scheme/host and has trailing /', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -289,7 +285,7 @@ void main() { testWidgets( 'match top level route when location has scheme/host and has trailing / (2)', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -316,7 +312,7 @@ void main() { testWidgets( 'match top level route when location has scheme/host and has trailing / (3)', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/profile', builder: dummy, @@ -339,7 +335,7 @@ void main() { testWidgets( 'match top level route when location has scheme/host and has trailing / (4)', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/profile', builder: dummy, @@ -363,11 +359,11 @@ void main() { WidgetTester tester, ) async { // Regression test for https://github.com/flutter/flutter/issues/123369. - final UniqueKey home = UniqueKey(); - final UniqueKey settings = UniqueKey(); - final UniqueKey dialog = UniqueKey(); - final GlobalKey navKey = GlobalKey(); - final List routes = [ + final home = UniqueKey(); + final settings = UniqueKey(); + final dialog = UniqueKey(); + final navKey = GlobalKey(); + final routes = [ GoRoute( path: '/', builder: (_, __) => DummyScreen(key: home), @@ -418,7 +414,7 @@ void main() { WidgetTester tester, ) async { // Regression test for https://github.com/flutter/flutter/issues/141906. - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Text('home'), @@ -480,8 +476,8 @@ void main() { ) async { // Regression test for https://github.com/flutter/flutter/issues/#132229. - final GlobalKey navKey = GlobalKey(); - final List routes = [ + final navKey = GlobalKey(); + final routes = [ GoRoute( path: '/', pageBuilder: (_, __) => @@ -527,7 +523,7 @@ void main() { }); testWidgets('match sub-route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -555,7 +551,7 @@ void main() { }); testWidgets('match sub-routes', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -633,7 +629,7 @@ void main() { testWidgets('return first matching route if too many subroutes', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -687,7 +683,7 @@ void main() { }); testWidgets('router state', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -777,7 +773,7 @@ void main() { }); testWidgets('match path case insensitively', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -792,7 +788,7 @@ void main() { ]; final GoRouter router = await createRouter(routes, tester); - const String loc = '/FaMiLy/f2'; + const loc = '/FaMiLy/f2'; router.go(loc); await tester.pumpAndSettle(); final List matches = @@ -811,7 +807,7 @@ void main() { }); testWidgets('match path case sensitively', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -825,7 +821,7 @@ void main() { ]; final GoRouter router = await createRouter(routes, tester); - const String wrongLoc = '/FaMiLy/f2'; + const wrongLoc = '/FaMiLy/f2'; router.go(wrongLoc); await tester.pumpAndSettle(); @@ -833,7 +829,7 @@ void main() { expect(find.byType(MaterialErrorScreen), findsOne); expect(find.text('Page Not Found'), findsOne); - const String loc = '/family/f2'; + const loc = '/family/f2'; router.go(loc); await tester.pumpAndSettle(); final List matches = @@ -848,7 +844,7 @@ void main() { testWidgets('supports routes with a different case', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -867,14 +863,14 @@ void main() { ]; final GoRouter router = await createRouter(routes, tester); - const String loc1 = '/abc'; + const loc1 = '/abc'; router.go(loc1); await tester.pumpAndSettle(); expect(find.byKey(const Key('abc')), findsOne); - const String loc = '/ABC'; + const loc = '/ABC'; router.go(loc); await tester.pumpAndSettle(); @@ -884,7 +880,7 @@ void main() { testWidgets( 'If there is more than one route to match, use the first match.', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute(path: '/', builder: dummy), GoRoute(path: '/page1', builder: dummy), GoRoute(path: '/page1', builder: dummy), @@ -904,7 +900,7 @@ void main() { testWidgets('Handles the Android back button correctly', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) { @@ -934,10 +930,9 @@ void main() { testWidgets('Handles the Android back button correctly with ShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ ShellRoute( builder: (BuildContext context, GoRouterState state, Widget child) { return Scaffold( @@ -1012,7 +1007,7 @@ void main() { testWidgets( 'Handles the Android back button when parentNavigatorKey is set to the root navigator', (WidgetTester tester) async { - final List log = []; + final log = []; TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMethodCallHandler(SystemChannels.platform, ( MethodCall methodCall, @@ -1030,10 +1025,9 @@ void main() { expect(log, expectations); } - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ GoRoute( parentNavigatorKey: rootNavigatorKey, path: '/a', @@ -1062,7 +1056,7 @@ void main() { testWidgets("Handles the Android back button when ShellRoute can't pop", ( WidgetTester tester, ) async { - final List log = []; + final log = []; TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMethodCallHandler(SystemChannels.platform, ( MethodCall methodCall, @@ -1077,10 +1071,9 @@ void main() { expect(log, expectations); } - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ GoRoute( parentNavigatorKey: rootNavigatorKey, path: '/a', @@ -1125,10 +1118,10 @@ void main() { testWidgets('does not crash when inherited widget changes', ( WidgetTester tester, ) async { - final ValueNotifier notifier = ValueNotifier('initial'); + final notifier = ValueNotifier('initial'); addTearDown(notifier.dispose); - final List routes = [ + final routes = [ GoRoute( path: '/', pageBuilder: (BuildContext context, GoRouterState state) { @@ -1140,7 +1133,7 @@ void main() { }, ), ]; - final GoRouter router = GoRouter(routes: routes); + final router = GoRouter(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router( @@ -1160,7 +1153,7 @@ void main() { testWidgets( 'Handles the Android back button when a second Shell has a GoRoute with parentNavigator key', (WidgetTester tester) async { - final List log = []; + final log = []; TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMethodCallHandler(SystemChannels.platform, ( MethodCall methodCall, @@ -1175,14 +1168,11 @@ void main() { expect(log, expectations); } - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey shellNavigatorKeyA = - GlobalKey(); - final GlobalKey shellNavigatorKeyB = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final shellNavigatorKeyA = GlobalKey(); + final shellNavigatorKeyB = GlobalKey(); - final List routes = [ + final routes = [ ShellRoute( navigatorKey: shellNavigatorKeyA, builder: (BuildContext context, GoRouterState state, Widget child) { @@ -1254,7 +1244,7 @@ void main() { ); group('report correct url', () { - final List log = []; + final log = []; setUp(() { GoRouter.optionURLReflectsImperativeAPIs = false; TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger @@ -1276,7 +1266,7 @@ void main() { 'on push shell route with optionURLReflectImperativeAPIs = true', (WidgetTester tester) async { GoRouter.optionURLReflectsImperativeAPIs = true; - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -1302,9 +1292,7 @@ void main() { log.clear(); router.push('/c?foo=bar'); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); await tester.pumpAndSettle(); expect(log, [ isMethodCall('selectMultiEntryHistory', arguments: null), @@ -1322,7 +1310,7 @@ void main() { WidgetTester tester, ) async { GoRouter.optionURLReflectsImperativeAPIs = true; - final List routes = [ + final routes = [ GoRoute(path: '/', builder: (_, __) => const DummyScreen()), GoRoute(path: '/settings', builder: (_, __) => const DummyScreen()), ]; @@ -1331,9 +1319,7 @@ void main() { log.clear(); router.push('/settings'); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); await tester.pumpAndSettle(); expect(log, [ isMethodCall('selectMultiEntryHistory', arguments: null), @@ -1347,7 +1333,7 @@ void main() { }); testWidgets('on push', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute(path: '/', builder: (_, __) => const DummyScreen()), GoRoute(path: '/settings', builder: (_, __) => const DummyScreen()), ]; @@ -1356,9 +1342,7 @@ void main() { log.clear(); router.push('/settings'); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); await tester.pumpAndSettle(); expect(log, [ isMethodCall('selectMultiEntryHistory', arguments: null), @@ -1371,7 +1355,7 @@ void main() { }); testWidgets('on pop', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const DummyScreen(), @@ -1386,9 +1370,7 @@ void main() { tester, initialLocation: '/settings', ); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); log.clear(); router.pop(); await tester.pumpAndSettle(); @@ -1403,7 +1385,7 @@ void main() { }); testWidgets('on pop twice', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const DummyScreen(), @@ -1427,9 +1409,7 @@ void main() { tester, initialLocation: '/settings/profile', ); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); log.clear(); router.pop(); router.pop(); @@ -1445,7 +1425,7 @@ void main() { }); testWidgets('on pop with path parameters', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const DummyScreen(), @@ -1463,9 +1443,7 @@ void main() { tester, initialLocation: '/settings/123', ); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); log.clear(); router.pop(); await tester.pumpAndSettle(); @@ -1482,7 +1460,7 @@ void main() { testWidgets('on pop with path parameters case 2', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const DummyScreen(), @@ -1497,9 +1475,7 @@ void main() { tester, initialLocation: '/123/', ); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); log.clear(); router.pop(); await tester.pumpAndSettle(); @@ -1516,10 +1492,9 @@ void main() { testWidgets('Can manually pop root navigator and display correct url', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) { @@ -1558,9 +1533,7 @@ void main() { initialLocation: '/b/c', navigatorKey: rootNavigatorKey, ); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); expect(find.text('Screen C'), findsOneWidget); expect(log, [ isMethodCall('selectMultiEntryHistory', arguments: null), @@ -1589,7 +1562,7 @@ void main() { testWidgets('can handle route information update from browser', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const DummyScreen(key: ValueKey('home')), @@ -1615,14 +1588,12 @@ void main() { await tester.pumpAndSettle(); expect(find.byKey(const ValueKey('settings-1')), findsOneWidget); - final Map arguments = - log.last.arguments as Map; + final arguments = log.last.arguments as Map; // Stores the state after the last push. This should contain the encoded // RouteMatchList. final Object? state = (log.last.arguments as Map)['state']; - final String location = - (arguments['location'] ?? arguments['uri']!) as String; + final location = (arguments['location'] ?? arguments['uri']!) as String; router.go('/'); await tester.pumpAndSettle(); @@ -1647,15 +1618,15 @@ void main() { testWidgets('works correctly with async redirect', ( WidgetTester tester, ) async { - final UniqueKey login = UniqueKey(); - final List routes = [ + final login = UniqueKey(); + final routes = [ GoRoute(path: '/', builder: (_, __) => const DummyScreen()), GoRoute( path: '/login', builder: (_, __) => DummyScreen(key: login), ), ]; - final Completer completer = Completer(); + final completer = Completer(); final GoRouter router = await createRouter( routes, tester, @@ -1664,9 +1635,7 @@ void main() { return '/login'; }, ); - final RouteMatchListCodec codec = RouteMatchListCodec( - router.configuration, - ); + final codec = RouteMatchListCodec(router.configuration); await tester.pumpAndSettle(); expect(find.byKey(login), findsNothing); expect(tester.takeException(), isNull); @@ -1690,7 +1659,7 @@ void main() { group('named routes', () { testWidgets('match home route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -1704,7 +1673,7 @@ void main() { }); testWidgets('match too many routes', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute(name: 'home', path: '/', builder: dummy), GoRoute(name: 'home', path: '/', builder: dummy), ]; @@ -1722,7 +1691,7 @@ void main() { testWidgets('match no routes', (WidgetTester tester) async { await expectLater(() async { - final List routes = [ + final routes = [ GoRoute(name: 'home', path: '/', builder: dummy), ]; final GoRouter router = await createRouter(routes, tester); @@ -1731,7 +1700,7 @@ void main() { }); testWidgets('match 2nd top level route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -1751,7 +1720,7 @@ void main() { }); testWidgets('match sub-route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -1773,7 +1742,7 @@ void main() { }); testWidgets('match w/ params', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -1811,7 +1780,7 @@ void main() { }); testWidgets('too few params', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -1843,7 +1812,7 @@ void main() { }); testWidgets('cannot match case insensitive', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -1883,7 +1852,7 @@ void main() { }); testWidgets('too few params', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'family', path: '/family/:fid', @@ -1898,7 +1867,7 @@ void main() { }); testWidgets('too many params', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'family', path: '/family/:fid', @@ -1916,7 +1885,7 @@ void main() { }); testWidgets('sparsely named routes', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute(path: '/', builder: dummy, redirect: (_, __) => '/family/f2'), GoRoute( path: '/family/:fid', @@ -1948,8 +1917,8 @@ void main() { testWidgets('preserve path param spaces and slashes', ( WidgetTester tester, ) async { - const String param1 = 'param w/ spaces and slashes'; - final List routes = [ + const param1 = 'param w/ spaces and slashes'; + final routes = [ GoRoute( name: 'page1', path: '/page1/:param1', @@ -1976,8 +1945,8 @@ void main() { testWidgets('preserve query param spaces and slashes', ( WidgetTester tester, ) async { - const String param1 = 'param w/ spaces and slashes'; - final List routes = [ + const param1 = 'param w/ spaces and slashes'; + final routes = [ GoRoute( name: 'page1', path: '/page1', @@ -2003,7 +1972,7 @@ void main() { group('go relative', () { testWidgets('from default route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2025,7 +1994,7 @@ void main() { }); testWidgets('from non-default route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/home', builder: (BuildContext context, GoRouterState state) => @@ -2048,10 +2017,10 @@ void main() { }); testWidgets('match w/ path params', (WidgetTester tester) async { - const String fid = 'f2'; - const String pid = 'p1'; + const fid = 'f2'; + const pid = 'p1'; - final List routes = [ + final routes = [ GoRoute( path: '/home', builder: (BuildContext context, GoRouterState state) => @@ -2095,10 +2064,10 @@ void main() { }); testWidgets('match w/ query params', (WidgetTester tester) async { - const String fid = 'f2'; - const String pid = 'p1'; + const fid = 'f2'; + const pid = 'p1'; - final List routes = [ + final routes = [ GoRoute( path: '/home', builder: (BuildContext context, GoRouterState state) => @@ -2140,9 +2109,9 @@ void main() { }); testWidgets('too few params', (WidgetTester tester) async { - const String pid = 'p1'; + const pid = 'p1'; - final List routes = [ + final routes = [ GoRoute( path: '/home', builder: (BuildContext context, GoRouterState state) => @@ -2181,7 +2150,7 @@ void main() { }); testWidgets('match no route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/home', builder: (BuildContext context, GoRouterState state) => @@ -2223,8 +2192,8 @@ void main() { testWidgets('preserve path param spaces and slashes', ( WidgetTester tester, ) async { - const String param1 = 'param w/ spaces and slashes'; - final List routes = [ + const param1 = 'param w/ spaces and slashes'; + final routes = [ GoRoute( path: '/home', builder: dummy, @@ -2245,7 +2214,7 @@ void main() { tester, initialLocation: '/home', ); - final String loc = 'page1/${Uri.encodeComponent(param1)}'; + final loc = 'page1/${Uri.encodeComponent(param1)}'; router.go('./$loc'); await tester.pumpAndSettle(); @@ -2258,8 +2227,8 @@ void main() { testWidgets('preserve query param spaces and slashes', ( WidgetTester tester, ) async { - const String param1 = 'param w/ spaces and slashes'; - final List routes = [ + const param1 = 'param w/ spaces and slashes'; + final routes = [ GoRoute( path: '/home', builder: dummy, @@ -2281,7 +2250,7 @@ void main() { initialLocation: '/home', ); - final String loc = Uri( + final loc = Uri( path: 'page1', queryParameters: {'param1': param1}, ).toString(); @@ -2297,7 +2266,7 @@ void main() { group('redirects', () { testWidgets('top-level redirect', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2316,7 +2285,7 @@ void main() { ], ), ]; - bool redirected = false; + var redirected = false; final GoRouter router = await createRouter( routes, @@ -2348,8 +2317,8 @@ void main() { testWidgets('error thrown during redirect can be caught by onException', ( WidgetTester tester, ) async { - bool exceptionCaught = false; - final List routes = [ + var exceptionCaught = false; + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2400,7 +2369,7 @@ void main() { WidgetTester tester, ) async { String? capturedNamedLocation; - final List routes = [ + final routes = [ GoRoute( path: '/', name: 'home', @@ -2430,7 +2399,7 @@ void main() { testWidgets('redirect can redirect to same path', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2469,7 +2438,7 @@ void main() { testWidgets('top-level redirect w/ named routes', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -2507,7 +2476,7 @@ void main() { }); testWidgets('route-level redirect', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2540,7 +2509,7 @@ void main() { testWidgets('top-level redirect take priority over route level', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2569,7 +2538,7 @@ void main() { ], ), ]; - bool redirected = false; + var redirected = false; final GoRouter router = await createRouter( routes, tester, @@ -2593,7 +2562,7 @@ void main() { testWidgets('route-level redirect w/ named routes', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -2628,7 +2597,7 @@ void main() { }); testWidgets('multiple mixed redirect', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2767,7 +2736,7 @@ void main() { testWidgets('expect null path/fullPath on top-level redirect', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2789,7 +2758,7 @@ void main() { }); testWidgets('top-level redirect state', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2827,7 +2796,7 @@ void main() { testWidgets('top-level redirect state contains path parameters', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -2861,8 +2830,8 @@ void main() { }); testWidgets('route-level redirect state', (WidgetTester tester) async { - const String loc = '/book/0'; - final List routes = [ + const loc = '/book/0'; + final routes = [ GoRoute( path: '/book/:bookId', redirect: (BuildContext context, GoRouterState state) { @@ -2893,7 +2862,7 @@ void main() { testWidgets('sub-sub-route-level redirect params', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext c, GoRouterState s) => const HomeScreen(), @@ -3000,10 +2969,10 @@ void main() { }); testWidgets('extra not null in redirect', (WidgetTester tester) async { - bool isCallTopRedirect = false; - bool isCallRouteRedirect = false; + var isCallTopRedirect = false; + var isCallRouteRedirect = false; - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -3050,7 +3019,7 @@ void main() { testWidgets('parent route level redirect take priority over child', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3102,7 +3071,7 @@ void main() { testWidgets('redirect when go to a shell route', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ ShellRoute( redirect: (BuildContext context, GoRouterState state) => '/dummy', builder: (BuildContext context, GoRouterState state, Widget child) => @@ -3129,7 +3098,7 @@ void main() { final GoRouter router = await createRouter(routes, tester); - for (final String shellRoute in ['/other', '/other2']) { + for (final shellRoute in ['/other', '/other2']) { router.go(shellRoute); await tester.pump(); expect( @@ -3142,7 +3111,7 @@ void main() { testWidgets('redirect when go to a stateful shell route', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( redirect: (BuildContext context, GoRouterState state) => '/dummy', builder: @@ -3183,7 +3152,7 @@ void main() { final GoRouter router = await createRouter(routes, tester); - for (final String shellRoute in ['/other', '/other2']) { + for (final shellRoute in ['/other', '/other2']) { router.go(shellRoute); await tester.pump(); expect( @@ -3196,7 +3165,7 @@ void main() { group('initial location', () { testWidgets('initial location', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3223,7 +3192,7 @@ void main() { }); testWidgets('initial location with extra', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3253,7 +3222,7 @@ void main() { }); testWidgets('initial location w/ redirection', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3283,7 +3252,7 @@ void main() { .defaultRouteNameTestValue = '/dummy'; - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3320,7 +3289,7 @@ void main() { }); group('_effectiveInitialLocation()', () { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3382,7 +3351,7 @@ void main() { group('params', () { testWidgets('preserve path param case', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3396,8 +3365,8 @@ void main() { ]; final GoRouter router = await createRouter(routes, tester); - for (final String fid in ['f2', 'F2']) { - final String loc = '/family/$fid'; + for (final fid in ['f2', 'F2']) { + final loc = '/family/$fid'; router.go(loc); await tester.pumpAndSettle(); final RouteMatchList matches = @@ -3411,7 +3380,7 @@ void main() { }); testWidgets('preserve query param case', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3425,8 +3394,8 @@ void main() { ]; final GoRouter router = await createRouter(routes, tester); - for (final String fid in ['f2', 'F2']) { - final String loc = '/family?fid=$fid'; + for (final fid in ['f2', 'F2']) { + final loc = '/family?fid=$fid'; router.go(loc); await tester.pumpAndSettle(); final RouteMatchList matches = @@ -3442,8 +3411,8 @@ void main() { testWidgets('preserve path param spaces and slashes', ( WidgetTester tester, ) async { - const String param1 = 'param w/ spaces and slashes'; - final List routes = [ + const param1 = 'param w/ spaces and slashes'; + final routes = [ GoRoute( path: '/page1/:param1', builder: (BuildContext c, GoRouterState s) { @@ -3454,7 +3423,7 @@ void main() { ]; final GoRouter router = await createRouter(routes, tester); - final String loc = '/page1/${Uri.encodeComponent(param1)}'; + final loc = '/page1/${Uri.encodeComponent(param1)}'; router.go(loc); await tester.pumpAndSettle(); @@ -3466,8 +3435,8 @@ void main() { testWidgets('preserve query param spaces and slashes', ( WidgetTester tester, ) async { - const String param1 = 'param w/ spaces and slashes'; - final List routes = [ + const param1 = 'param w/ spaces and slashes'; + final routes = [ GoRoute( path: '/page1', builder: (BuildContext c, GoRouterState s) { @@ -3485,7 +3454,7 @@ void main() { expect(find.byType(DummyScreen), findsOneWidget); expect(matches.uri.queryParameters['param1'], param1); - final String loc = '/page1?param1=${Uri.encodeQueryComponent(param1)}'; + final loc = '/page1?param1=${Uri.encodeQueryComponent(param1)}'; router.go(loc); await tester.pumpAndSettle(); @@ -3621,7 +3590,7 @@ void main() { }); testWidgets('keep param in nested route', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3646,9 +3615,9 @@ void main() { ]; final GoRouter router = await createRouter(routes, tester); - const String fid = 'f1'; - const String pid = 'p2'; - const String loc = '/family/$fid/person/$pid'; + const fid = 'f1'; + const pid = 'p2'; + const loc = '/family/$fid/person/$pid'; router.push(loc); await tester.pumpAndSettle(); @@ -3656,8 +3625,7 @@ void main() { expect(matches.matches, hasLength(2)); expect(find.byType(PersonScreen), findsOneWidget); - final ImperativeRouteMatch imperativeRouteMatch = - matches.matches.last as ImperativeRouteMatch; + final imperativeRouteMatch = matches.matches.last as ImperativeRouteMatch; expect(imperativeRouteMatch.matches.uri.toString(), loc); expect(imperativeRouteMatch.matches.pathParameters['fid'], fid); expect(imperativeRouteMatch.matches.pathParameters['pid'], pid); @@ -3667,7 +3635,7 @@ void main() { WidgetTester tester, ) async { StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -3724,9 +3692,9 @@ void main() { tester, initialLocation: '/a', ); - const String fid = 'f1'; - const String pid = 'p2'; - const String loc = '/family/$fid/person/$pid'; + const fid = 'f1'; + const pid = 'p2'; + const loc = '/family/$fid/person/$pid'; router.go(loc); await tester.pumpAndSettle(); @@ -3734,8 +3702,7 @@ void main() { expect(router.routerDelegate.currentConfiguration.uri.toString(), loc); expect(matches.matches, hasLength(1)); - final ShellRouteMatch shellRouteMatch = - matches.matches.first as ShellRouteMatch; + final shellRouteMatch = matches.matches.first as ShellRouteMatch; expect(shellRouteMatch.matches, hasLength(3)); expect(find.byType(PersonScreen), findsOneWidget); expect(matches.pathParameters['fid'], fid); @@ -3760,7 +3727,7 @@ void main() { ) async { StatefulNavigationShell? routeState; Object? latestExtra; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -3795,7 +3762,7 @@ void main() { ], ), ]; - final Object expectedExtra = Object(); + final expectedExtra = Object(); await createRouter( routes, @@ -3824,7 +3791,7 @@ void main() { expect(uri.queryParametersAll, queryParametersAll); } - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3884,7 +3851,7 @@ void main() { expect(uri.queryParametersAll, queryParametersAll); } - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3935,7 +3902,7 @@ void main() { expect(uri.queryParametersAll, queryParametersAll); } - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -3974,9 +3941,8 @@ void main() { }); group('GoRouterHelper extensions', () { - final GlobalKey key = - GlobalKey(); - final List routes = [ + final key = GlobalKey(); + final routes = [ GoRoute( path: '/', name: 'home', @@ -3991,22 +3957,16 @@ void main() { ), ]; - const String name = 'page1'; - final Map params = { - 'a-param-key': 'a-param-value', - }; - final Map queryParams = { - 'a-query-key': 'a-query-value', - }; - const String location = '/page1'; - const String extra = 'Hello'; + const name = 'page1'; + final params = {'a-param-key': 'a-param-value'}; + final queryParams = {'a-query-key': 'a-query-value'}; + const location = '/page1'; + const extra = 'Hello'; testWidgets('calls [namedLocation] on closest GoRouter', ( WidgetTester tester, ) async { - final GoRouterNamedLocationSpy router = GoRouterNamedLocationSpy( - routes: routes, - ); + final router = GoRouterNamedLocationSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router(routerConfig: router, title: 'GoRouter Example'), @@ -4022,7 +3982,7 @@ void main() { }); testWidgets('calls [go] on closest GoRouter', (WidgetTester tester) async { - final GoRouterGoSpy router = GoRouterGoSpy(routes: routes); + final router = GoRouterGoSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router(routerConfig: router, title: 'GoRouter Example'), @@ -4035,7 +3995,7 @@ void main() { testWidgets('calls [goNamed] on closest GoRouter', ( WidgetTester tester, ) async { - final GoRouterGoNamedSpy router = GoRouterGoNamedSpy(routes: routes); + final router = GoRouterGoNamedSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router(routerConfig: router, title: 'GoRouter Example'), @@ -4055,7 +4015,7 @@ void main() { testWidgets('calls [push] on closest GoRouter', ( WidgetTester tester, ) async { - final GoRouterPushSpy router = GoRouterPushSpy(routes: routes); + final router = GoRouterPushSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router(routerConfig: router, title: 'GoRouter Example'), @@ -4068,7 +4028,7 @@ void main() { testWidgets('calls [push] on closest GoRouter and waits for result', ( WidgetTester tester, ) async { - final GoRouterPushSpy router = GoRouterPushSpy(routes: routes); + final router = GoRouterPushSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router( @@ -4087,7 +4047,7 @@ void main() { testWidgets('calls [pushNamed] on closest GoRouter', ( WidgetTester tester, ) async { - final GoRouterPushNamedSpy router = GoRouterPushNamedSpy(routes: routes); + final router = GoRouterPushNamedSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router(routerConfig: router, title: 'GoRouter Example'), @@ -4107,7 +4067,7 @@ void main() { testWidgets('calls [pushNamed] on closest GoRouter and waits for result', ( WidgetTester tester, ) async { - final GoRouterPushNamedSpy router = GoRouterPushNamedSpy(routes: routes); + final router = GoRouterPushNamedSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router( @@ -4131,7 +4091,7 @@ void main() { }); testWidgets('calls [pop] on closest GoRouter', (WidgetTester tester) async { - final GoRouterPopSpy router = GoRouterPopSpy(routes: routes); + final router = GoRouterPopSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router(routerConfig: router, title: 'GoRouter Example'), @@ -4144,7 +4104,7 @@ void main() { testWidgets('calls [pop] on closest GoRouter with result', ( WidgetTester tester, ) async { - final GoRouterPopSpy router = GoRouterPopSpy(routes: routes); + final router = GoRouterPopSpy(routes: routes); addTearDown(router.dispose); await tester.pumpWidget( MaterialApp.router(routerConfig: router, title: 'GoRouter Example'), @@ -4157,7 +4117,7 @@ void main() { group('ShellRoute', () { testWidgets('defaultRoute', (WidgetTester tester) async { - final List routes = [ + final routes = [ ShellRoute( builder: (BuildContext context, GoRouterState state, Widget child) { return Scaffold(body: child); @@ -4185,7 +4145,7 @@ void main() { testWidgets('can complete leaf route', (WidgetTester tester) async { Future? routeFuture; - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) { @@ -4229,7 +4189,7 @@ void main() { testWidgets( 'Pops from the correct Navigator when the Android back button is pressed', (WidgetTester tester) async { - final List routes = [ + final routes = [ ShellRoute( builder: (BuildContext context, GoRouterState state, Widget child) { return Scaffold( @@ -4276,12 +4236,10 @@ void main() { testWidgets('Pops from the correct navigator when a sub-route is placed on ' 'the root Navigator', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey shellNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final shellNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ ShellRoute( navigatorKey: shellNavigatorKey, builder: (BuildContext context, GoRouterState state, Widget child) { @@ -4333,10 +4291,9 @@ void main() { }); testWidgets('Builds StatefulShellRoute', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -4385,10 +4342,9 @@ void main() { testWidgets('Builds StatefulShellRoute as a sub-route', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); - final List routes = [ + final routes = [ GoRoute( path: '/root', builder: (BuildContext context, GoRouterState state) => @@ -4444,13 +4400,11 @@ void main() { testWidgets( 'Navigation with goBranch is correctly handled in StatefulShellRoute', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey statefulWidgetKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final statefulWidgetKey = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -4546,13 +4500,11 @@ void main() { 'Navigates to correct nested navigation tree in StatefulShellRoute ' 'and maintains state', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey statefulWidgetKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final statefulWidgetKey = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -4635,7 +4587,7 @@ void main() { (WidgetTester tester) async { StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ GoRoute( path: '/:id', builder: (_, __) => const Placeholder(), @@ -4687,14 +4639,12 @@ void main() { testWidgets('Maintains state for nested StatefulShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey statefulWidgetKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final statefulWidgetKey = GlobalKey(); StatefulNavigationShell? routeState1; StatefulNavigationShell? routeState2; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -4815,15 +4765,12 @@ void main() { 'Pops from the correct Navigator in a StatefulShellRoute when the ' 'Android back button is pressed', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey sectionANavigatorKey = - GlobalKey(); - final GlobalKey sectionBNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final sectionANavigatorKey = GlobalKey(); + final sectionBNavigatorKey = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -4914,11 +4861,10 @@ void main() { testWidgets('Maintains extra navigation information when navigating ' 'between branches in StatefulShellRoute', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -4980,11 +4926,10 @@ void main() { 'navigating between branches in StatefulShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ GoRoute( path: '/common', builder: (BuildContext context, GoRouterState state) => @@ -5056,20 +5001,24 @@ void main() { testWidgets('Preloads routes correctly in a StatefulShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey statefulWidgetKeyA = - GlobalKey(debugLabel: 'A'); - final GlobalKey statefulWidgetKeyB = - GlobalKey(debugLabel: 'B'); - final GlobalKey statefulWidgetKeyC = - GlobalKey(debugLabel: 'C'); - final GlobalKey statefulWidgetKeyD = - GlobalKey(debugLabel: 'D'); - final GlobalKey statefulWidgetKeyE = - GlobalKey(debugLabel: 'E'); - - final List routes = [ + final rootNavigatorKey = GlobalKey(); + final statefulWidgetKeyA = GlobalKey( + debugLabel: 'A', + ); + final statefulWidgetKeyB = GlobalKey( + debugLabel: 'B', + ); + final statefulWidgetKeyC = GlobalKey( + debugLabel: 'C', + ); + final statefulWidgetKeyD = GlobalKey( + debugLabel: 'D', + ); + final statefulWidgetKeyE = GlobalKey( + debugLabel: 'E', + ); + + final routes = [ StatefulShellRoute.indexedStack( builder: mockStackedShellBuilder, branches: [ @@ -5159,18 +5108,21 @@ void main() { testWidgets('Preloads nested routes correctly in a StatefulShellRoute', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey statefulWidgetKeyA = - GlobalKey(debugLabel: 'A'); - final GlobalKey statefulWidgetKeyB = - GlobalKey(debugLabel: 'B'); - final GlobalKey statefulWidgetKeyC = - GlobalKey(debugLabel: 'C'); - final GlobalKey statefulWidgetKeyD = - GlobalKey(debugLabel: 'D'); - - final List routes = [ + final rootNavigatorKey = GlobalKey(); + final statefulWidgetKeyA = GlobalKey( + debugLabel: 'A', + ); + final statefulWidgetKeyB = GlobalKey( + debugLabel: 'B', + ); + final statefulWidgetKeyC = GlobalKey( + debugLabel: 'C', + ); + final statefulWidgetKeyD = GlobalKey( + debugLabel: 'D', + ); + + final routes = [ StatefulShellRoute.indexedStack( builder: mockStackedShellBuilder, branches: [ @@ -5243,11 +5195,10 @@ void main() { testWidgets('Redirects are correctly handled when switching branch in a ' 'StatefulShellRoute', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( builder: ( @@ -5308,7 +5259,7 @@ void main() { ), ]; - String redirectDestinationBranchB = '/b/details1'; + var redirectDestinationBranchB = '/b/details1'; await createRouter( routes, tester, @@ -5346,13 +5297,11 @@ void main() { testWidgets( 'Pushed top-level route is correctly handled by StatefulShellRoute', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey nestedNavigatorKey = - GlobalKey(); + final rootNavigatorKey = GlobalKey(); + final nestedNavigatorKey = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ // First level shell StatefulShellRoute.indexedStack( builder: @@ -5481,10 +5430,10 @@ void main() { // TODO(tolo): Temporarily skipped due to a bug that causes test to faiL skip: true, (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(debugLabel: 'root'); - final GlobalKey statefulShellKey = - GlobalKey(debugLabel: 'shell'); + final rootNavigatorKey = GlobalKey(debugLabel: 'root'); + final statefulShellKey = GlobalKey( + debugLabel: 'shell', + ); StatefulNavigationShell? routeState; StatefulShellBranch makeBranch(String name) => StatefulShellBranch( navigatorKey: GlobalKey(debugLabel: 'branch-$name'), @@ -5519,10 +5468,9 @@ void main() { ), ]; - final ValueNotifier config = - ValueNotifier( - RoutingConfig(routes: createRoutes(true)), - ); + final config = ValueNotifier( + RoutingConfig(routes: createRoutes(true)), + ); addTearDown(config.dispose); await createRouterWithRoutingConfig( navigatorKey: rootNavigatorKey, @@ -5556,9 +5504,8 @@ void main() { testWidgets( 'It should return false if Navigator.canPop() returns false.', (WidgetTester tester) async { - final GlobalKey navigatorKey = - GlobalKey(); - final GoRouter router = GoRouter( + final navigatorKey = GlobalKey(); + final router = GoRouter( initialLocation: '/', navigatorKey: navigatorKey, routes: [ @@ -5612,9 +5559,8 @@ void main() { testWidgets('It checks if ShellRoute navigators can pop', ( WidgetTester tester, ) async { - final GlobalKey shellNavigatorKey = - GlobalKey(); - final GoRouter router = GoRouter( + final shellNavigatorKey = GlobalKey(); + final router = GoRouter( initialLocation: '/a', routes: [ ShellRoute( @@ -5678,9 +5624,8 @@ void main() { testWidgets('It checks if StatefulShellRoute navigators can pop', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GoRouter router = GoRouter( + final rootNavigatorKey = GlobalKey(); + final router = GoRouter( navigatorKey: rootNavigatorKey, initialLocation: '/a', routes: [ @@ -5749,14 +5694,10 @@ void main() { testWidgets('Pageless route should include in can pop', ( WidgetTester tester, ) async { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); - final GoRouter router = GoRouter( + final router = GoRouter( navigatorKey: root, routes: [ ShellRoute( @@ -5801,14 +5742,10 @@ void main() { testWidgets( 'Should pop from the correct navigator when parentNavigatorKey is set', (WidgetTester tester) async { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/a/b', navigatorKey: root, routes: [ @@ -5885,14 +5822,10 @@ void main() { testWidgets('Should pop dialog if it is present', ( WidgetTester tester, ) async { - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); - final GlobalKey shell = GlobalKey( - debugLabel: 'shell', - ); + final root = GlobalKey(debugLabel: 'root'); + final shell = GlobalKey(debugLabel: 'shell'); - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/a', navigatorKey: root, routes: [ @@ -5960,10 +5893,10 @@ void main() { testWidgets('Triggers a Hero inside a ShellRoute', ( WidgetTester tester, ) async { - final UniqueKey heroKey = UniqueKey(); - const String kHeroTag = 'hero'; + final heroKey = UniqueKey(); + const kHeroTag = 'hero'; - final List routes = [ + final routes = [ ShellRoute( builder: (BuildContext context, GoRouterState state, Widget child) { return child; @@ -6016,8 +5949,8 @@ void main() { testWidgets('It should return the go router instance of the widget tree', ( WidgetTester tester, ) async { - const Key key = Key('key'); - final List routes = [ + const key = Key('key'); + final routes = [ GoRoute( path: '/', builder: (_, __) => const SizedBox(key: key), @@ -6033,7 +5966,7 @@ void main() { testWidgets('It should throw if there is no go router in the widget tree', ( WidgetTester tester, ) async { - const Key key = Key('key'); + const key = Key('key'); await tester.pumpWidget(const SizedBox(key: key)); final Element context = tester.element(find.byKey(key)); @@ -6045,8 +5978,8 @@ void main() { testWidgets('It should return the go router instance of the widget tree', ( WidgetTester tester, ) async { - const Key key = Key('key'); - final List routes = [ + const key = Key('key'); + final routes = [ GoRoute( path: '/', builder: (_, __) => const SizedBox(key: key), @@ -6062,7 +5995,7 @@ void main() { testWidgets( 'It should return null if there is no go router in the widget tree', (WidgetTester tester) async { - const Key key = Key('key'); + const key = Key('key'); await tester.pumpWidget(const SizedBox(key: key)); final Element context = tester.element(find.byKey(key)); @@ -6073,10 +6006,10 @@ void main() { group('state restoration', () { testWidgets('Restores state correctly', (WidgetTester tester) async { - final GlobalKey statefulWidgetKeyA = + final statefulWidgetKeyA = GlobalKey(); - final List routes = [ + final routes = [ GoRoute( path: '/a', pageBuilder: createPageBuilder( @@ -6124,17 +6057,16 @@ void main() { testWidgets('Restores state of branches in StatefulShellRoute correctly', ( WidgetTester tester, ) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey statefulWidgetKeyA = + final rootNavigatorKey = GlobalKey(); + final statefulWidgetKeyA = GlobalKey(); - final GlobalKey statefulWidgetKeyB = + final statefulWidgetKeyB = GlobalKey(); - final GlobalKey statefulWidgetKeyC = + final statefulWidgetKeyC = GlobalKey(); StatefulNavigationShell? routeState; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( restorationScopeId: 'shell', pageBuilder: @@ -6286,16 +6218,15 @@ void main() { testWidgets( 'Restores state of imperative routes in StatefulShellRoute correctly', (WidgetTester tester) async { - final GlobalKey rootNavigatorKey = - GlobalKey(); - final GlobalKey statefulWidgetKeyA = + final rootNavigatorKey = GlobalKey(); + final statefulWidgetKeyA = GlobalKey(); - final GlobalKey statefulWidgetKeyB = + final statefulWidgetKeyB = GlobalKey(); StatefulNavigationShell? routeStateRoot; StatefulNavigationShell? routeStateNested; - final List routes = [ + final routes = [ StatefulShellRoute.indexedStack( restorationScopeId: 'shell', pageBuilder: @@ -6487,10 +6418,10 @@ void main() { '/some-route'; final String platformRoute = WidgetsBinding.instance.platformDispatcher.defaultRouteName; - const String expectedInitialRoute = '/kyc'; + const expectedInitialRoute = '/kyc'; expect(platformRoute != expectedInitialRoute, isTrue); - final List routes = [ + final routes = [ GoRoute( path: '/abc', builder: (BuildContext context, GoRouterState state) => @@ -6519,7 +6450,7 @@ void main() { testWidgets( 'test the pathParameters in redirect when the Router is recreated', (WidgetTester tester) async { - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/foo', routes: [ GoRoute( @@ -6553,7 +6484,7 @@ void main() { testWidgets( 'should return the current GoRouterState when router.currentState is called', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( name: 'home', path: '/', @@ -6629,7 +6560,7 @@ void main() { testWidgets('should allow route paths without leading /', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', // root cannot be empty (existing assert) builder: (BuildContext context, GoRouterState state) => @@ -6677,7 +6608,7 @@ void main() { testWidgets('should allow route paths with leading /', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -6749,8 +6680,7 @@ class IsRouteUpdateCall extends Matcher { if (item.arguments is! Map) { return false; } - final Map arguments = - item.arguments as Map; + final arguments = item.arguments as Map; // TODO(chunhtai): update this when minimum flutter version includes // https://github.com/flutter/flutter/pull/119968. // https://github.com/flutter/flutter/issues/124045. diff --git a/packages/go_router/test/helpers/error_screen_helpers.dart b/packages/go_router/test/helpers/error_screen_helpers.dart index 1ac2752ef72..4cdbed8e835 100644 --- a/packages/go_router/test/helpers/error_screen_helpers.dart +++ b/packages/go_router/test/helpers/error_screen_helpers.dart @@ -32,7 +32,7 @@ WidgetTesterCallback testClickingTheButtonRedirectsToRoot({ Widget Function(GoRouter router) appRouterBuilder = materialAppRouterBuilder, }) { return (WidgetTester tester) async { - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/error', routes: [ GoRoute(path: '/', builder: (_, __) => const DummyStatefulWidget()), diff --git a/packages/go_router/test/imperative_api_test.dart b/packages/go_router/test/imperative_api_test.dart index de3cbda0cf0..b56d0eefa56 100644 --- a/packages/go_router/test/imperative_api_test.dart +++ b/packages/go_router/test/imperative_api_test.dart @@ -11,9 +11,9 @@ import 'test_helpers.dart'; void main() { testWidgets('replace inside shell route', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/134524. - final UniqueKey a = UniqueKey(); - final UniqueKey b = UniqueKey(); - final List routes = [ + final a = UniqueKey(); + final b = UniqueKey(); + final routes = [ ShellRoute( builder: (_, __, Widget child) { return Scaffold( @@ -51,9 +51,9 @@ void main() { testWidgets('push from outside of shell route', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/130406. - final UniqueKey a = UniqueKey(); - final UniqueKey b = UniqueKey(); - final List routes = [ + final a = UniqueKey(); + final b = UniqueKey(); + final routes = [ GoRoute( path: '/a', builder: (_, __) => DummyScreen(key: a), @@ -93,9 +93,9 @@ void main() { WidgetTester tester, ) async { // Regression test for https://github.com/flutter/flutter/issues/125752. - final UniqueKey home = UniqueKey(); - final UniqueKey a = UniqueKey(); - final List routes = [ + final home = UniqueKey(); + final a = UniqueKey(); + final routes = [ ShellRoute( builder: (_, GoRouterState state, Widget child) { return Scaffold( @@ -143,9 +143,9 @@ void main() { WidgetTester tester, ) async { // Regression test for https://github.com/flutter/flutter/issues/120791. - final UniqueKey b = UniqueKey(); - final UniqueKey a = UniqueKey(); - final List routes = [ + final b = UniqueKey(); + final a = UniqueKey(); + final routes = [ ShellRoute( builder: (_, __, Widget child) { return Scaffold( @@ -196,9 +196,9 @@ void main() { WidgetTester tester, ) async { // Regression test for https://github.com/flutter/flutter/issues/120665. - final UniqueKey inside = UniqueKey(); - final UniqueKey outside = UniqueKey(); - final List routes = [ + final inside = UniqueKey(); + final outside = UniqueKey(); + final routes = [ ShellRoute( builder: (_, __, Widget child) { return Scaffold( @@ -242,12 +242,12 @@ void main() { testWidgets('complex case 1', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/113001. - final UniqueKey a = UniqueKey(); - final UniqueKey b = UniqueKey(); - final UniqueKey c = UniqueKey(); - final UniqueKey d = UniqueKey(); - final UniqueKey e = UniqueKey(); - final List routes = [ + final a = UniqueKey(); + final b = UniqueKey(); + final c = UniqueKey(); + final d = UniqueKey(); + final e = UniqueKey(); + final routes = [ ShellRoute( builder: (_, __, Widget child) { return Scaffold( diff --git a/packages/go_router/test/information_provider_test.dart b/packages/go_router/test/information_provider_test.dart index ddc96236ad2..5028e882f8e 100644 --- a/packages/go_router/test/information_provider_test.dart +++ b/packages/go_router/test/information_provider_test.dart @@ -15,11 +15,10 @@ void main() { testWidgets('notifies its listeners when set by the app', ( WidgetTester tester, ) async { - late final GoRouteInformationProvider provider = - GoRouteInformationProvider( - initialLocation: initialRoute, - initialExtra: null, - ); + late final provider = GoRouteInformationProvider( + initialLocation: initialRoute, + initialExtra: null, + ); addTearDown(provider.dispose); provider.addListener(expectAsync0(() {})); provider.go(newRoute); @@ -28,11 +27,10 @@ void main() { testWidgets('notifies its listeners when set by the platform', ( WidgetTester tester, ) async { - late final GoRouteInformationProvider provider = - GoRouteInformationProvider( - initialLocation: initialRoute, - initialExtra: null, - ); + late final provider = GoRouteInformationProvider( + initialLocation: initialRoute, + initialExtra: null, + ); addTearDown(provider.dispose); provider.addListener(expectAsync0(() {})); provider.didPushRouteInformation( @@ -43,16 +41,14 @@ void main() { testWidgets('didPushRouteInformation maintains uri scheme and host', ( WidgetTester tester, ) async { - const String expectedScheme = 'https'; - const String expectedHost = 'www.example.com'; - const String expectedPath = '/some/path'; - const String expectedUriString = - '$expectedScheme://$expectedHost$expectedPath'; - late final GoRouteInformationProvider provider = - GoRouteInformationProvider( - initialLocation: initialRoute, - initialExtra: null, - ); + const expectedScheme = 'https'; + const expectedHost = 'www.example.com'; + const expectedPath = '/some/path'; + const expectedUriString = '$expectedScheme://$expectedHost$expectedPath'; + late final provider = GoRouteInformationProvider( + initialLocation: initialRoute, + initialExtra: null, + ); addTearDown(provider.dispose); provider.addListener(expectAsync0(() {})); provider.didPushRouteInformation( @@ -67,16 +63,14 @@ void main() { testWidgets('didPushRoute maintains uri scheme and host', ( WidgetTester tester, ) async { - const String expectedScheme = 'https'; - const String expectedHost = 'www.example.com'; - const String expectedPath = '/some/path'; - const String expectedUriString = - '$expectedScheme://$expectedHost$expectedPath'; - late final GoRouteInformationProvider provider = - GoRouteInformationProvider( - initialLocation: initialRoute, - initialExtra: null, - ); + const expectedScheme = 'https'; + const expectedHost = 'www.example.com'; + const expectedPath = '/some/path'; + const expectedUriString = '$expectedScheme://$expectedHost$expectedPath'; + late final provider = GoRouteInformationProvider( + initialLocation: initialRoute, + initialExtra: null, + ); addTearDown(provider.dispose); provider.addListener(expectAsync0(() {})); provider.didPushRouteInformation( @@ -91,14 +85,12 @@ void main() { testWidgets('Route is correctly neglected when routerNeglect is true', ( WidgetTester tester, ) async { - final _SystemChannelsNavigationMock systemChannelsMock = - _SystemChannelsNavigationMock(); - late final GoRouteInformationProvider provider = - GoRouteInformationProvider( - initialLocation: initialRoute, - initialExtra: null, - routerNeglect: true, - ); + final systemChannelsMock = _SystemChannelsNavigationMock(); + late final provider = GoRouteInformationProvider( + initialLocation: initialRoute, + initialExtra: null, + routerNeglect: true, + ); addTearDown(provider.dispose); provider.addListener(expectAsync0(() {})); provider.go(newRoute); @@ -112,13 +104,11 @@ void main() { testWidgets('Route is NOT neglected when routerNeglect is false', ( WidgetTester tester, ) async { - final _SystemChannelsNavigationMock systemChannelsMock = - _SystemChannelsNavigationMock(); - late final GoRouteInformationProvider provider = - GoRouteInformationProvider( - initialLocation: initialRoute, - initialExtra: null, - ); + final systemChannelsMock = _SystemChannelsNavigationMock(); + late final provider = GoRouteInformationProvider( + initialLocation: initialRoute, + initialExtra: null, + ); addTearDown(provider.dispose); provider.addListener(expectAsync0(() {})); provider.go(newRoute); @@ -139,8 +129,7 @@ class _SystemChannelsNavigationMock { ) async { if (methodCall.method == 'routeInformationUpdated' && methodCall.arguments is Map) { - final Map args = - methodCall.arguments as Map; + final args = methodCall.arguments as Map; final String? uri = args['location'] as String? ?? args['uri'] as String?; uriIsNeglected[uri ?? ''] = args['replace'] as bool; diff --git a/packages/go_router/test/inherited_test.dart b/packages/go_router/test/inherited_test.dart index 995fc669c41..96e3f9a063c 100644 --- a/packages/go_router/test/inherited_test.dart +++ b/packages/go_router/test/inherited_test.dart @@ -12,7 +12,7 @@ import 'test_helpers.dart'; void main() { group('updateShouldNotify', () { test('does not update when goRouter does not change', () { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( routes: [ GoRoute(path: '/', builder: (_, __) => const Page1()), ], @@ -25,12 +25,12 @@ void main() { }); test('does not update even when goRouter changes', () { - final GoRouter oldGoRouter = GoRouter( + final oldGoRouter = GoRouter( routes: [ GoRoute(path: '/', builder: (_, __) => const Page1()), ], ); - final GoRouter newGoRouter = GoRouter( + final newGoRouter = GoRouter( routes: [ GoRoute(path: '/', builder: (_, __) => const Page2()), ], @@ -44,15 +44,14 @@ void main() { }); test('adds [goRouter] as a diagnostics property', () { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( routes: [GoRoute(path: '/', builder: (_, __) => const Page1())], ); - final InheritedGoRouter inheritedGoRouter = InheritedGoRouter( + final inheritedGoRouter = InheritedGoRouter( goRouter: goRouter, child: Container(), ); - final DiagnosticPropertiesBuilder properties = - DiagnosticPropertiesBuilder(); + final properties = DiagnosticPropertiesBuilder(); inheritedGoRouter.debugFillProperties(properties); expect(properties.properties.length, 1); expect(properties.properties.first, isA>()); @@ -62,7 +61,7 @@ void main() { testWidgets("mediates Widget's access to GoRouter.", ( WidgetTester tester, ) async { - final MockGoRouter router = MockGoRouter(); + final router = MockGoRouter(); await tester.pumpWidget( MaterialApp( home: InheritedGoRouter(goRouter: router, child: const _MyWidget()), @@ -75,7 +74,7 @@ void main() { testWidgets('builder can access GoRouter', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/110512. late final GoRouter buildContextRouter; - final GoRouter router = GoRouter( + final router = GoRouter( initialLocation: '/', routes: [ GoRoute( @@ -106,11 +105,11 @@ bool setupInheritedGoRouterChange({ required GoRouter oldGoRouter, required GoRouter newGoRouter, }) { - final InheritedGoRouter oldInheritedGoRouter = InheritedGoRouter( + final oldInheritedGoRouter = InheritedGoRouter( goRouter: oldGoRouter, child: Container(), ); - final InheritedGoRouter newInheritedGoRouter = InheritedGoRouter( + final newInheritedGoRouter = InheritedGoRouter( goRouter: newGoRouter, child: Container(), ); diff --git a/packages/go_router/test/logging_test.dart b/packages/go_router/test/logging_test.dart index a2af20467e5..6d8098aa105 100644 --- a/packages/go_router/test/logging_test.dart +++ b/packages/go_router/test/logging_test.dart @@ -56,7 +56,7 @@ void main() { count: 2, reason: 'Go router should log the 2 events', ); - final List logs = []; + final logs = []; Logger.root.onRecord.listen((LogRecord event) => logs.add(event.message)); GoRouter( debugLogDiagnostics: true, @@ -85,7 +85,7 @@ void main() { ); hierarchicalLoggingEnabled = true; - final List logs = []; + final logs = []; Logger.root.onRecord.listen((LogRecord event) => logs.add(event.message)); GoRouter( debugLogDiagnostics: true, diff --git a/packages/go_router/test/match_test.dart b/packages/go_router/test/match_test.dart index becaadaa540..1b12d2e71d7 100644 --- a/packages/go_router/test/match_test.dart +++ b/packages/go_router/test/match_test.dart @@ -11,8 +11,8 @@ import 'package:go_router/go_router.dart'; void main() { group('RouteMatch', () { test('simple', () { - final GoRoute route = GoRoute(path: '/users/:userId', builder: _builder); - final Map pathParameters = {}; + final route = GoRoute(path: '/users/:userId', builder: _builder); + final pathParameters = {}; final List matches = RouteMatchBase.match( route: route, pathParameters: pathParameters, @@ -28,11 +28,11 @@ void main() { }); test('ShellRoute has a unique pageKey', () { - final ShellRoute route = ShellRoute( + final route = ShellRoute( builder: _shellBuilder, routes: [GoRoute(path: '/users/:userId', builder: _builder)], ); - final Map pathParameters = {}; + final pathParameters = {}; final List matches = RouteMatchBase.match( route: route, uri: Uri.parse('/users/123'), @@ -44,11 +44,11 @@ void main() { }); test('ShellRoute Match has stable unique key', () { - final ShellRoute route = ShellRoute( + final route = ShellRoute( builder: _shellBuilder, routes: [GoRoute(path: '/users/:userId', builder: _builder)], ); - final Map pathParameters = {}; + final pathParameters = {}; final List matches1 = RouteMatchBase.match( route: route, pathParameters: pathParameters, @@ -67,8 +67,8 @@ void main() { }); test('GoRoute Match has stable unique key', () { - final GoRoute route = GoRoute(path: '/users/:userId', builder: _builder); - final Map pathParameters = {}; + final route = GoRoute(path: '/users/:userId', builder: _builder); + final pathParameters = {}; final List matches1 = RouteMatchBase.match( route: route, uri: Uri.parse('/users/123'), @@ -89,10 +89,10 @@ void main() { }); test('complex parentNavigatorKey works', () { - final GlobalKey root = GlobalKey(); - final GlobalKey shell1 = GlobalKey(); - final GlobalKey shell2 = GlobalKey(); - final GoRoute route = GoRoute( + final root = GlobalKey(); + final shell1 = GlobalKey(); + final shell2 = GlobalKey(); + final route = GoRoute( path: '/', builder: _builder, routes: [ @@ -134,7 +134,7 @@ void main() { ), ], ); - final Map pathParameters = {}; + final pathParameters = {}; final List matches = RouteMatchBase.match( route: route, pathParameters: pathParameters, @@ -165,7 +165,7 @@ void main() { }); group('ImperativeRouteMatch', () { - final RouteMatchList matchList1 = RouteMatchList( + final matchList1 = RouteMatchList( matches: [ RouteMatch( route: GoRoute(path: '/', builder: (_, __) => const Text('hi')), @@ -177,7 +177,7 @@ void main() { pathParameters: const {}, ); - final RouteMatchList matchList2 = RouteMatchList( + final matchList2 = RouteMatchList( matches: [ RouteMatch( route: GoRoute(path: '/a', builder: (_, __) => const Text('a')), @@ -189,19 +189,19 @@ void main() { pathParameters: const {}, ); - const ValueKey key1 = ValueKey('key1'); - const ValueKey key2 = ValueKey('key2'); + const key1 = ValueKey('key1'); + const key2 = ValueKey('key2'); - final Completer completer1 = Completer(); - final Completer completer2 = Completer(); + final completer1 = Completer(); + final completer2 = Completer(); test('can equal and has', () async { - ImperativeRouteMatch match1 = ImperativeRouteMatch( + var match1 = ImperativeRouteMatch( pageKey: key1, matches: matchList1, completer: completer1, ); - ImperativeRouteMatch match2 = ImperativeRouteMatch( + var match2 = ImperativeRouteMatch( pageKey: key1, matches: matchList1, completer: completer1, diff --git a/packages/go_router/test/matching_test.dart b/packages/go_router/test/matching_test.dart index e195d182d85..23d21793561 100644 --- a/packages/go_router/test/matching_test.dart +++ b/packages/go_router/test/matching_test.dart @@ -15,7 +15,7 @@ void main() { testWidgets('RouteMatchList toString prints the fullPath', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/page-0', builder: (BuildContext context, GoRouterState state) => @@ -34,12 +34,12 @@ void main() { }); test('RouteMatchList compares', () async { - final GoRoute route = GoRoute( + final route = GoRoute( path: '/page-0', builder: (BuildContext context, GoRouterState state) => const Placeholder(), ); - final Map params1 = {}; + final params1 = {}; final List match1 = RouteMatchBase.match( route: route, uri: Uri.parse('/page-0'), @@ -47,7 +47,7 @@ void main() { pathParameters: params1, ); - final Map params2 = {}; + final params2 = {}; final List match2 = RouteMatchBase.match( route: route, uri: Uri.parse('/page-0'), @@ -55,19 +55,19 @@ void main() { pathParameters: params2, ); - final RouteMatchList matches1 = RouteMatchList( + final matches1 = RouteMatchList( matches: match1, uri: Uri.parse(''), pathParameters: params1, ); - final RouteMatchList matches2 = RouteMatchList( + final matches2 = RouteMatchList( matches: match2, uri: Uri.parse(''), pathParameters: params2, ); - final RouteMatchList matches3 = RouteMatchList( + final matches3 = RouteMatchList( matches: match2, uri: Uri.parse('/page-0'), pathParameters: params2, @@ -95,7 +95,7 @@ void main() { navigatorKey: GlobalKey(), topRedirect: (_, __) => null, ); - final RouteMatchListCodec codec = RouteMatchListCodec(configuration); + final codec = RouteMatchListCodec(configuration); final RouteMatchList list1 = configuration.findMatch(Uri.parse('/a')); final RouteMatchList list2 = configuration.findMatch(Uri.parse('/b')); diff --git a/packages/go_router/test/material_test.dart b/packages/go_router/test/material_test.dart index 5c9b5737526..9a56c9ed214 100644 --- a/packages/go_router/test/material_test.dart +++ b/packages/go_router/test/material_test.dart @@ -14,8 +14,7 @@ void main() { testWidgets('returns [true] when MaterialApp is present', ( WidgetTester tester, ) async { - final GlobalKey<_DummyStatefulWidgetState> key = - GlobalKey<_DummyStatefulWidgetState>(); + final key = GlobalKey<_DummyStatefulWidgetState>(); await tester.pumpWidget(MaterialApp(home: DummyStatefulWidget(key: key))); final bool isMaterial = isMaterialApp(key.currentContext! as Element); expect(isMaterial, true); @@ -24,8 +23,7 @@ void main() { testWidgets('returns [false] when CupertinoApp is present', ( WidgetTester tester, ) async { - final GlobalKey<_DummyStatefulWidgetState> key = - GlobalKey<_DummyStatefulWidgetState>(); + final key = GlobalKey<_DummyStatefulWidgetState>(); await tester.pumpWidget( CupertinoApp(home: DummyStatefulWidget(key: key)), ); @@ -35,11 +33,11 @@ void main() { }); test('pageBuilderForMaterialApp creates a [MaterialPage] accordingly', () { - final UniqueKey key = UniqueKey(); - const String name = 'name'; - const String arguments = 'arguments'; - const String restorationId = 'restorationId'; - const DummyStatefulWidget child = DummyStatefulWidget(); + final key = UniqueKey(); + const name = 'name'; + const arguments = 'arguments'; + const restorationId = 'restorationId'; + const child = DummyStatefulWidget(); final MaterialPage page = pageBuilderForMaterialApp( key: key, name: name, @@ -62,7 +60,7 @@ void main() { ), ); - final Exception exception = Exception('Something went wrong!'); + final exception = Exception('Something went wrong!'); testWidgets( 'shows the exception message when provided', testPageShowsExceptionMessage( diff --git a/packages/go_router/test/name_case_test.dart b/packages/go_router/test/name_case_test.dart index b70b0b0d928..672cdefdd2c 100644 --- a/packages/go_router/test/name_case_test.dart +++ b/packages/go_router/test/name_case_test.dart @@ -9,7 +9,7 @@ import 'package:go_router/go_router.dart'; void main() { testWidgets('Route names are case sensitive', (WidgetTester tester) async { // config router with 2 routes with the same name but different case (Name, name) - final GoRouter router = GoRouter( + final router = GoRouter( routes: [ GoRoute(path: '/', name: 'Name', builder: (_, __) => const ScreenA()), GoRoute( diff --git a/packages/go_router/test/on_enter_test.dart b/packages/go_router/test/on_enter_test.dart index 310780e9715..45fd8062a27 100644 --- a/packages/go_router/test/on_enter_test.dart +++ b/packages/go_router/test/on_enter_test.dart @@ -23,7 +23,7 @@ void main() { ) async { GoRouterState? capturedCurrentState; GoRouterState? capturedNextState; - int onEnterCallCount = 0; + var onEnterCallCount = 0; router = GoRouter( initialLocation: '/', @@ -61,8 +61,8 @@ void main() { testWidgets('Should block navigation when onEnter returns false', ( WidgetTester tester, ) async { - final List navigationAttempts = []; - String currentPath = '/'; + final navigationAttempts = []; + var currentPath = '/'; router = GoRouter( initialLocation: '/', @@ -134,7 +134,7 @@ void main() { testWidgets('Should allow navigation when onEnter returns true', ( WidgetTester tester, ) async { - int onEnterCallCount = 0; + var onEnterCallCount = 0; router = GoRouter( initialLocation: '/home', @@ -192,7 +192,7 @@ void main() { testWidgets( 'Should trigger onException when the redirection limit is exceeded', (WidgetTester tester) async { - final Completer completer = Completer(); + final completer = Completer(); Object? capturedError; router = GoRouter( @@ -254,13 +254,12 @@ void main() { testWidgets('Should handle `go` usage in onEnter', ( WidgetTester tester, ) async { - bool isAuthenticatedResult = false; + var isAuthenticatedResult = false; Future isAuthenticated() => Future.value(isAuthenticatedResult); - final StreamController<({String current, String next})> paramsSink = - StreamController<({String current, String next})>(); + final paramsSink = StreamController<({String current, String next})>(); final Stream<({String current, String next})> paramsStream = paramsSink .stream .asBroadcastStream(); @@ -337,7 +336,7 @@ void main() { testWidgets('Should handle `goNamed` usage in onEnter', ( WidgetTester tester, ) async { - final List navigationAttempts = []; + final navigationAttempts = []; router = GoRouter( initialLocation: '/home', @@ -411,13 +410,12 @@ void main() { testWidgets('Should handle `push` usage in onEnter', ( WidgetTester tester, ) async { - const bool isAuthenticatedResult = false; + const isAuthenticatedResult = false; Future isAuthenticated() => Future.value(isAuthenticatedResult); - final StreamController<({String current, String next})> paramsSink = - StreamController<({String current, String next})>(); + final paramsSink = StreamController<({String current, String next})>(); final Stream<({String current, String next})> paramsStream = paramsSink .stream .asBroadcastStream(); @@ -500,7 +498,7 @@ void main() { testWidgets('Should handle `replace` usage in onEnter', ( WidgetTester tester, ) async { - final List navigationHistory = []; + final navigationHistory = []; router = GoRouter( initialLocation: '/home', @@ -560,7 +558,7 @@ void main() { testWidgets('Should handle `pushReplacement` usage in onEnter', ( WidgetTester tester, ) async { - final List navigationLog = []; + final navigationLog = []; router = GoRouter( initialLocation: '/home', @@ -636,13 +634,12 @@ void main() { 'onEnter should handle protected route redirection with query parameters', (WidgetTester tester) async { // Test setup - bool isAuthenticatedResult = false; + var isAuthenticatedResult = false; Future isAuthenticated() => Future.value(isAuthenticatedResult); // Stream to capture onEnter calls - final StreamController<({String current, String next})> paramsSink = - StreamController<({String current, String next})>(); + final paramsSink = StreamController<({String current, String next})>(); // Use broadcast stream for potentially multiple listeners/expects if needed, // although expectLater handles one listener well. final Stream<({String current, String next})> paramsStream = paramsSink @@ -678,8 +675,7 @@ void main() { next: next.uri.toString(), )); - final bool isNavigatingToProtected = - next.uri.path == '/protected'; + final isNavigatingToProtected = next.uri.path == '/protected'; // Allow navigation if not going to the protected route if (!isNavigatingToProtected) { @@ -814,8 +810,8 @@ void main() { testWidgets('Should handle sequential navigation steps in onEnter', ( WidgetTester tester, ) async { - final List navigationChain = []; - final Completer navigationComplete = Completer(); + final navigationChain = []; + final navigationComplete = Completer(); router = GoRouter( initialLocation: '/start', @@ -905,7 +901,7 @@ void main() { testWidgets('Should call onException when exceptions thrown in onEnter callback', ( WidgetTester tester, ) async { - final Completer completer = Completer(); + final completer = Completer(); Object? capturedError; // Set up the router. Note that we short-circuit onEnter for '/fallback' @@ -966,9 +962,9 @@ void main() { testWidgets('onEnter has priority over deprecated redirect', ( WidgetTester tester, ) async { - int redirectCallCount = 0; - int onEnterCallCount = 0; - bool lastOnEnterBlocked = false; + var redirectCallCount = 0; + var onEnterCallCount = 0; + var lastOnEnterBlocked = false; router = GoRouter( initialLocation: '/start', @@ -997,8 +993,8 @@ void main() { await tester.pumpAndSettle(); // Record initial counts - final int initialRedirectCount = redirectCallCount; - final int initialOnEnterCount = onEnterCallCount; + final initialRedirectCount = redirectCallCount; + final initialOnEnterCount = onEnterCallCount; // Test blocked route router.go('/blocked'); @@ -1013,7 +1009,7 @@ void main() { expect(lastOnEnterBlocked, isTrue); // Test allowed route - final int beforeAllowedRedirectCount = redirectCallCount; + final beforeAllowedRedirectCount = redirectCallCount; router.go('/allowed'); await tester.pumpAndSettle(); @@ -1077,7 +1073,7 @@ void main() { testWidgets('pop does not call onEnter but restore does', ( WidgetTester tester, ) async { - int onEnterCount = 0; + var onEnterCount = 0; router = GoRouter( initialLocation: '/a', @@ -1121,8 +1117,8 @@ void main() { testWidgets('restore navigation calls onEnter for re-validation', ( WidgetTester tester, ) async { - int onEnterCount = 0; - bool allowNavigation = true; + var onEnterCount = 0; + var allowNavigation = true; router = GoRouter( initialLocation: '/home', @@ -1278,7 +1274,7 @@ void main() { testWidgets('route-level redirect still runs after onEnter allows', ( WidgetTester tester, ) async { - final List seenNextPaths = []; + final seenNextPaths = []; router = GoRouter( initialLocation: '/', @@ -1385,8 +1381,8 @@ void main() { // With redirectLimit=1: // - Block.stop() resets history so repeated attempts don't hit the limit. // - Block.then(() => go(...)) keeps history and will exceed the limit. - int onExceptionCalls = 0; - final Completer exceededCompleter = Completer(); + var onExceptionCalls = 0; + final exceededCompleter = Completer(); router = GoRouter( initialLocation: '/start', @@ -1455,7 +1451,7 @@ void main() { testWidgets('restore runs onEnter -> legacy -> route-level redirect', ( WidgetTester tester, ) async { - final List calls = []; + final calls = []; router = GoRouter( initialLocation: '/home', diff --git a/packages/go_router/test/on_exit_test.dart b/packages/go_router/test/on_exit_test.dart index 07f5be7e4bf..2b1d0873cb9 100644 --- a/packages/go_router/test/on_exit_test.dart +++ b/packages/go_router/test/on_exit_test.dart @@ -12,10 +12,10 @@ import 'test_helpers.dart'; void main() { testWidgets('back button works synchronously', (WidgetTester tester) async { - bool allow = false; - final UniqueKey home = UniqueKey(); - final UniqueKey page1 = UniqueKey(); - final List routes = [ + var allow = false; + final home = UniqueKey(); + final page1 = UniqueKey(); + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -51,10 +51,10 @@ void main() { }); testWidgets('context.go works synchronously', (WidgetTester tester) async { - bool allow = false; - final UniqueKey home = UniqueKey(); - final UniqueKey page1 = UniqueKey(); - final List routes = [ + var allow = false; + final home = UniqueKey(); + final page1 = UniqueKey(); + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -88,10 +88,10 @@ void main() { }); testWidgets('back button works asynchronously', (WidgetTester tester) async { - Completer allow = Completer(); - final UniqueKey home = UniqueKey(); - final UniqueKey page1 = UniqueKey(); - final List routes = [ + var allow = Completer(); + final home = UniqueKey(); + final page1 = UniqueKey(); + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -135,10 +135,10 @@ void main() { }); testWidgets('context.go works asynchronously', (WidgetTester tester) async { - Completer allow = Completer(); - final UniqueKey home = UniqueKey(); - final UniqueKey page1 = UniqueKey(); - final List routes = [ + var allow = Completer(); + final home = UniqueKey(); + final page1 = UniqueKey(); + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -182,9 +182,9 @@ void main() { testWidgets('android back button respects the last route.', ( WidgetTester tester, ) async { - bool allow = false; - final UniqueKey home = UniqueKey(); - final List routes = [ + var allow = false; + final home = UniqueKey(); + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -208,9 +208,9 @@ void main() { testWidgets('android back button respects the last route. async', ( WidgetTester tester, ) async { - bool allow = false; - final UniqueKey home = UniqueKey(); - final List routes = [ + var allow = false; + final home = UniqueKey(); + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -234,9 +234,9 @@ void main() { testWidgets('android back button respects the last route with shell route.', ( WidgetTester tester, ) async { - bool allow = false; - final UniqueKey home = UniqueKey(); - final List routes = [ + var allow = false; + final home = UniqueKey(); + final routes = [ ShellRoute( builder: (_, __, Widget child) => child, routes: [ @@ -265,14 +265,14 @@ void main() { testWidgets('It should provide the correct uri to the onExit callback', ( WidgetTester tester, ) async { - final UniqueKey home = UniqueKey(); - final UniqueKey page1 = UniqueKey(); - final UniqueKey page2 = UniqueKey(); - final UniqueKey page3 = UniqueKey(); + final home = UniqueKey(); + final page1 = UniqueKey(); + final page2 = UniqueKey(); + final page3 = UniqueKey(); late final GoRouterState onExitState1; late final GoRouterState onExitState2; late final GoRouterState onExitState3; - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, GoRouterState state) => @@ -340,14 +340,14 @@ void main() { testWidgets( 'It should provide the correct path parameters to the onExit callback', (WidgetTester tester) async { - final UniqueKey page0 = UniqueKey(); - final UniqueKey page1 = UniqueKey(); - final UniqueKey page2 = UniqueKey(); - final UniqueKey page3 = UniqueKey(); + final page0 = UniqueKey(); + final page1 = UniqueKey(); + final page2 = UniqueKey(); + final page3 = UniqueKey(); late final GoRouterState onExitState1; late final GoRouterState onExitState2; late final GoRouterState onExitState3; - final List routes = [ + final routes = [ GoRoute( path: '/route-0/:id0', builder: (BuildContext context, GoRouterState state) => @@ -421,14 +421,14 @@ void main() { testWidgets( 'It should provide the correct path parameters to the onExit callback during a go', (WidgetTester tester) async { - final UniqueKey page0 = UniqueKey(); - final UniqueKey page1 = UniqueKey(); - final UniqueKey page2 = UniqueKey(); - final UniqueKey page3 = UniqueKey(); + final page0 = UniqueKey(); + final page1 = UniqueKey(); + final page2 = UniqueKey(); + final page3 = UniqueKey(); late final GoRouterState onExitState0; late final GoRouterState onExitState1; late final GoRouterState onExitState2; - final List routes = [ + final routes = [ GoRoute( path: '/route-0/:id0', builder: (BuildContext context, GoRouterState state) => diff --git a/packages/go_router/test/parser_test.dart b/packages/go_router/test/parser_test.dart index 9520336768d..3859f272f8f 100644 --- a/packages/go_router/test/parser_test.dart +++ b/packages/go_router/test/parser_test.dart @@ -22,7 +22,7 @@ void main() { int redirectLimit = 5, GoRouterRedirect? redirect, }) async { - final GoRouter router = GoRouter( + final router = GoRouter( routes: routes, redirectLimit: redirectLimit, redirect: redirect, @@ -35,7 +35,7 @@ void main() { testWidgets('GoRouteInformationParser can parse route', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -65,7 +65,7 @@ void main() { expect(matches[0].matchedLocation, '/'); expect(matches[0].route, routes[0]); - final Object extra = Object(); + final extra = Object(); matchesObj = await parser.parseRouteInformationWithDependencies( createRouteInformation('/abc?def=ghi', extra), context, @@ -84,7 +84,7 @@ void main() { testWidgets( 'GoRouteInformationParser can handle empty path for non http uri', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -116,7 +116,7 @@ void main() { testWidgets('GoRouteInformationParser cleans up uri', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -147,13 +147,13 @@ void main() { testWidgets( "GoRouteInformationParser can parse deeplink root route and maintain uri's scheme, host, query and fragment", (WidgetTester tester) async { - const String expectedScheme = 'https'; - const String expectedHost = 'www.example.com'; - const String expectedQuery = 'abc=def'; - const String expectedFragment = 'abc'; - const String expectedUriString = + const expectedScheme = 'https'; + const expectedHost = 'www.example.com'; + const expectedQuery = 'abc=def'; + const expectedFragment = 'abc'; + const expectedUriString = '$expectedScheme://$expectedHost/?$expectedQuery#$expectedFragment'; - final List routes = [ + final routes = [ GoRoute(path: '/', builder: (_, __) => const Placeholder()), ]; final GoRouteInformationParser parser = await createParser( @@ -186,14 +186,14 @@ void main() { testWidgets( "GoRouteInformationParser can parse deeplink route with a path and maintain uri's scheme, host, query and fragment", (WidgetTester tester) async { - const String expectedScheme = 'https'; - const String expectedHost = 'www.example.com'; - const String expectedPath = '/abc'; - const String expectedQuery = 'abc=def'; - const String expectedFragment = 'abc'; - const String expectedUriString = + const expectedScheme = 'https'; + const expectedHost = 'www.example.com'; + const expectedPath = '/abc'; + const expectedQuery = 'abc=def'; + const expectedFragment = 'abc'; + const expectedUriString = '$expectedScheme://$expectedHost$expectedPath?$expectedQuery#$expectedFragment'; - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -236,8 +236,8 @@ void main() { testWidgets( 'GoRouteInformationParser can restore full route matches if optionURLReflectsImperativeAPIs is true', (WidgetTester tester) async { - final GlobalKey navKey = GlobalKey(); - final List routes = [ + final navKey = GlobalKey(); + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -283,7 +283,7 @@ void main() { ); test('GoRouteInformationParser can retrieve route by name', () async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -339,7 +339,7 @@ void main() { test( 'GoRouteInformationParser can retrieve route by name with query parameters', () async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -376,7 +376,7 @@ void main() { testWidgets('GoRouteInformationParser returns error when unknown route', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -413,7 +413,7 @@ void main() { 'GoRouteInformationParser calls redirector with correct uri when unknown route', (WidgetTester tester) async { String? lastRedirectLocation; - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -444,7 +444,7 @@ void main() { testWidgets('GoRouteInformationParser can work with route parameters', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -485,7 +485,7 @@ void main() { testWidgets( 'GoRouteInformationParser processes top level redirect when there is no match', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -528,7 +528,7 @@ void main() { testWidgets( 'GoRouteInformationParser can do route level redirect when there is a match', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (_, __) => const Placeholder(), @@ -571,7 +571,7 @@ void main() { testWidgets( 'GoRouteInformationParser throws an exception when route is malformed', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute(path: '/abc', builder: (_, __) => const Placeholder()), ]; final GoRouteInformationParser parser = await createParser( @@ -594,7 +594,7 @@ void main() { testWidgets( 'GoRouteInformationParser returns an error if a redirect is detected.', (WidgetTester tester) async { - final List routes = [ + final routes = [ GoRoute( path: '/abc', builder: (_, __) => const Placeholder(), @@ -622,7 +622,7 @@ void main() { ); testWidgets('Creates a match for ShellRoute', (WidgetTester tester) async { - final List routes = [ + final routes = [ ShellRoute( builder: (BuildContext context, GoRouterState state, Widget child) { return Scaffold(body: child); @@ -658,7 +658,7 @@ void main() { final List matches = matchesObj.matches; expect(matches, hasLength(1)); - final ShellRouteMatch match = matches.first as ShellRouteMatch; + final match = matches.first as ShellRouteMatch; expect(match.matches, hasLength(1)); expect(matchesObj.error, isNull); }); diff --git a/packages/go_router/test/path_utils_test.dart b/packages/go_router/test/path_utils_test.dart index 32218ffcd47..6dbf9110267 100644 --- a/packages/go_router/test/path_utils_test.dart +++ b/packages/go_router/test/path_utils_test.dart @@ -7,8 +7,8 @@ import 'package:go_router/src/path_utils.dart'; void main() { test('patternToRegExp without path parameter', () async { - const String pattern = '/settings/detail'; - final List pathParameter = []; + const pattern = '/settings/detail'; + final pathParameter = []; final RegExp regex = patternToRegExp( pattern, pathParameter, @@ -24,8 +24,8 @@ void main() { }); test('patternToRegExp with path parameter', () async { - const String pattern = '/user/:id/book/:bookId'; - final List pathParameter = []; + const pattern = '/user/:id/book/:bookId'; + final pathParameter = []; final RegExp regex = patternToRegExp( pattern, pathParameter, @@ -52,15 +52,15 @@ void main() { }); test('patternToPath without path parameter', () async { - const String pattern = '/settings/detail'; - final List pathParameter = []; + const pattern = '/settings/detail'; + final pathParameter = []; final RegExp regex = patternToRegExp( pattern, pathParameter, caseSensitive: true, ); - const String url = '/settings/detail'; + const url = '/settings/detail'; final RegExpMatch? match = regex.firstMatch(url); expect(match, isNotNull); @@ -74,15 +74,15 @@ void main() { }); test('patternToPath with path parameter', () async { - const String pattern = '/user/:id/book/:bookId'; - final List pathParameter = []; + const pattern = '/user/:id/book/:bookId'; + final pathParameter = []; final RegExp regex = patternToRegExp( pattern, pathParameter, caseSensitive: true, ); - const String url = '/user/123/book/456'; + const url = '/user/123/book/456'; final RegExpMatch? match = regex.firstMatch(url); expect(match, isNotNull); @@ -111,7 +111,7 @@ void main() { test('concatenateUris', () { void verify(String pathA, String pathB, String expected) { - final String result = concatenateUris( + final result = concatenateUris( Uri.parse(pathA), Uri.parse(pathB), ).toString(); diff --git a/packages/go_router/test/rebuild_test.dart b/packages/go_router/test/rebuild_test.dart index 5f0141fb9c7..b0379459c8d 100644 --- a/packages/go_router/test/rebuild_test.dart +++ b/packages/go_router/test/rebuild_test.dart @@ -12,7 +12,7 @@ void main() { testWidgets('GoRouter.push does not trigger unnecessary rebuilds', ( WidgetTester tester, ) async { - final List routes = [ + final routes = [ GoRoute( path: '/', builder: (BuildContext context, __) => const HomePage(), diff --git a/packages/go_router/test/request_focus.dart b/packages/go_router/test/request_focus.dart index 1385349b5c3..f17cd2d25ce 100644 --- a/packages/go_router/test/request_focus.dart +++ b/packages/go_router/test/request_focus.dart @@ -11,8 +11,8 @@ void main() { WidgetTester tester, ) async { final GlobalKey innerKey = GlobalKey(); - final FocusScopeNode focusNode = FocusScopeNode(); - final GoRouter router = GoRouter( + final focusNode = FocusScopeNode(); + final router = GoRouter( initialLocation: '/', routes: [ GoRoute(path: '/', name: 'home', builder: (_, __) => const Text('A')), diff --git a/packages/go_router/test/route_data_test.dart b/packages/go_router/test/route_data_test.dart index 61726de2649..044a449ce86 100644 --- a/packages/go_router/test/route_data_test.dart +++ b/packages/go_router/test/route_data_test.dart @@ -264,10 +264,7 @@ void main() { testWidgets('It should build the page from the overridden build method', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( - initialLocation: '/build', - routes: _routes, - ); + final goRouter = GoRouter(initialLocation: '/build', routes: _routes); addTearDown(goRouter.dispose); await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter)); expect(find.byKey(const Key('build')), findsOneWidget); @@ -277,7 +274,7 @@ void main() { testWidgets( 'It should build the page from the overridden buildPage method', (WidgetTester tester) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/build-page', routes: _routes, ); @@ -316,12 +313,12 @@ void main() { testWidgets('It should throw because there is no code generated', ( WidgetTester tester, ) async { - final List errors = []; + final errors = []; FlutterError.onError = (FlutterErrorDetails details) => errors.add(details); - const String errorText = 'Should be generated'; + const errorText = 'Should be generated'; Future expectUnimplementedError( void Function(BuildContext) onTap, @@ -372,7 +369,7 @@ void main() { testWidgets('It should build the page from the overridden build method', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/build', routes: _relativeRoutes, ); @@ -385,7 +382,7 @@ void main() { testWidgets( 'It should build the page from the overridden buildPage method', (WidgetTester tester) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/build-page', routes: _relativeRoutes, ); @@ -428,12 +425,12 @@ void main() { testWidgets('It should throw because there is no code generated', ( WidgetTester tester, ) async { - final List errors = []; + final errors = []; FlutterError.onError = (FlutterErrorDetails details) => errors.add(details); - const String errorText = 'Should be generated'; + const errorText = 'Should be generated'; Future expectUnimplementedError( void Function(BuildContext) onTap, @@ -488,7 +485,7 @@ void main() { testWidgets('It should build the page from the overridden build method', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/child', routes: [_shellRouteDataBuilder], ); @@ -501,9 +498,9 @@ void main() { testWidgets('It should build the page from the overridden build method', ( WidgetTester tester, ) async { - final GlobalKey root = GlobalKey(); - final GlobalKey inner = GlobalKey(); - final GoRouter goRouter = GoRouter( + final root = GlobalKey(); + final inner = GlobalKey(); + final goRouter = GoRouter( navigatorKey: root, initialLocation: '/child/test', routes: [ @@ -557,7 +554,7 @@ void main() { testWidgets( 'It should build the page from the overridden buildPage method', (WidgetTester tester) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/child', routes: [_shellRouteDataPageBuilder], ); @@ -571,7 +568,7 @@ void main() { testWidgets('It should redirect using the overridden redirect method', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/child', routes: [_goRouteDataBuildPage, _shellRouteDataRedirect], ); @@ -586,7 +583,7 @@ void main() { testWidgets('It should build the page from the overridden build method', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/child', routes: [_statefulShellRouteDataBuilder], ); @@ -599,7 +596,7 @@ void main() { testWidgets( 'It should build the page from the overridden buildPage method', (WidgetTester tester) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/child', routes: [_statefulShellRouteDataPageBuilder], ); @@ -611,7 +608,7 @@ void main() { ); test('Can assign parent navigator key', () { - final GlobalKey key = GlobalKey(); + final key = GlobalKey(); final StatefulShellRoute route = StatefulShellRouteData.$route( parentNavigatorKey: key, factory: (GoRouterState state) => @@ -649,10 +646,7 @@ void main() { testWidgets('It should redirect using the overridden redirect method', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( - initialLocation: '/redirect', - routes: _routes, - ); + final goRouter = GoRouter(initialLocation: '/redirect', routes: _routes); addTearDown(goRouter.dispose); await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter)); expect(find.byKey(const Key('build')), findsNothing); @@ -662,7 +656,7 @@ void main() { testWidgets( 'It should redirect using the overridden StatefulShellRoute redirect method', (WidgetTester tester) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/child', routes: [ _goRouteDataBuildPage, @@ -692,7 +686,7 @@ void main() { testWidgets('It should redirect using the overridden redirect method', ( WidgetTester tester, ) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/redirect-with-state', routes: _routes, ); @@ -702,9 +696,7 @@ void main() { expect(find.byKey(const Key('buildPage')), findsNothing); }); test('TypedGoRoute with default parameters', () { - const TypedGoRoute typedGoRoute = TypedGoRoute( - path: '/path', - ); + const typedGoRoute = TypedGoRoute(path: '/path'); expect(typedGoRoute.path, '/path'); expect(typedGoRoute.name, isNull); @@ -713,7 +705,7 @@ void main() { }); test('TypedGoRoute with provided parameters', () { - const TypedGoRoute typedGoRoute = TypedGoRoute( + const typedGoRoute = TypedGoRoute( path: '/path', name: 'name', caseSensitive: false, @@ -752,7 +744,7 @@ void main() { }); test('CustomParameterCodec with required parameters', () { - const CustomParameterCodec customParameterCodec = CustomParameterCodec( + const customParameterCodec = CustomParameterCodec( encode: toBase64, decode: fromBase64, ); @@ -762,8 +754,9 @@ void main() { }); test('TypedRelativeGoRoute with default parameters', () { - const TypedRelativeGoRoute typedGoRoute = - TypedRelativeGoRoute(path: 'path'); + const typedGoRoute = TypedRelativeGoRoute( + path: 'path', + ); expect(typedGoRoute.path, 'path'); expect(typedGoRoute.caseSensitive, true); @@ -771,17 +764,16 @@ void main() { }); test('TypedRelativeGoRoute with provided parameters', () { - const TypedRelativeGoRoute typedGoRoute = + const typedGoRoute = TypedRelativeGoRoute( + path: 'path', + caseSensitive: false, + routes: >[ TypedRelativeGoRoute( - path: 'path', + path: 'sub-path', caseSensitive: false, - routes: >[ - TypedRelativeGoRoute( - path: 'sub-path', - caseSensitive: false, - ), - ], - ); + ), + ], + ); expect(typedGoRoute.path, 'path'); expect(typedGoRoute.caseSensitive, false); diff --git a/packages/go_router/test/routing_config_test.dart b/packages/go_router/test/routing_config_test.dart index 01eb5330c7d..762526ad3f3 100644 --- a/packages/go_router/test/routing_config_test.dart +++ b/packages/go_router/test/routing_config_test.dart @@ -11,7 +11,7 @@ import 'test_helpers.dart'; void main() { testWidgets('routing config works', (WidgetTester tester) async { - final ValueNotifier config = ValueNotifier( + final config = ValueNotifier( RoutingConfig( routes: [ GoRoute(path: '/', builder: (_, __) => const Text('home')), @@ -31,7 +31,7 @@ void main() { testWidgets('routing config works after builder changes', ( WidgetTester tester, ) async { - final ValueNotifier config = ValueNotifier( + final config = ValueNotifier( RoutingConfig( routes: [ GoRoute(path: '/', builder: (_, __) => const Text('home')), @@ -54,7 +54,7 @@ void main() { testWidgets('routing config works after routing changes', ( WidgetTester tester, ) async { - final ValueNotifier config = ValueNotifier( + final config = ValueNotifier( RoutingConfig( routes: [ GoRoute(path: '/', builder: (_, __) => const Text('home')), @@ -86,7 +86,7 @@ void main() { testWidgets('routing config works after routing changes case 2', ( WidgetTester tester, ) async { - final ValueNotifier config = ValueNotifier( + final config = ValueNotifier( RoutingConfig( routes: [ GoRoute(path: '/', builder: (_, __) => const Text('home')), @@ -118,13 +118,10 @@ void main() { testWidgets('routing config works after routing changes case 3', ( WidgetTester tester, ) async { - final GlobalKey<_StatefulTestState> key = GlobalKey<_StatefulTestState>( - debugLabel: 'testState', - ); - final GlobalKey rootNavigatorKey = - GlobalKey(debugLabel: 'root'); + final key = GlobalKey<_StatefulTestState>(debugLabel: 'testState'); + final rootNavigatorKey = GlobalKey(debugLabel: 'root'); - final ValueNotifier config = ValueNotifier( + final config = ValueNotifier( RoutingConfig( routes: [ GoRoute( @@ -163,15 +160,11 @@ void main() { // TODO(tolo): Temporarily skipped due to a bug that causes test to faiL skip: true, (WidgetTester tester) async { - final GlobalKey<_StatefulTestState> key = GlobalKey<_StatefulTestState>( - debugLabel: 'testState', - ); - final GlobalKey rootNavigatorKey = - GlobalKey(debugLabel: 'root'); - final GlobalKey shellNavigatorKey = - GlobalKey(debugLabel: 'shell'); + final key = GlobalKey<_StatefulTestState>(debugLabel: 'testState'); + final rootNavigatorKey = GlobalKey(debugLabel: 'root'); + final shellNavigatorKey = GlobalKey(debugLabel: 'shell'); - final ValueNotifier config = ValueNotifier( + final config = ValueNotifier( RoutingConfig( routes: [ ShellRoute( @@ -217,7 +210,7 @@ void main() { testWidgets('routing config works with named route', ( WidgetTester tester, ) async { - final ValueNotifier config = ValueNotifier( + final config = ValueNotifier( RoutingConfig( routes: [ GoRoute(path: '/', builder: (_, __) => const Text('home')), diff --git a/packages/go_router/test/shell_route_observers_test.dart b/packages/go_router/test/shell_route_observers_test.dart index 8f803602670..8d95373796f 100644 --- a/packages/go_router/test/shell_route_observers_test.dart +++ b/packages/go_router/test/shell_route_observers_test.dart @@ -10,7 +10,7 @@ import 'test_helpers.dart'; void main() { test('ShellRoute observers test', () { - final ShellRoute shell = ShellRoute( + final shell = ShellRoute( observers: [HeroController()], builder: (BuildContext context, GoRouterState state, Widget child) { return SafeArea(child: child); @@ -31,11 +31,9 @@ void main() { testWidgets( 'GoRouter observers should be notified when navigating within ShellRoute', (WidgetTester tester) async { - final MockObserver observer = MockObserver(); + final observer = MockObserver(); - final GlobalKey root = GlobalKey( - debugLabel: 'root', - ); + final root = GlobalKey(debugLabel: 'root'); await createRouter( [ GoRoute(path: '/', builder: (_, __) => const Text('Home')), diff --git a/packages/go_router/test/test_helpers.dart b/packages/go_router/test/test_helpers.dart index 4f30e8e107c..6a0b8496015 100644 --- a/packages/go_router/test/test_helpers.dart +++ b/packages/go_router/test/test_helpers.dart @@ -13,7 +13,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:go_router/go_router.dart'; Future createGoRouter(WidgetTester tester) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( initialLocation: '/', routes: [ GoRoute(path: '/', builder: (_, __) => const DummyStatefulWidget()), @@ -178,7 +178,7 @@ Future createRouter( bool overridePlatformDefaultLocation = false, List? observers, }) async { - final GoRouter goRouter = GoRouter( + final goRouter = GoRouter( routes: routes, redirect: redirect, extraCodec: extraCodec, @@ -217,7 +217,7 @@ Future createRouterWithRoutingConfig( bool requestFocus = true, bool overridePlatformDefaultLocation = false, }) async { - final GoRouter goRouter = GoRouter.routingConfig( + final goRouter = GoRouter.routingConfig( routingConfig: config, initialLocation: initialLocation, onException: onException, diff --git a/packages/go_router/tool/run_tests.dart b/packages/go_router/tool/run_tests.dart index 6fa363072dd..0c1e0f907a2 100644 --- a/packages/go_router/tool/run_tests.dart +++ b/packages/go_router/tool/run_tests.dart @@ -63,17 +63,15 @@ Future _prepareTemplate({ required Directory testTempDir, }) async { // The src test_fixes directory. - final Directory testFixesSrcDir = Directory( - p.join(packageRoot.path, 'test_fixes'), - ); + final testFixesSrcDir = Directory(p.join(packageRoot.path, 'test_fixes')); // Copy from src `test_fixes/` to the temp directory. await io.copyPath(testFixesSrcDir.path, testTempDir.path); // The pubspec.yaml file to create. - final File targetPubspecFile = File(p.join(testTempDir.path, 'pubspec.yaml')); + final targetPubspecFile = File(p.join(testTempDir.path, 'pubspec.yaml')); - final String targetYaml = + final targetYaml = ''' name: test_fixes publish_to: "none" diff --git a/packages/go_router_builder/README.md b/packages/go_router_builder/README.md index c88879faefc..a2e69c018e5 100644 --- a/packages/go_router_builder/README.md +++ b/packages/go_router_builder/README.md @@ -143,7 +143,7 @@ The code generator aggregates all top-level routes into a single list called ```dart -final GoRouter router = GoRouter(routes: $appRoutes); +final router = GoRouter(routes: $appRoutes); ``` ## Error builder @@ -167,7 +167,7 @@ With this in place, you can provide the `errorBuilder` parameter like so: ```dart -final GoRouter routerWithErrorBuilder = GoRouter( +final routerWithErrorBuilder = GoRouter( routes: $appRoutes, errorBuilder: (BuildContext context, GoRouterState state) { return ErrorRoute(error: state.error!).build(context, state); @@ -308,7 +308,7 @@ generator: ```dart redirect: (BuildContext context, GoRouterState state) { final bool loggedIn = loginInfo.loggedIn; - final bool loggingIn = state.matchedLocation == LoginRoute().location; + final loggingIn = state.matchedLocation == LoginRoute().location; if (!loggedIn && !loggingIn) { return LoginRoute(from: state.matchedLocation).location; } diff --git a/packages/go_router_builder/example/lib/main.dart b/packages/go_router_builder/example/lib/main.dart index a4ce0d9cca2..ca39237097d 100644 --- a/packages/go_router_builder/example/lib/main.dart +++ b/packages/go_router_builder/example/lib/main.dart @@ -42,7 +42,7 @@ class App extends StatelessWidget { // check just the matchedLocation in case there are query parameters final String loginLoc = const LoginRoute().location; - final bool goingToLogin = state.matchedLocation == loginLoc; + final goingToLogin = state.matchedLocation == loginLoc; // the user is not logged in and not headed to /login, they need to login if (!loggedIn && !goingToLogin) { diff --git a/packages/go_router_builder/example/lib/readme_excerpts.dart b/packages/go_router_builder/example/lib/readme_excerpts.dart index bbb1d5b5525..97c74ed3f50 100644 --- a/packages/go_router_builder/example/lib/readme_excerpts.dart +++ b/packages/go_router_builder/example/lib/readme_excerpts.dart @@ -30,11 +30,11 @@ void otherDoc(BuildContext context) { // #enddocregion GoWrong // #docregion GoRouter - final GoRouter router = GoRouter(routes: $appRoutes); + final router = GoRouter(routes: $appRoutes); // #enddocregion GoRouter // #docregion routerWithErrorBuilder - final GoRouter routerWithErrorBuilder = GoRouter( + final routerWithErrorBuilder = GoRouter( routes: $appRoutes, errorBuilder: (BuildContext context, GoRouterState state) { return ErrorRoute(error: state.error!).build(context, state); @@ -61,14 +61,14 @@ void otherDoc(BuildContext context) { void onTapRelative() => const DetailsRoute().goRelative(context); // #enddocregion goRelative - final LoginInfo loginInfo = LoginInfo(); + final loginInfo = LoginInfo(); - final GoRouter routerWithRedirect = GoRouter( + final routerWithRedirect = GoRouter( routes: $appRoutes, // #docregion redirect redirect: (BuildContext context, GoRouterState state) { final bool loggedIn = loginInfo.loggedIn; - final bool loggingIn = state.matchedLocation == LoginRoute().location; + final loggingIn = state.matchedLocation == LoginRoute().location; if (!loggedIn && !loggingIn) { return LoginRoute(from: state.matchedLocation).location; } diff --git a/packages/go_router_builder/example/test/all_types_test.dart b/packages/go_router_builder/example/test/all_types_test.dart index e99f014cf2c..31da7b49504 100644 --- a/packages/go_router_builder/example/test/all_types_test.dart +++ b/packages/go_router_builder/example/test/all_types_test.dart @@ -35,8 +35,8 @@ void main() { expect(find.text('Query param: true'), findsOneWidget); expect(find.text('Query param with default value: true'), findsOneWidget); - final DateTime param = DateTime.now(); - final DateTime query = DateTime(2017, 9, 7, 17, 30); + final param = DateTime.now(); + final query = DateTime(2017, 9, 7, 17, 30); DateTimeRoute( requiredDateTimeField: param, dateTimeField: query, diff --git a/packages/go_router_builder/example/test/location_test.dart b/packages/go_router_builder/example/test/location_test.dart index a83f93413eb..29a691cfb5c 100644 --- a/packages/go_router_builder/example/test/location_test.dart +++ b/packages/go_router_builder/example/test/location_test.dart @@ -14,7 +14,7 @@ void main() { // Needs to not be a const to test // https://github.com/flutter/flutter/issues/127825. - final Set doubleSetField = {}; + final doubleSetField = {}; expect( IterableRouteWithDefaultValues(doubleSetField: doubleSetField).location, '/iterable-route-with-default-values', @@ -29,7 +29,7 @@ void main() { // Needs to not be a const to test // https://github.com/flutter/flutter/issues/127825. - final Set intSetField = {0, 1}; + final intSetField = {0, 1}; expect( IterableRouteWithDefaultValues(intSetField: intSetField).location, '/iterable-route-with-default-values', diff --git a/packages/go_router_builder/lib/src/go_router_generator.dart b/packages/go_router_builder/lib/src/go_router_generator.dart index 0ca99e60025..6019742f47e 100644 --- a/packages/go_router_builder/lib/src/go_router_generator.dart +++ b/packages/go_router_builder/lib/src/go_router_generator.dart @@ -35,8 +35,8 @@ class GoRouterGenerator extends Generator { @override FutureOr generate(LibraryReader library, BuildStep buildStep) async { - final Set values = {}; - final Set getters = {}; + final values = {}; + final getters = {}; generateForAnnotation(library, values, getters); @@ -94,9 +94,7 @@ ${getters.map((String e) => "$e,").join('\n')} ); } - final TypeChecker dataChecker = TypeChecker.fromUrl( - '$_routeDataUrl#$routeData', - ); + final dataChecker = TypeChecker.fromUrl('$_routeDataUrl#$routeData'); if (!element.allSupertypes.any( (InterfaceType element) => dataChecker.isExactlyType(element), )) { diff --git a/packages/go_router_builder/lib/src/path_utils.dart b/packages/go_router_builder/lib/src/path_utils.dart index 8133f5df4b3..607f9faf2a2 100644 --- a/packages/go_router_builder/lib/src/path_utils.dart +++ b/packages/go_router_builder/lib/src/path_utils.dart @@ -28,8 +28,8 @@ Set pathParametersFromPattern(String pattern) => { /// final path = patternToPath(pattern, {'id': 'family-id'}); // '/family/family-id' /// ``` String patternToPath(String pattern, Map pathParameters) { - final StringBuffer buffer = StringBuffer(); - int start = 0; + final buffer = StringBuffer(); + var start = 0; for (final RegExpMatch match in _parameterRegExp.allMatches(pattern)) { if (match.start > start) { buffer.write(pattern.substring(start, match.start)); diff --git a/packages/go_router_builder/lib/src/route_config.dart b/packages/go_router_builder/lib/src/route_config.dart index 5dae9473a2d..84ef2a624bb 100644 --- a/packages/go_router_builder/lib/src/route_config.dart +++ b/packages/go_router_builder/lib/src/route_config.dart @@ -197,13 +197,13 @@ mixin _GoRouteMixin on RouteBaseConfig { // construct path bits using parent bits // if there are any queryParam objects, add in the `queryParam` bits String get _locationArgs { - final Map pathParameters = Map.fromEntries( + final pathParameters = Map.fromEntries( _pathParams.map((String pathParameter) { // Enum types are encoded using a map, so we need a nullability check // here to ensure it matches Uri.encodeComponent nullability final DartType? type = _field(pathParameter)?.returnType; - final StringBuffer valueBuffer = StringBuffer(); + final valueBuffer = StringBuffer(); valueBuffer.write(r'${Uri.encodeComponent('); valueBuffer.write(_encodeFor(pathParameter)); @@ -232,7 +232,7 @@ mixin _GoRouteMixin on RouteBaseConfig { ); String get _fromStateConstructor { - final StringBuffer buffer = StringBuffer('=>'); + final buffer = StringBuffer('=>'); if (_ctor.isConst && _ctorParams.isEmpty && _ctorQueryParams.isEmpty && @@ -241,7 +241,7 @@ mixin _GoRouteMixin on RouteBaseConfig { } buffer.writeln('$_className('); - for (final FormalParameterElement param in [ + for (final param in [ ..._ctorParams, ..._ctorQueryParams, if (_extraParam != null) _extraParam!, @@ -314,12 +314,12 @@ mixin _GoRouteMixin on RouteBaseConfig { return ''; } - final StringBuffer buffer = StringBuffer('queryParams: {\n'); + final buffer = StringBuffer('queryParams: {\n'); for (final FormalParameterElement param in _ctorQueryParams) { final String parameterName = param.displayName; - final List conditions = []; + final conditions = []; if (param.hasDefaultValue) { if (param.type.isNullableType) { throw NullableDefaultValueError(param); @@ -330,7 +330,7 @@ mixin _GoRouteMixin on RouteBaseConfig { } else if (param.type.isNullableType) { conditions.add('$selfFieldName.$parameterName != null'); } - String line = ''; + var line = ''; if (conditions.isNotEmpty) { line = 'if (${conditions.join(' && ')}) '; } @@ -384,9 +384,9 @@ mixin _GoRouteMixin on RouteBaseConfig { /// Returns code representing the constant maps that contain the `enum` to /// [String] mapping for each referenced enum. Iterable _enumDeclarations() { - final Set enumParamTypes = {}; + final enumParamTypes = {}; - for (final FormalParameterElement ctorParam in [ + for (final ctorParam in [ ..._ctorParams, ..._ctorQueryParams, ]) { @@ -441,7 +441,7 @@ class GoRouteConfig extends RouteBaseConfig with _GoRouteMixin { final String? parentNavigatorKey; String get _rawJoinedPath { - final List pathSegments = []; + final pathSegments = []; RouteBaseConfig? config = this; while (config != null) { @@ -598,11 +598,7 @@ abstract class RouteBaseConfig { ConstantReader reader, InterfaceElement2 element, ) { - final RouteBaseConfig definition = RouteBaseConfig._fromAnnotation( - reader, - element, - null, - ); + final definition = RouteBaseConfig._fromAnnotation(reader, element, null); if (element != definition.routeDataClass) { throw InvalidGenerationSourceError( @@ -622,7 +618,7 @@ abstract class RouteBaseConfig { bool isAncestorRelative = false, }) { assert(!reader.isNull, 'reader should not be null'); - final InterfaceType type = reader.objectValue.type! as InterfaceType; + final type = reader.objectValue.type! as InterfaceType; final String typeName = type.element.displayName; if (isAncestorRelative && typeName == 'TypedGoRoute') { @@ -850,7 +846,7 @@ abstract class RouteBaseConfig { ); Iterable _generateMembers() sync* { - final List items = [_rootDefinition()]; + final items = [_rootDefinition()]; for (final RouteBaseConfig def in _flatten()) { items.addAll(def.classDeclarations()); @@ -893,7 +889,7 @@ RouteBase get $_routeGetterName => ${_invokesRouteConstructor()}; String get _extensionName => '\$${_className}Extension'; String _invokesRouteConstructor() { - final String routesBit = _children.isEmpty + final routesBit = _children.isEmpty ? '' : ''' ${_generateChildrenGetterName(routeDataClassName)}: [${_children.map((RouteBaseConfig e) => '${e._invokesRouteConstructor()},').join()}], @@ -939,7 +935,7 @@ String _enumMapConst(InterfaceType type) { final String enumName = type.element.displayName; - final StringBuffer buffer = StringBuffer('const ${enumMapName(type)} = {'); + final buffer = StringBuffer('const ${enumMapName(type)} = {'); // ignore: experimental_member_use for (final FieldElement2 enumField in type.element3.fields2.where( diff --git a/packages/go_router_builder/lib/src/type_helpers.dart b/packages/go_router_builder/lib/src/type_helpers.dart index 5c4a4d230ad..cffec763c01 100644 --- a/packages/go_router_builder/lib/src/type_helpers.dart +++ b/packages/go_router_builder/lib/src/type_helpers.dart @@ -188,7 +188,7 @@ T? getNodeDeclaration(InterfaceElement2 element) { return null; } - final ParsedLibraryResult parsedLibrary = + final parsedLibrary = // ignore: experimental_member_use session.getParsedLibraryByElement2(element.library2) as ParsedLibraryResult; @@ -240,7 +240,7 @@ String _stateValueAccess( } late String access; - final String suffix = !element.type.isNullableType && !element.hasDefaultValue + final suffix = !element.type.isNullableType && !element.hasDefaultValue ? '!' : ''; if (pathParameters.contains(element.displayName)) { @@ -420,7 +420,7 @@ class _TypeHelperExtensionType extends _TypeHelper { throw NullableDefaultValueError(parameterElement); } - final String stateValue = + final stateValue = 'state.${_stateValueAccess(parameterElement, pathParameters)}'; final String castType; if (paramType.isNullableType || parameterElement.hasDefaultValue) { @@ -595,8 +595,8 @@ class _TypeHelperIterable extends _TypeHelperWithHelper { (parameterElement.type as ParameterizedType).typeArguments.first; // get a type converter for values in iterable - String entriesTypeDecoder = '(e) => e'; - String convertToNotNull = ''; + var entriesTypeDecoder = '(e) => e'; + var convertToNotNull = ''; for (final _TypeHelper helper in _helpers) { if (helper._matchesType(iterableType) && @@ -613,8 +613,8 @@ class _TypeHelperIterable extends _TypeHelperWithHelper { } // get correct type for iterable - String iterableCaster = ''; - String fallBack = ''; + var iterableCaster = ''; + var fallBack = ''; if (const TypeChecker.typeNamed( List, inSdk: true, @@ -646,12 +646,12 @@ state.uri.queryParametersAll[${escapeDartString(parameterElement.displayName.keb @override String _encode(String fieldName, DartType type, String? customEncoder) { - final String nullAwareAccess = type.isNullableType ? '?' : ''; + final nullAwareAccess = type.isNullableType ? '?' : ''; if (type is ParameterizedType) { final DartType iterableType = type.typeArguments.first; // get a type encoder for values in iterable - String entriesTypeEncoder = ''; + var entriesTypeEncoder = ''; for (final _TypeHelper helper in _helpers) { if (helper._matchesType(iterableType)) { entriesTypeEncoder = ''' @@ -738,8 +738,8 @@ class _TypeHelperJson extends _TypeHelperWithHelper { } String _helperNameN(DartType paramType, int index) { - final String mainType = index == 0 ? 'String' : 'Object?'; - final String mainDecoder = index == 0 + final mainType = index == 0 ? 'String' : 'Object?'; + final mainDecoder = index == 0 ? 'jsonDecode(json$index) as Map' : 'json$index as Map'; if (_isNestedTemplate(paramType as InterfaceType)) { @@ -794,7 +794,7 @@ class _TypeHelperJson extends _TypeHelperWithHelper { return false; } - final FunctionType functionType = secondParam.type as FunctionType; + final functionType = secondParam.type as FunctionType; // ignore: experimental_member_use if (functionType.formalParameters.length != 1 || functionType.returnType.getDisplayString() != @@ -834,7 +834,7 @@ abstract class _TypeHelperWithHelper extends _TypeHelper { 'state.uri.queryParameters, ' '${helperName(paramType)})'; } - final String nullableSuffix = + final nullableSuffix = paramType.isNullableType || (paramType.isEnum && !paramType.isNullableType) ? '!' diff --git a/packages/go_router_builder/tool/run_tests.dart b/packages/go_router_builder/tool/run_tests.dart index 40e629e7b37..4ddb1de7db2 100644 --- a/packages/go_router_builder/tool/run_tests.dart +++ b/packages/go_router_builder/tool/run_tests.dart @@ -19,18 +19,18 @@ import 'package:test/test.dart'; const GoRouterGenerator generator = GoRouterGenerator(); Future main() async { - final dart_style.DartFormatter formatter = dart_style.DartFormatter( + final formatter = dart_style.DartFormatter( languageVersion: await _packageVersion(), ); - final Directory dir = Directory('test_inputs'); + final dir = Directory('test_inputs'); final List testFiles = dir .listSync() .whereType() .where((File f) => f.path.endsWith('.dart')) .toList(); - for (final File file in testFiles) { + for (final file in testFiles) { final String fileName = file.path.split('/').last; - final File expectFile = File(p.join('${file.path}.expect')); + final expectFile = File(p.join('${file.path}.expect')); if (!expectFile.existsSync()) { throw Exception( 'A text input must have a .expect file. ' @@ -41,17 +41,17 @@ Future main() async { test('verify $fileName', () async { // Normalize path separators for cross-platform compatibility final String path = file.path.replaceAll(r'\', '/'); - final String targetLibraryAssetId = '__test__|$path'; + final targetLibraryAssetId = '__test__|$path'; final LibraryElement2 element = await resolveSources( {targetLibraryAssetId: file.readAsStringSync()}, (Resolver resolver) async { - final AssetId assetId = AssetId.parse(targetLibraryAssetId); + final assetId = AssetId.parse(targetLibraryAssetId); return resolver.libraryFor(assetId); }, readAllSourcesFromFilesystem: true, ); - final LibraryReader reader = LibraryReader(element); - final Set results = {}; + final reader = LibraryReader(element); + final results = {}; try { generator.generateForAnnotation(reader, results, {}); } on InvalidGenerationSourceError catch (e) { diff --git a/packages/google_adsense/example/integration_test/core_test.dart b/packages/google_adsense/example/integration_test/core_test.dart index 55404f5526e..aee9f023517 100644 --- a/packages/google_adsense/example/integration_test/core_test.dart +++ b/packages/google_adsense/example/integration_test/core_test.dart @@ -36,8 +36,7 @@ void main() async { await adSense.initialize(testClient, jsLoaderTarget: target); - final web.HTMLScriptElement? injected = - target.lastElementChild as web.HTMLScriptElement?; + final injected = target.lastElementChild as web.HTMLScriptElement?; expect(injected, isNotNull); expect(injected!.src, testScriptUrl); @@ -65,8 +64,7 @@ void main() async { ), ); - final web.HTMLScriptElement injected = - target.lastElementChild! as web.HTMLScriptElement; + final injected = target.lastElementChild! as web.HTMLScriptElement; expect(injected.dataset['adHost'], 'test-adHost'); expect( @@ -90,7 +88,7 @@ void main() async { testWidgets('Skips initialization if script is already present.', ( WidgetTester _, ) async { - final web.HTMLScriptElement script = web.HTMLScriptElement() + final script = web.HTMLScriptElement() ..id = 'previously-injected' ..src = testScriptUrl; final web.HTMLElement target = web.HTMLDivElement()..appendChild(script); diff --git a/packages/google_adsense/example/integration_test/experimental_ad_unit_widget_test.dart b/packages/google_adsense/example/integration_test/experimental_ad_unit_widget_test.dart index df751abd1e4..935d01877e9 100644 --- a/packages/google_adsense/example/integration_test/experimental_ad_unit_widget_test.dart +++ b/packages/google_adsense/example/integration_test/experimental_ad_unit_widget_test.dart @@ -55,7 +55,7 @@ void main() async { await adSense.initialize(testClient); - final CallbackTracker tracker = CallbackTracker(); + final tracker = CallbackTracker(); final Widget adUnitWidget = AdUnitWidget( configuration: AdUnitConfiguration.displayAdUnit( adSlot: testSlot, @@ -80,14 +80,14 @@ void main() async { 'Fixed size (without adFormat) ad units respect flutter constraints', (WidgetTester tester) async { const double maxHeight = 100; - const BoxConstraints constraints = BoxConstraints(maxHeight: maxHeight); + const constraints = BoxConstraints(maxHeight: maxHeight); // When mockAdsByGoogle(mockAd(size: const Size(320, 157))); await adSense.initialize(testClient); - final CallbackTracker tracker = CallbackTracker(); + final tracker = CallbackTracker(); final Widget adUnitWidget = AdUnitWidget( configuration: AdUnitConfiguration.displayAdUnit(adSlot: testSlot), adClient: adSense.adClient, @@ -119,7 +119,7 @@ void main() async { await adSense.initialize(testClient); - final CallbackTracker tracker = CallbackTracker(); + final tracker = CallbackTracker(); final Widget adUnitWidget = AdUnitWidget( configuration: AdUnitConfiguration.displayAdUnit(adSlot: testSlot), adClient: adSense.adClient, @@ -154,7 +154,7 @@ void main() async { await adSense.initialize(testClient); - final CallbackTracker tracker = CallbackTracker(); + final tracker = CallbackTracker(); final Widget bunchOfAds = Column( children: [ AdUnitWidget( @@ -231,7 +231,7 @@ Future pumpAdWidget( ), ); - final Stopwatch timer = Stopwatch()..start(); + final timer = Stopwatch()..start(); while (!tracker.allCalled) { if (timer.elapsedMilliseconds > 1000) { fail('timeout while waiting for ad widget to be injected'); diff --git a/packages/google_adsense/example/integration_test/h5_test.dart b/packages/google_adsense/example/integration_test/h5_test.dart index a8ad8c7f1e0..c98a1215fb6 100644 --- a/packages/google_adsense/example/integration_test/h5_test.dart +++ b/packages/google_adsense/example/integration_test/h5_test.dart @@ -28,9 +28,7 @@ void main() { mockAdsByGoogle(mockAdBreak()); await adSense.initialize('_'); - final AdBreakPlacement adBreakPlacement = AdBreakPlacement( - type: BreakType.reward, - ); + final adBreakPlacement = AdBreakPlacement(type: BreakType.reward); h5GamesAds.adBreak(adBreakPlacement); @@ -61,7 +59,7 @@ void main() { ); await adSense.initialize('_'); - final AdBreakPlacement adBreakPlacement = AdBreakPlacement( + final adBreakPlacement = AdBreakPlacement( type: BreakType.reward, adBreakDone: adBreakDoneCallback, ); @@ -81,7 +79,7 @@ void main() { mockAdsByGoogle(mockAdBreak()); await adSense.initialize('_'); - final AdBreakPlacement adBreakPlacement = AdBreakPlacement( + final adBreakPlacement = AdBreakPlacement( type: BreakType.reward, name: 'my-test-break', ); @@ -99,7 +97,7 @@ void main() { group('h5GamesAds.adConfig', () { testWidgets('can set up configuration', (WidgetTester tester) async { - bool called = false; + var called = false; void onReadyCallback() { called = true; } diff --git a/packages/google_adsense/example/integration_test/js_interop_mocks/adsense_test_js_interop.dart b/packages/google_adsense/example/integration_test/js_interop_mocks/adsense_test_js_interop.dart index 7ad3ddeb08d..4d9483ea82b 100644 --- a/packages/google_adsense/example/integration_test/js_interop_mocks/adsense_test_js_interop.dart +++ b/packages/google_adsense/example/integration_test/js_interop_mocks/adsense_test_js_interop.dart @@ -28,7 +28,7 @@ PushFn mockAds(List adConfigs) { .querySelectorAll('div[id^=adUnit] ins') .toList; - for (int i = 0; i < foundTargets.length; i++) { + for (var i = 0; i < foundTargets.length; i++) { final web.HTMLElement adTarget = foundTargets[i]; if (adTarget.children.length > 0) { continue; @@ -54,8 +54,8 @@ PushFn mockAds(List adConfigs) { extension on web.NodeList { List get toList { - final List result = []; - for (int i = 0; i < length; i++) { + final result = []; + for (var i = 0; i < length; i++) { final web.Node? node = item(i); if (node != null && node.isA()) { result.add(node as web.HTMLElement); diff --git a/packages/google_adsense/example/integration_test/script_tag_test.dart b/packages/google_adsense/example/integration_test/script_tag_test.dart index f2c150b1e9f..7daa95e4c3a 100644 --- a/packages/google_adsense/example/integration_test/script_tag_test.dart +++ b/packages/google_adsense/example/integration_test/script_tag_test.dart @@ -18,14 +18,14 @@ void main() async { group('JS initialization', () { testWidgets('Initialization adds AdSense snippet.', (WidgetTester _) async { // Given - const String expectedScriptUrl = + const expectedScriptUrl = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-$testClient'; // When (using the singleton adSense from the plugin) await adSense.initialize(testClient); // Then - final web.HTMLScriptElement? injected = + final injected = web.document.head?.lastElementChild as web.HTMLScriptElement?; expect(injected, isNotNull); diff --git a/packages/google_adsense/example/lib/h5.dart b/packages/google_adsense/example/lib/h5.dart index 3e2ac65dd21..fe2cab820ed 100644 --- a/packages/google_adsense/example/lib/h5.dart +++ b/packages/google_adsense/example/lib/h5.dart @@ -151,7 +151,7 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { - final bool adBreakAvailable = _showAdFn != null; + final adBreakAvailable = _showAdFn != null; return Scaffold( appBar: AppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, diff --git a/packages/google_adsense/lib/src/adsense/ad_unit_widget.dart b/packages/google_adsense/lib/src/adsense/ad_unit_widget.dart index 1f06d326a3e..dbb8cb94945 100644 --- a/packages/google_adsense/lib/src/adsense/ad_unit_widget.dart +++ b/packages/google_adsense/lib/src/adsense/ad_unit_widget.dart @@ -105,12 +105,11 @@ class _AdUnitWidgetWebState extends State void _onElementCreated(Object element) { // Create the `ins` element that is going to contain the actual ad. - final web.HTMLElement insElement = - (web.document.createElement('ins') as web.HTMLElement) - ..className = 'adsbygoogle' - ..style.width = '100%' - ..style.height = '100%' - ..style.display = 'block'; + final insElement = (web.document.createElement('ins') as web.HTMLElement) + ..className = 'adsbygoogle' + ..style.width = '100%' + ..style.height = '100%' + ..style.display = 'block'; // Apply the widget configuration to insElement { @@ -121,7 +120,7 @@ class _AdUnitWidgetWebState extends State }); // Adding ins inside of the adUnit - final web.HTMLDivElement adUnitDiv = element as web.HTMLDivElement + final adUnitDiv = element as web.HTMLDivElement ..id = 'adUnit${_adUnitCounter++}' ..append(insElement); @@ -132,7 +131,7 @@ class _AdUnitWidgetWebState extends State web.MutationObserver( (JSArray entries, web.MutationObserver observer) { for (final JSObject entry in entries.toDart) { - final web.HTMLElement target = + final target = (entry as web.MutationRecord).target as web.HTMLElement; if (_isLoaded(target)) { if (_isFilled(target)) { diff --git a/packages/google_adsense/lib/src/core/js_interop/js_loader.dart b/packages/google_adsense/lib/src/core/js_interop/js_loader.dart index aea3577e0c8..f570abc8ffc 100644 --- a/packages/google_adsense/lib/src/core/js_interop/js_loader.dart +++ b/packages/google_adsense/lib/src/core/js_interop/js_loader.dart @@ -31,14 +31,14 @@ Future loadJsSdk( return; } - final String scriptUrl = '$_URL?client=ca-pub-$adClient'; + final scriptUrl = '$_URL?client=ca-pub-$adClient'; - final web.HTMLScriptElement script = web.HTMLScriptElement() + final script = web.HTMLScriptElement() ..async = true ..crossOrigin = 'anonymous'; if (web.window.nullableTrustedTypes != null) { - final String trustedTypePolicyName = 'adsense-dart-$adClient'; + final trustedTypePolicyName = 'adsense-dart-$adClient'; try { final web.TrustedTypePolicy policy = web.window.trustedTypes.createPolicy( trustedTypePolicyName, @@ -75,7 +75,7 @@ void _applyDataAttributes( // [target] can be used to specify a different injection target than // `window.document.head`, and is normally used for tests. bool _sdkAlreadyLoaded(String adClient, web.HTMLElement? target) { - final String selector = 'script[src*=ca-pub-$adClient]'; + final selector = 'script[src*=ca-pub-$adClient]'; return adsbygooglePresent || web.document.querySelector(selector) != null || target?.querySelector(selector) != null; diff --git a/packages/google_adsense/lib/src/h5/enums.dart b/packages/google_adsense/lib/src/h5/enums.dart index 757595a7ba1..0b78e64b870 100644 --- a/packages/google_adsense/lib/src/h5/enums.dart +++ b/packages/google_adsense/lib/src/h5/enums.dart @@ -7,7 +7,7 @@ extension MaybeEnum on List { /// Attempts to retrieve an enum of type T by its [name]. T? maybe(String? name) { - for (final T value in this) { + for (final value in this) { if (value.name == name) { return value; } diff --git a/packages/google_fonts/CHANGELOG.md b/packages/google_fonts/CHANGELOG.md index b1192366c6e..34acb418592 100644 --- a/packages/google_fonts/CHANGELOG.md +++ b/packages/google_fonts/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +- Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 6.3.2 diff --git a/packages/google_fonts/README.md b/packages/google_fonts/README.md index 6cf875424bc..c215d65dab1 100644 --- a/packages/google_fonts/README.md +++ b/packages/google_fonts/README.md @@ -94,7 +94,7 @@ class MyApp extends StatelessWidget { } ThemeData _buildTheme(Brightness brightness) { - final ThemeData baseTheme = ThemeData(brightness: brightness); + final baseTheme = ThemeData(brightness: brightness); return baseTheme.copyWith( textTheme: GoogleFonts.latoTextTheme(baseTheme.textTheme), diff --git a/packages/google_fonts/example/lib/readme_excerpts.dart b/packages/google_fonts/example/lib/readme_excerpts.dart index 0beab3ac726..9d718982671 100644 --- a/packages/google_fonts/example/lib/readme_excerpts.dart +++ b/packages/google_fonts/example/lib/readme_excerpts.dart @@ -86,7 +86,7 @@ class MyApp extends StatelessWidget { } ThemeData _buildTheme(Brightness brightness) { - final ThemeData baseTheme = ThemeData(brightness: brightness); + final baseTheme = ThemeData(brightness: brightness); return baseTheme.copyWith( textTheme: GoogleFonts.latoTextTheme(baseTheme.textTheme), diff --git a/packages/google_fonts/example/pubspec.yaml b/packages/google_fonts/example/pubspec.yaml index 580c0856230..6b706aafd9d 100644 --- a/packages/google_fonts/example/pubspec.yaml +++ b/packages/google_fonts/example/pubspec.yaml @@ -3,7 +3,7 @@ description: A Flutter application showcasing how to use the google_fonts packag publish_to: none environment: - sdk: ^3.8.0 + sdk: ^3.9.0 dependencies: cupertino_icons: ^1.0.0 diff --git a/packages/google_fonts/example/test/widget_test.dart b/packages/google_fonts/example/test/widget_test.dart index e3c2578cae6..3f0a4886142 100644 --- a/packages/google_fonts/example/test/widget_test.dart +++ b/packages/google_fonts/example/test/widget_test.dart @@ -15,7 +15,7 @@ void main() { }); testWidgets('Can specify text theme', (WidgetTester tester) async { - final ThemeData baseTheme = ThemeData.dark(); + final baseTheme = ThemeData.dark(); await tester.pumpWidget( MaterialApp( diff --git a/packages/google_fonts/generator/generator.dart b/packages/google_fonts/generator/generator.dart index e6b7cba183f..1bb3e9babd0 100644 --- a/packages/google_fonts/generator/generator.dart +++ b/packages/google_fonts/generator/generator.dart @@ -30,7 +30,7 @@ Future main() async { print(_success); print('\nDetermining font families delta...'); - final _FamiliesDelta familiesDelta = _FamiliesDelta(fontDirectory); + final familiesDelta = _FamiliesDelta(fontDirectory); print(_success); print('\nGenerating $_familiesSupportedPath & $_familiesDiffPath ...'); @@ -61,7 +61,7 @@ const String _success = 'Success!'; /// that's okay for now, because the generator is only executed in trusted /// environments by individual developers. Future _getProtoUrl({int initialVersion = 7}) async { - int directoryVersion = initialVersion; + var directoryVersion = initialVersion; Uri url(int directoryVersion) { final String paddedVersion = directoryVersion.toString().padLeft(3, '0'); @@ -70,8 +70,8 @@ Future _getProtoUrl({int initialVersion = 7}) async { ); } - bool didReachLatestUrl = false; - final http.Client httpClient = http.Client(); + var didReachLatestUrl = false; + final httpClient = http.Client(); while (!didReachLatestUrl) { final http.Response response = await httpClient.get(url(directoryVersion)); if (response.statusCode == 200) { @@ -93,11 +93,11 @@ Future _verifyUrls(Directory fontDirectory) async { .map((FontFamily f) => f.fonts.length) .reduce((int a, int b) => a + b); - final http.Client client = http.Client(); - int i = 1; + final client = http.Client(); + var i = 1; for (final FontFamily family in fontDirectory.family) { for (final Font font in family.fonts) { - final String urlString = + final urlString = 'https://fonts.gstatic.com/s/a/${_hashToString(font.file.hash)}.ttf'; final Uri url = Uri.parse(urlString); await _tryUrl(client, url, font); @@ -112,9 +112,7 @@ Future _tryUrl(http.Client client, Uri url, Font font) async { try { final http.Response fileContents = await client.get(url); final int actualFileLength = fileContents.bodyBytes.length; - final String actualFileHash = sha256 - .convert(fileContents.bodyBytes) - .toString(); + final actualFileHash = sha256.convert(fileContents.bodyBytes).toString(); if (font.file.fileSize != actualFileLength || _hashToString(font.file.hash) != actualFileHash) { throw Exception('Font from $url did not match length of or checksum.'); @@ -126,8 +124,8 @@ Future _tryUrl(http.Client client, Uri url, Font font) async { } String _hashToString(List bytes) { - String fileName = ''; - for (final int byte in bytes) { + var fileName = ''; + for (final byte in bytes) { final String convertedByte = byte.toRadixString(16).padLeft(2, '0'); fileName += convertedByte; } @@ -148,7 +146,7 @@ class _FamiliesDelta { void _init(Directory fontDirectory) { // Currently supported families. - final Set familiesSupported = Set.from( + final familiesSupported = Set.from( File(_familiesSupportedPath).readAsLinesSync(), ); @@ -174,7 +172,7 @@ class _FamiliesDelta { (String family) => ' - Removed `$family`', ); - String diff = ''; + var diff = ''; if (removedPrintable.isNotEmpty) { diff += removedPrintable.join('\n'); diff += '\n'; @@ -189,7 +187,7 @@ class _FamiliesDelta { } void _generateDartCode(Directory fontDirectory) { - final List> methods = >[]; + final methods = >[]; for (final FontFamily item in fontDirectory.family) { final String family = item.name; @@ -197,7 +195,7 @@ void _generateDartCode(Directory fontDirectory) { final String familyWithPlusSigns = family.replaceAll(' ', '+'); final String methodName = _familyToMethodName(family); - const List themeParams = [ + const themeParams = [ 'displayLarge', 'displayMedium', 'displaySmall', @@ -240,12 +238,11 @@ void _generateDartCode(Directory fontDirectory) { } // Part font methods by first letter. - final Map>> methodsByLetter = - >>{}; - final List> allParts = >[]; + final methodsByLetter = >>{}; + final allParts = >[]; - for (final Map map in methods) { - final String methodName = map['methodName'] as String; + for (final map in methods) { + final methodName = map['methodName'] as String; final String firstLetter = methodName[0]; if (!methodsByLetter.containsKey(firstLetter)) { allParts.add({ @@ -260,7 +257,7 @@ void _generateDartCode(Directory fontDirectory) { } // Generate part files. - final Template partTemplate = Template( + final partTemplate = Template( File('generator/google_fonts_part.tmpl').readAsStringSync(), htmlEscapeValues: false, ); @@ -276,7 +273,7 @@ void _generateDartCode(Directory fontDirectory) { }); // Generate main file. - final Template template = Template( + final template = Template( File('generator/google_fonts.tmpl').readAsStringSync(), htmlEscapeValues: false, ); @@ -295,10 +292,10 @@ void _writeDartFile(String path, String content) { String _familyToMethodName(String family) { final List words = family.split(' '); - for (int i = 0; i < words.length; i++) { + for (var i = 0; i < words.length; i++) { final String word = words[i]; - final bool isFirst = i == 0; - final bool isUpperCase = word == word.toUpperCase(); + final isFirst = i == 0; + final isUpperCase = word == word.toUpperCase(); words[i] = (isFirst ? word[0].toLowerCase() : word[0].toUpperCase()) + (isUpperCase ? word.substring(1).toLowerCase() : word.substring(1)); diff --git a/packages/google_fonts/lib/src/google_fonts_base.dart b/packages/google_fonts/lib/src/google_fonts_base.dart index 14744275195..0e4cd832f42 100755 --- a/packages/google_fonts/lib/src/google_fonts_base.dart +++ b/packages/google_fonts/lib/src/google_fonts_base.dart @@ -92,18 +92,17 @@ TextStyle googleFontsTextStyle({ decorationThickness: decorationThickness, ); - final GoogleFontsVariant variant = GoogleFontsVariant( + final variant = GoogleFontsVariant( fontWeight: textStyle.fontWeight ?? FontWeight.w400, fontStyle: textStyle.fontStyle ?? FontStyle.normal, ); final GoogleFontsVariant matchedVariant = _closestMatch(variant, fonts.keys); - final GoogleFontsFamilyWithVariant familyWithVariant = - GoogleFontsFamilyWithVariant( - family: fontFamily, - googleFontsVariant: matchedVariant, - ); + final familyWithVariant = GoogleFontsFamilyWithVariant( + family: fontFamily, + googleFontsVariant: matchedVariant, + ); - final GoogleFontsDescriptor descriptor = GoogleFontsDescriptor( + final descriptor = GoogleFontsDescriptor( familyWithVariant: familyWithVariant, file: fonts[matchedVariant]!, ); @@ -129,8 +128,7 @@ TextStyle googleFontsTextStyle({ /// the [fontUrl] and stored on device. In all cases, the returned future /// completes once the font is loaded into the [FontLoader]. Future loadFontIfNecessary(GoogleFontsDescriptor descriptor) async { - final String familyWithVariantString = descriptor.familyWithVariant - .toString(); + final familyWithVariantString = descriptor.familyWithVariant.toString(); final String fontName = descriptor.familyWithVariant.toApiFilenamePrefix(); final String fileHash = descriptor.file.expectedFileHash; // If this font has already already loaded or is loading, then there is no @@ -223,7 +221,7 @@ Future loadFontByteData( return; } - final FontLoader fontLoader = FontLoader(familyWithVariantString); + final fontLoader = FontLoader(familyWithVariantString); fontLoader.addFont(Future.value(fontData)); await fontLoader.load(); } @@ -240,7 +238,7 @@ GoogleFontsVariant _closestMatch( ) { int? bestScore; late GoogleFontsVariant bestMatch; - for (final GoogleFontsVariant variantToCompare in variantsToCompare) { + for (final variantToCompare in variantsToCompare) { final int score = _computeMatch(sourceVariant, variantToCompare); if (bestScore == null || score < bestScore) { bestScore = score; @@ -337,7 +335,7 @@ String? _findFamilyWithVariantAssetPath( bool _isFileSecure(GoogleFontsFile file, Uint8List bytes) { final int actualFileLength = bytes.length; - final String actualFileHash = sha256.convert(bytes).toString(); + final actualFileHash = sha256.convert(bytes).toString(); return file.expectedLength == actualFileLength && file.expectedFileHash == actualFileHash; } diff --git a/packages/google_fonts/lib/src/google_fonts_variant.dart b/packages/google_fonts/lib/src/google_fonts_variant.dart index a5081f3c93d..65792e142d0 100644 --- a/packages/google_fonts/lib/src/google_fonts_variant.dart +++ b/packages/google_fonts/lib/src/google_fonts_variant.dart @@ -115,7 +115,7 @@ class GoogleFontsVariant { final String weightPrefix = _fontWeightToFilenameWeightParts[fontWeight] ?? _fontWeightToFilenameWeightParts[FontWeight.w400]!; - final String italicSuffix = fontStyle == FontStyle.italic ? 'Italic' : ''; + final italicSuffix = fontStyle == FontStyle.italic ? 'Italic' : ''; if (weightPrefix == 'Regular') { return italicSuffix == '' ? weightPrefix : italicSuffix; } diff --git a/packages/google_fonts/pubspec.yaml b/packages/google_fonts/pubspec.yaml index ac3de14c5ee..de2a90ac739 100644 --- a/packages/google_fonts/pubspec.yaml +++ b/packages/google_fonts/pubspec.yaml @@ -5,8 +5,8 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 6.3.2 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: crypto: ^3.0.0 diff --git a/packages/google_fonts/test/generated_font_methods_test.dart b/packages/google_fonts/test/generated_font_methods_test.dart index f6d9c40fe09..671286df24a 100644 --- a/packages/google_fonts/test/generated_font_methods_test.dart +++ b/packages/google_fonts/test/generated_font_methods_test.dart @@ -29,7 +29,7 @@ void main() { testWidgets('Text style with a direct match is used', ( WidgetTester tester, ) async { - const TextStyle inputTextStyle = TextStyle( + const inputTextStyle = TextStyle( fontWeight: FontWeight.w400, fontStyle: FontStyle.normal, ); @@ -44,7 +44,7 @@ void main() { testWidgets('Text style with an italics direct match is used', ( WidgetTester tester, ) async { - const TextStyle inputTextStyle = TextStyle( + const inputTextStyle = TextStyle( fontWeight: FontWeight.w400, fontStyle: FontStyle.italic, ); @@ -59,7 +59,7 @@ void main() { testWidgets( 'Text style with no direct match picks closest font weight match', (WidgetTester tester) async { - const TextStyle inputTextStyle = TextStyle( + const inputTextStyle = TextStyle( fontWeight: FontWeight.w600, fontStyle: FontStyle.normal, ); @@ -75,7 +75,7 @@ void main() { testWidgets('Italic text style with no direct match picks closest match', ( WidgetTester tester, ) async { - const TextStyle inputTextStyle = TextStyle( + const inputTextStyle = TextStyle( fontWeight: FontWeight.w600, fontStyle: FontStyle.italic, ); @@ -93,7 +93,7 @@ void main() { // Cardo has 400regular, 400italic, and 700 regular. Even though 700 is // closer in weight, when we ask for 600italic, it will give us 400 italic // font family. - const TextStyle inputTextStyle = TextStyle( + const inputTextStyle = TextStyle( fontWeight: FontWeight.w600, fontStyle: FontStyle.italic, ); @@ -131,7 +131,7 @@ void main() { testWidgets('color is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const TextStyle textStyle = TextStyle(color: Color(0xDEADBEEF)); + const textStyle = TextStyle(color: Color(0xDEADBEEF)); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.color, equals(const Color(0xDEADBEEF))); @@ -149,7 +149,7 @@ void main() { testWidgets('color from the top-level param takes precedence over color ' 'from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(color: Color(0xDEADBEEF)); + const textStyle = TextStyle(color: Color(0xDEADBEEF)); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, color: const Color(0xFACEFEED), @@ -161,7 +161,7 @@ void main() { testWidgets( 'backgroundColor is honored when passed in via the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(backgroundColor: Color(0xDEADBEEF)); + const textStyle = TextStyle(backgroundColor: Color(0xDEADBEEF)); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, ); @@ -183,7 +183,7 @@ void main() { testWidgets('backgroundColor from the top-level param takes precedence over ' 'backgroundColor from TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(backgroundColor: Color(0xDEADBEEF)); + const textStyle = TextStyle(backgroundColor: Color(0xDEADBEEF)); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, backgroundColor: const Color(0xFACEFEED), @@ -195,7 +195,7 @@ void main() { testWidgets('fontSize is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const TextStyle textStyle = TextStyle(fontSize: 37); + const textStyle = TextStyle(fontSize: 37); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.fontSize, equals(37)); @@ -213,7 +213,7 @@ void main() { 'fontSize from the top-level param takes precedence over fontSize ' 'from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(fontSize: 37); + const textStyle = TextStyle(fontSize: 37); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, fontSize: 31, @@ -226,7 +226,7 @@ void main() { testWidgets('fontWeight is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const TextStyle textStyle = TextStyle(fontWeight: FontWeight.w800); + const textStyle = TextStyle(fontWeight: FontWeight.w800); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.fontWeight, equals(FontWeight.w800)); @@ -246,7 +246,7 @@ void main() { 'fontWeight from the top-level param takes precedence over fontWeight ' 'from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(fontWeight: FontWeight.w800); + const textStyle = TextStyle(fontWeight: FontWeight.w800); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, fontWeight: FontWeight.w200, @@ -259,7 +259,7 @@ void main() { testWidgets('fontStyle is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const TextStyle textStyle = TextStyle(fontStyle: FontStyle.normal); + const textStyle = TextStyle(fontStyle: FontStyle.normal); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.fontStyle, equals(FontStyle.normal)); @@ -279,7 +279,7 @@ void main() { 'fontStyle from the top-level param takes precedence over fontStyle ' 'from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(fontStyle: FontStyle.normal); + const textStyle = TextStyle(fontStyle: FontStyle.normal); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, fontStyle: FontStyle.italic, @@ -292,7 +292,7 @@ void main() { testWidgets( 'letterSpacing is honored when passed in via the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(letterSpacing: 0.4); + const textStyle = TextStyle(letterSpacing: 0.4); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, ); @@ -311,7 +311,7 @@ void main() { testWidgets('letterSpacing from the top-level param takes precedence over ' 'letterSpacing from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(letterSpacing: 0.4); + const textStyle = TextStyle(letterSpacing: 0.4); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, letterSpacing: 0.3, @@ -323,7 +323,7 @@ void main() { testWidgets('wordSpacing is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const TextStyle textStyle = TextStyle(wordSpacing: 0.4); + const textStyle = TextStyle(wordSpacing: 0.4); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.wordSpacing, equals(0.4)); @@ -341,7 +341,7 @@ void main() { 'wordSpacing from the top-level param takes precedence over wordSpacing ' 'from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(wordSpacing: 0.4); + const textStyle = TextStyle(wordSpacing: 0.4); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, wordSpacing: 0.3, @@ -354,9 +354,7 @@ void main() { testWidgets( 'textBaseline is honored when passed in via the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle( - textBaseline: TextBaseline.ideographic, - ); + const textStyle = TextStyle(textBaseline: TextBaseline.ideographic); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, ); @@ -377,9 +375,7 @@ void main() { testWidgets('textBaseline from the top-level param takes precedence over ' 'textBaseline from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle( - textBaseline: TextBaseline.ideographic, - ); + const textStyle = TextStyle(textBaseline: TextBaseline.ideographic); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, textBaseline: TextBaseline.alphabetic, @@ -391,7 +387,7 @@ void main() { testWidgets('height is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const TextStyle textStyle = TextStyle(height: 33); + const textStyle = TextStyle(height: 33); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.height, equals(33)); @@ -407,7 +403,7 @@ void main() { testWidgets('height from the top-level param takes precedence over height ' 'from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(height: 33); + const textStyle = TextStyle(height: 33); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, height: 37, @@ -419,7 +415,7 @@ void main() { testWidgets('locale is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const TextStyle textStyle = TextStyle(locale: Locale('abc')); + const textStyle = TextStyle(locale: Locale('abc')); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.locale, equals(const Locale('abc'))); @@ -437,7 +433,7 @@ void main() { testWidgets('locale from the top-level param takes precedence over locale ' 'from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(locale: Locale('abc')); + const textStyle = TextStyle(locale: Locale('abc')); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, locale: const Locale('xyz'), @@ -449,8 +445,8 @@ void main() { testWidgets('foreground is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - final Paint paint = Paint()..color = const Color(0xDEADBEEF); - final TextStyle textStyle = TextStyle(foreground: paint); + final paint = Paint()..color = const Color(0xDEADBEEF); + final textStyle = TextStyle(foreground: paint); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.foreground, equals(paint)); @@ -459,7 +455,7 @@ void main() { testWidgets('foreground is honored when passed in as a top-level param', ( WidgetTester tester, ) async { - final Paint paint = Paint()..color = const Color(0xFACEFEED); + final paint = Paint()..color = const Color(0xFACEFEED); final TextStyle outputTextStyle = GoogleFonts.rancho(foreground: paint); expect(outputTextStyle.foreground, equals(paint)); @@ -469,9 +465,9 @@ void main() { 'foreground from the top-level param takes precedence over foreground ' 'from the TextStyle param', (WidgetTester tester) async { - final Paint paint1 = Paint()..color = const Color(0xDEADBEEF); - final Paint paint2 = Paint()..color = const Color(0xFACEFEED); - final TextStyle textStyle = TextStyle(foreground: paint1); + final paint1 = Paint()..color = const Color(0xDEADBEEF); + final paint2 = Paint()..color = const Color(0xFACEFEED); + final textStyle = TextStyle(foreground: paint1); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, foreground: paint2, @@ -484,8 +480,8 @@ void main() { testWidgets('background is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - final Paint paint = Paint()..color = const Color(0xDEADBEEF); - final TextStyle textStyle = TextStyle(background: paint); + final paint = Paint()..color = const Color(0xDEADBEEF); + final textStyle = TextStyle(background: paint); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.background, equals(paint)); @@ -494,7 +490,7 @@ void main() { testWidgets('background is honored when passed in as a top-level param', ( WidgetTester tester, ) async { - final Paint paint = Paint()..color = const Color(0xFACEFEED); + final paint = Paint()..color = const Color(0xFACEFEED); final TextStyle outputTextStyle = GoogleFonts.rancho(background: paint); expect(outputTextStyle.background, equals(paint)); @@ -504,9 +500,9 @@ void main() { 'background from the top-level param takes precedence over background ' 'from the TextStyle param', (WidgetTester tester) async { - final Paint paint1 = Paint()..color = const Color(0xDEADBEEF); - final Paint paint2 = Paint()..color = const Color(0xFACEFEED); - final TextStyle textStyle = TextStyle(background: paint1); + final paint1 = Paint()..color = const Color(0xDEADBEEF); + final paint2 = Paint()..color = const Color(0xFACEFEED); + final textStyle = TextStyle(background: paint1); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, background: paint2, @@ -519,8 +515,8 @@ void main() { testWidgets('shadows is honored when passed in via the TextStyle param', ( WidgetTester tester, ) async { - const List shadows = [Shadow(blurRadius: 1)]; - const TextStyle textStyle = TextStyle(shadows: shadows); + const shadows = [Shadow(blurRadius: 1)]; + const textStyle = TextStyle(shadows: shadows); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.shadows, equals(shadows)); @@ -529,7 +525,7 @@ void main() { testWidgets('shadows is honored when passed in as a top-level param', ( WidgetTester tester, ) async { - const List shadows = [Shadow(blurRadius: 2)]; + const shadows = [Shadow(blurRadius: 2)]; final TextStyle outputTextStyle = GoogleFonts.rancho(shadows: shadows); expect(outputTextStyle.shadows, equals(shadows)); @@ -537,9 +533,9 @@ void main() { testWidgets('shadows from the top-level param takes precedence over shadows ' 'from the TextStyle param', (WidgetTester tester) async { - const List shadows1 = [Shadow(blurRadius: 1)]; - const List shadows2 = [Shadow(blurRadius: 2)]; - const TextStyle textStyle = TextStyle(shadows: shadows1); + const shadows1 = [Shadow(blurRadius: 1)]; + const shadows2 = [Shadow(blurRadius: 2)]; + const textStyle = TextStyle(shadows: shadows1); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, shadows: shadows2, @@ -551,10 +547,8 @@ void main() { testWidgets( 'fontFeatures is honored when passed in via the TextStyle param', (WidgetTester tester) async { - const List fontFeatures = [ - FontFeature.slashedZero(), - ]; - const TextStyle textStyle = TextStyle(fontFeatures: fontFeatures); + const fontFeatures = [FontFeature.slashedZero()]; + const textStyle = TextStyle(fontFeatures: fontFeatures); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, ); @@ -566,9 +560,7 @@ void main() { testWidgets('fontFeatures is honored when passed in as a top-level param', ( WidgetTester tester, ) async { - const List fontFeatures = [ - FontFeature.oldstyleFigures(), - ]; + const fontFeatures = [FontFeature.oldstyleFigures()]; final TextStyle outputTextStyle = GoogleFonts.rancho( fontFeatures: fontFeatures, ); @@ -578,13 +570,9 @@ void main() { testWidgets('fontFeatures from the top-level param takes precedence over ' 'fontFeatures from the TextStyle param', (WidgetTester tester) async { - const List fontFeatures1 = [ - FontFeature.slashedZero(), - ]; - const List fontFeatures2 = [ - FontFeature.oldstyleFigures(), - ]; - const TextStyle textStyle = TextStyle(fontFeatures: fontFeatures1); + const fontFeatures1 = [FontFeature.slashedZero()]; + const fontFeatures2 = [FontFeature.oldstyleFigures()]; + const textStyle = TextStyle(fontFeatures: fontFeatures1); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, fontFeatures: fontFeatures2, @@ -597,7 +585,7 @@ void main() { WidgetTester tester, ) async { const TextDecoration decoration = TextDecoration.underline; - const TextStyle textStyle = TextStyle(decoration: decoration); + const textStyle = TextStyle(decoration: decoration); final TextStyle outputTextStyle = GoogleFonts.rancho(textStyle: textStyle); expect(outputTextStyle.decoration, equals(decoration)); @@ -618,7 +606,7 @@ void main() { 'decoration from the TextStyle param', (WidgetTester tester) async { const TextDecoration decoration1 = TextDecoration.underline; const TextDecoration decoration2 = TextDecoration.overline; - const TextStyle textStyle = TextStyle(decoration: decoration1); + const textStyle = TextStyle(decoration: decoration1); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, decoration: decoration2, @@ -630,7 +618,7 @@ void main() { testWidgets( 'decorationColor is honored when passed in via the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(decorationColor: Color(0xDEADBEEF)); + const textStyle = TextStyle(decorationColor: Color(0xDEADBEEF)); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, ); @@ -652,7 +640,7 @@ void main() { testWidgets('decorationColor from the top-level param takes precedence over ' 'decorationColor from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(decorationColor: Color(0xDEADBEEF)); + const textStyle = TextStyle(decorationColor: Color(0xDEADBEEF)); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, decorationColor: const Color(0xFACEFEED), @@ -664,9 +652,7 @@ void main() { testWidgets( 'decorationStyle is honored when passed in via the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle( - decorationStyle: TextDecorationStyle.dashed, - ); + const textStyle = TextStyle(decorationStyle: TextDecorationStyle.dashed); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, ); @@ -691,9 +677,7 @@ void main() { testWidgets('decorationStyle from the top-level param takes precedence over ' 'decorationStyle from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle( - decorationStyle: TextDecorationStyle.dashed, - ); + const textStyle = TextStyle(decorationStyle: TextDecorationStyle.dashed); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, decorationStyle: TextDecorationStyle.dotted, @@ -705,7 +689,7 @@ void main() { testWidgets( 'decorationThickness is honored when passed in via the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(decorationThickness: 2); + const textStyle = TextStyle(decorationThickness: 2); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, ); @@ -729,7 +713,7 @@ void main() { 'decorationThickness from the top-level param takes precedence over ' 'decorationThickness from the TextStyle param', (WidgetTester tester) async { - const TextStyle textStyle = TextStyle(decorationThickness: 2); + const textStyle = TextStyle(decorationThickness: 2); final TextStyle outputTextStyle = GoogleFonts.rancho( textStyle: textStyle, decorationThickness: 3, @@ -747,7 +731,7 @@ void main() { WidgetTester tester, ) async { final TextTheme textTheme = GoogleFonts.oswaldTextTheme(); - const String expectedFamilyWithVariant = 'Oswald_regular'; + const expectedFamilyWithVariant = 'Oswald_regular'; expect( textTheme.displayLarge!.fontFamily, @@ -786,14 +770,14 @@ void main() { WidgetTester tester, ) async { // In app this is usually obtained by Theme.of(context).textTheme. - final TextTheme baseTextTheme = TextTheme( + final baseTextTheme = TextTheme( displaySmall: const TextStyle(fontWeight: FontWeight.w700), bodyMedium: GoogleFonts.acme(), titleSmall: const TextStyle(fontStyle: FontStyle.italic), ); final TextTheme textTheme = GoogleFonts.oswaldTextTheme(baseTextTheme); - const String expectedFamilyWithVariant = 'Oswald_regular'; + const expectedFamilyWithVariant = 'Oswald_regular'; // Default is preserved. expect( @@ -812,9 +796,7 @@ void main() { testWidgets('TextTheme equality when used in a ThemeData', ( WidgetTester tester, ) async { - final ThemeData myAppTheme = ThemeData( - textTheme: GoogleFonts.poppinsTextTheme(), - ); + final myAppTheme = ThemeData(textTheme: GoogleFonts.poppinsTextTheme()); expect(myAppTheme.textTheme, equals(GoogleFonts.poppinsTextTheme())); }); @@ -828,7 +810,7 @@ void main() { ) async { final Iterable allFonts = GoogleFonts.asMap().keys; - for (final String fontFamily in allFonts) { + for (final fontFamily in allFonts) { final TextStyle dynamicFont = GoogleFonts.getFont(fontFamily); expect(dynamicFont.fontFamily, isNotNull); } @@ -848,7 +830,7 @@ void main() { ) async { final Iterable allFonts = GoogleFonts.asMap().keys; - for (final String fontFamily in allFonts) { + for (final fontFamily in allFonts) { final TextTheme dynamicFont = GoogleFonts.getTextTheme(fontFamily); expect(dynamicFont.bodyLarge!.fontFamily, isNotNull); } diff --git a/packages/google_fonts/test/google_fonts_family_with_variant_test.dart b/packages/google_fonts/test/google_fonts_family_with_variant_test.dart index d13213c88c1..853ef86796b 100644 --- a/packages/google_fonts/test/google_fonts_family_with_variant_test.dart +++ b/packages/google_fonts/test/google_fonts_family_with_variant_test.dart @@ -9,27 +9,25 @@ import 'package:google_fonts/src/google_fonts_variant.dart'; void main() { testWidgets('toString() works for normal w400', (WidgetTester tester) async { - const GoogleFontsFamilyWithVariant familyWithVariant = - GoogleFontsFamilyWithVariant( - family: 'Foo', - googleFontsVariant: GoogleFontsVariant( - fontStyle: FontStyle.normal, - fontWeight: FontWeight.w400, - ), - ); + const familyWithVariant = GoogleFontsFamilyWithVariant( + family: 'Foo', + googleFontsVariant: GoogleFontsVariant( + fontStyle: FontStyle.normal, + fontWeight: FontWeight.w400, + ), + ); expect(familyWithVariant.toString(), equals('Foo_regular')); }); testWidgets('toString() works for italic w100', (WidgetTester tester) async { - const GoogleFontsFamilyWithVariant familyWithVariant = - GoogleFontsFamilyWithVariant( - family: 'Foo', - googleFontsVariant: GoogleFontsVariant( - fontStyle: FontStyle.italic, - fontWeight: FontWeight.w100, - ), - ); + const familyWithVariant = GoogleFontsFamilyWithVariant( + family: 'Foo', + googleFontsVariant: GoogleFontsVariant( + fontStyle: FontStyle.italic, + fontWeight: FontWeight.w100, + ), + ); expect(familyWithVariant.toString(), equals('Foo_100italic')); }); @@ -37,14 +35,13 @@ void main() { testWidgets('toApiFilenamePrefix() works for italic w100', ( WidgetTester tester, ) async { - const GoogleFontsFamilyWithVariant familyWithVariant = - GoogleFontsFamilyWithVariant( - family: 'Foo', - googleFontsVariant: GoogleFontsVariant( - fontWeight: FontWeight.w100, - fontStyle: FontStyle.italic, - ), - ); + const familyWithVariant = GoogleFontsFamilyWithVariant( + family: 'Foo', + googleFontsVariant: GoogleFontsVariant( + fontWeight: FontWeight.w100, + fontStyle: FontStyle.italic, + ), + ); expect(familyWithVariant.toApiFilenamePrefix(), equals('Foo-ThinItalic')); }); @@ -52,14 +49,13 @@ void main() { testWidgets('toApiFilenamePrefix() works for regular', ( WidgetTester tester, ) async { - const GoogleFontsFamilyWithVariant familyWithVariant = - GoogleFontsFamilyWithVariant( - family: 'Foo', - googleFontsVariant: GoogleFontsVariant( - fontWeight: FontWeight.w400, - fontStyle: FontStyle.normal, - ), - ); + const familyWithVariant = GoogleFontsFamilyWithVariant( + family: 'Foo', + googleFontsVariant: GoogleFontsVariant( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ); expect(familyWithVariant.toApiFilenamePrefix(), equals('Foo-Regular')); }); diff --git a/packages/google_fonts/test/google_fonts_variant_test.dart b/packages/google_fonts/test/google_fonts_variant_test.dart index d447a1cd2b5..bbc1fb45857 100644 --- a/packages/google_fonts/test/google_fonts_variant_test.dart +++ b/packages/google_fonts/test/google_fonts_variant_test.dart @@ -8,7 +8,7 @@ import 'package:google_fonts/src/google_fonts_variant.dart'; void main() { testWidgets('toString() works for normal w400', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w400, fontStyle: FontStyle.normal, ); @@ -17,7 +17,7 @@ void main() { }); testWidgets('toString() works for italic w400', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w400, fontStyle: FontStyle.italic, ); @@ -26,7 +26,7 @@ void main() { }); testWidgets('toString() works for normal w500', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.normal, ); @@ -35,7 +35,7 @@ void main() { }); testWidgets('toString() works for italic w500', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); @@ -44,7 +44,7 @@ void main() { }); testWidgets('fromString() works for regular', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w400, fontStyle: FontStyle.normal, ); @@ -53,7 +53,7 @@ void main() { }); testWidgets('fromString() works for italic', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w400, fontStyle: FontStyle.italic, ); @@ -62,7 +62,7 @@ void main() { }); testWidgets('fromString() works for 500', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.normal, ); @@ -71,7 +71,7 @@ void main() { }); testWidgets('fromString() works for 500italic', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); @@ -422,21 +422,21 @@ void main() { testWidgets('== works for for identical variants', ( WidgetTester tester, ) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); - const GoogleFontsVariant otherVariant = variant; + const otherVariant = variant; expect(variant == otherVariant, isTrue); }); testWidgets('== works for for clone variants', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); - const GoogleFontsVariant otherVariant = GoogleFontsVariant( + const otherVariant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); @@ -446,11 +446,11 @@ void main() { testWidgets('== fails for different fontWeights', ( WidgetTester tester, ) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); - const GoogleFontsVariant otherVariant = GoogleFontsVariant( + const otherVariant = GoogleFontsVariant( fontWeight: FontWeight.w900, fontStyle: FontStyle.italic, ); @@ -458,11 +458,11 @@ void main() { }); testWidgets('== fails for different fontStyles', (WidgetTester tester) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); - const GoogleFontsVariant otherVariant = GoogleFontsVariant( + const otherVariant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.normal, ); @@ -472,11 +472,11 @@ void main() { testWidgets('== fails for different fontWeights and different fontStyles', ( WidgetTester tester, ) async { - const GoogleFontsVariant variant = GoogleFontsVariant( + const variant = GoogleFontsVariant( fontWeight: FontWeight.w500, fontStyle: FontStyle.italic, ); - const GoogleFontsVariant otherVariant = GoogleFontsVariant( + const otherVariant = GoogleFontsVariant( fontWeight: FontWeight.w900, fontStyle: FontStyle.normal, ); diff --git a/packages/google_fonts/test/load_font_if_necessary_test.dart b/packages/google_fonts/test/load_font_if_necessary_test.dart index d3b64a69352..5ce4fad116c 100644 --- a/packages/google_fonts/test/load_font_if_necessary_test.dart +++ b/packages/google_fonts/test/load_font_if_necessary_test.dart @@ -102,7 +102,7 @@ final GoogleFontsDescriptor fakeDescriptorDifferentFile = GoogleFontsDescriptor( List printLog = []; void overridePrint(Future Function() testFn) => () { - final ZoneSpecification spec = ZoneSpecification( + final spec = ZoneSpecification( print: (_, __, ___, String msg) { // Add to log instead of printing to stdout printLog.add(msg); @@ -145,7 +145,7 @@ void main() { return http.Response('fake response body - failure', 300); }); - final GoogleFontsDescriptor descriptorInAssets = GoogleFontsDescriptor( + final descriptorInAssets = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Foo', googleFontsVariant: GoogleFontsVariant( @@ -168,7 +168,7 @@ void main() { }); test('does not call http if config is false', () async { - final GoogleFontsDescriptor fakeDescriptor = GoogleFontsDescriptor( + final fakeDescriptor = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Foo', googleFontsVariant: GoogleFontsVariant( @@ -202,7 +202,7 @@ void main() { test('loadFontIfNecessary method does not make http get request on ' 'subsequent calls', () async { - final GoogleFontsDescriptor fakeDescriptor = GoogleFontsDescriptor( + final fakeDescriptor = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Foo', googleFontsVariant: GoogleFontsVariant( @@ -228,7 +228,7 @@ void main() { test('loadFontIfNecessary does not make more than 1 http get request on ' 'parallel calls', () async { - final GoogleFontsDescriptor fakeDescriptor = GoogleFontsDescriptor( + final fakeDescriptor = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Foo', googleFontsVariant: GoogleFontsVariant( @@ -250,7 +250,7 @@ void main() { test( 'loadFontIfNecessary makes second attempt if the first attempt failed ', () async { - final GoogleFontsDescriptor fakeDescriptor = GoogleFontsDescriptor( + final fakeDescriptor = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Foo', googleFontsVariant: GoogleFontsVariant( @@ -298,9 +298,7 @@ void main() { final Directory directoryContents = await getApplicationSupportDirectory(); expect(directoryContents.listSync().isEmpty, isTrue); - final File cachedFile = File( - '${directoryContents.path}/$expectedCachedFile', - ); + final cachedFile = File('${directoryContents.path}/$expectedCachedFile'); cachedFile.createSync(); cachedFile.writeAsStringSync('file contents'); @@ -319,9 +317,7 @@ void main() { final Directory directoryContents = await getApplicationSupportDirectory(); expect(directoryContents.listSync().isEmpty, isTrue); - final File cachedFile = File( - '${directoryContents.path}/$expectedCachedFile', - ); + final cachedFile = File('${directoryContents.path}/$expectedCachedFile'); cachedFile.createSync(); cachedFile.writeAsStringSync('file contents'); @@ -351,7 +347,7 @@ void main() { when(mockHttpClient.gets(any)).thenAnswer((_) async { return http.Response('malicious intercepted response', 200); }); - final GoogleFontsDescriptor fakeDescriptor = GoogleFontsDescriptor( + final fakeDescriptor = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Foo', googleFontsVariant: GoogleFontsVariant( diff --git a/packages/google_fonts/test/load_font_if_necessary_with_local_fonts_test.dart b/packages/google_fonts/test/load_font_if_necessary_with_local_fonts_test.dart index df1abbe6128..f352c0bfc77 100644 --- a/packages/google_fonts/test/load_font_if_necessary_with_local_fonts_test.dart +++ b/packages/google_fonts/test/load_font_if_necessary_with_local_fonts_test.dart @@ -102,7 +102,7 @@ void main() { test('loadFontIfNecessary method does nothing if the font is in the ' 'Asset Manifest', () async { - final GoogleFontsDescriptor descriptorInAssets = GoogleFontsDescriptor( + final descriptorInAssets = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Foo', googleFontsVariant: GoogleFontsVariant( @@ -118,7 +118,7 @@ void main() { await loadFontIfNecessary(descriptorInAssets); verifyNever(mockHttpClient.gets(anything)); - final GoogleFontsDescriptor descriptorNotInAssets = GoogleFontsDescriptor( + final descriptorNotInAssets = GoogleFontsDescriptor( familyWithVariant: const GoogleFontsFamilyWithVariant( family: 'Bar', googleFontsVariant: GoogleFontsVariant( diff --git a/packages/google_identity_services_web/CHANGELOG.md b/packages/google_identity_services_web/CHANGELOG.md index ad78ba8ef01..098e4c92ef4 100644 --- a/packages/google_identity_services_web/CHANGELOG.md +++ b/packages/google_identity_services_web/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 0.3.3+1 diff --git a/packages/google_identity_services_web/example/integration_test/js_interop_id_test.dart b/packages/google_identity_services_web/example/integration_test/js_interop_id_test.dart index 24e0b414ad4..8f3ee356870 100644 --- a/packages/google_identity_services_web/example/integration_test/js_interop_id_test.dart +++ b/packages/google_identity_services_web/example/integration_test/js_interop_id_test.dart @@ -25,8 +25,7 @@ void main() async { group('renderButton', () { testWidgets('supports a js-interop target from any library', (_) async { - final web.HTMLDivElement target = - web.document.createElement('div') as web.HTMLDivElement; + final target = web.document.createElement('div') as web.HTMLDivElement; id.renderButton(target); @@ -37,7 +36,7 @@ void main() async { group('IdConfig', () { testWidgets('passes values from Dart to JS', (_) async { - final IdConfiguration config = IdConfiguration( + final config = IdConfiguration( client_id: 'testing_1-2-3', auto_select: false, callback: (_) {}, @@ -93,8 +92,7 @@ void main() async { id.initialize(IdConfiguration(client_id: 'testing_1-2-3')); utils.setMockMomentNotification('skipped', 'user_cancel'); - final StreamController controller = - StreamController(); + final controller = StreamController(); id.prompt(controller.add); @@ -112,8 +110,7 @@ void main() async { id.initialize(IdConfiguration(client_id: 'testing_1-2-3')); utils.setMockMomentNotification('skipped', 'random_invalid_reason'); - final StreamController controller = - StreamController(); + final controller = StreamController(); id.prompt(controller.add); @@ -125,11 +122,10 @@ void main() async { ); testWidgets('calls config callback with credential response', (_) async { - const String expected = 'should_be_a_proper_jwt_token'; + const expected = 'should_be_a_proper_jwt_token'; utils.setMockCredentialResponse(expected); - final StreamController controller = - StreamController(); + final controller = StreamController(); id.initialize( IdConfiguration(client_id: 'testing_1-2-3', callback: controller.add), diff --git a/packages/google_identity_services_web/example/integration_test/js_interop_oauth_test.dart b/packages/google_identity_services_web/example/integration_test/js_interop_oauth_test.dart index f7bdbffcfff..729de5b5876 100644 --- a/packages/google_identity_services_web/example/integration_test/js_interop_oauth_test.dart +++ b/packages/google_identity_services_web/example/integration_test/js_interop_oauth_test.dart @@ -24,7 +24,7 @@ void main() async { group('Config objects pass values from Dart to JS - ', () { testWidgets('TokenClientConfig', (_) async { - final TokenClientConfig config = TokenClientConfig( + final config = TokenClientConfig( client_id: 'testing_1-2-3', callback: (TokenResponse _) {}, scope: ['one', 'two', 'three'], @@ -53,7 +53,7 @@ void main() async { }); testWidgets('OverridableTokenClientConfig', (_) async { - final OverridableTokenClientConfig config = OverridableTokenClientConfig( + final config = OverridableTokenClientConfig( scope: ['one', 'two', 'three'], include_granted_scopes: true, prompt: 'some-prompt', @@ -74,7 +74,7 @@ void main() async { }); testWidgets('CodeClientConfig', (_) async { - final CodeClientConfig config = CodeClientConfig( + final config = CodeClientConfig( client_id: 'testing_1-2-3', scope: ['one', 'two', 'three'], include_granted_scopes: true, @@ -122,10 +122,9 @@ void main() async { group('requestAccessToken', () { testWidgets('passes through configuration', (_) async { - final StreamController controller = - StreamController(); + final controller = StreamController(); - final List scopes = ['some_scope', 'another', 'more']; + final scopes = ['some_scope', 'another', 'more']; final TokenClient client = oauth2.initTokenClient( TokenClientConfig( @@ -147,10 +146,9 @@ void main() async { }); testWidgets('configuration can be overridden', (_) async { - final StreamController controller = - StreamController(); + final controller = StreamController(); - final List scopes = ['some_scope', 'another', 'more']; + final scopes = ['some_scope', 'another', 'more']; final TokenClient client = oauth2.initTokenClient( TokenClientConfig( @@ -174,10 +172,10 @@ void main() async { group('hasGranted...Scopes', () { // mock-gis.js returns false for scopes that start with "not-granted-". - const String notGranted = 'not-granted-scope'; + const notGranted = 'not-granted-scope'; testWidgets('all scopes granted', (_) async { - final List scopes = ['some_scope', 'another', 'more']; + final scopes = ['some_scope', 'another', 'more']; final TokenResponse response = await utils.fakeAuthZWithScopes(scopes); @@ -189,7 +187,7 @@ void main() async { }); testWidgets('some scopes granted', (_) async { - final List scopes = ['some_scope', notGranted, 'more']; + final scopes = ['some_scope', notGranted, 'more']; final TokenResponse response = await utils.fakeAuthZWithScopes(scopes); @@ -201,7 +199,7 @@ void main() async { }); testWidgets('no scopes granted', (_) async { - final List scopes = [notGranted, '$notGranted-2']; + final scopes = [notGranted, '$notGranted-2']; final TokenResponse response = await utils.fakeAuthZWithScopes(scopes); diff --git a/packages/google_identity_services_web/example/integration_test/utils.dart b/packages/google_identity_services_web/example/integration_test/utils.dart index dfab149f73c..00c0d521db4 100644 --- a/packages/google_identity_services_web/example/integration_test/utils.dart +++ b/packages/google_identity_services_web/example/integration_test/utils.dart @@ -53,10 +53,9 @@ Matcher isAJs(String thing) => isA().having( /// Installs mock-gis.js in the page. /// Returns a future that completes when the 'load' event of the script fires. Future installGisMock() { - final Completer completer = Completer(); + final completer = Completer(); - final web.HTMLScriptElement script = - web.document.createElement('script') as web.HTMLScriptElement; + final script = web.document.createElement('script') as web.HTMLScriptElement; script.src = 'mock-gis.js'; script.type = 'module'; script.addEventListener( @@ -72,8 +71,7 @@ Future installGisMock() { /// Fakes authorization with the given scopes. Future fakeAuthZWithScopes(List scopes) { - final StreamController controller = - StreamController(); + final controller = StreamController(); final TokenClient client = oauth2.initTokenClient( TokenClientConfig( client_id: 'for-tests', diff --git a/packages/google_identity_services_web/example/lib/main.dart b/packages/google_identity_services_web/example/lib/main.dart index 59aa5c05ab4..b1298028965 100644 --- a/packages/google_identity_services_web/example/lib/main.dart +++ b/packages/google_identity_services_web/example/lib/main.dart @@ -18,7 +18,7 @@ void main() async { // #enddocregion use-loader id.setLogLevel('debug'); - final IdConfiguration config = IdConfiguration( + final config = IdConfiguration( client_id: 'your-google-client-id-goes-here.apps.googleusercontent.com', callback: onCredentialResponse, use_fedcm_for_prompt: true, diff --git a/packages/google_identity_services_web/example/lib/main_oauth.dart b/packages/google_identity_services_web/example/lib/main_oauth.dart index bcfb38eaa29..ee822d8305b 100644 --- a/packages/google_identity_services_web/example/lib/main_oauth.dart +++ b/packages/google_identity_services_web/example/lib/main_oauth.dart @@ -35,15 +35,16 @@ void main() async { id.setLogLevel('debug'); - final TokenClientConfig config = TokenClientConfig( + final config = TokenClientConfig( client_id: 'your-google-client-id-goes-here.apps.googleusercontent.com', scope: scopes, callback: onTokenResponse, error_callback: onError, ); - final OverridableTokenClientConfig overridableCfg = - OverridableTokenClientConfig(scope: scopes + myConnectionsScopes); + final overridableCfg = OverridableTokenClientConfig( + scope: scopes + myConnectionsScopes, + ); final TokenClient client = oauth2.initTokenClient(config); diff --git a/packages/google_identity_services_web/example/pubspec.yaml b/packages/google_identity_services_web/example/pubspec.yaml index 1d1d4d36cf6..b84ddb59043 100644 --- a/packages/google_identity_services_web/example/pubspec.yaml +++ b/packages/google_identity_services_web/example/pubspec.yaml @@ -3,8 +3,8 @@ description: An example for the google_identity_services_web package, OneTap. publish_to: 'none' environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/google_identity_services_web/lib/src/js_interop/shared.dart b/packages/google_identity_services_web/lib/src/js_interop/shared.dart index 51aeb88e0d4..a1367f4c3eb 100644 --- a/packages/google_identity_services_web/lib/src/js_interop/shared.dart +++ b/packages/google_identity_services_web/lib/src/js_interop/shared.dart @@ -9,7 +9,7 @@ T? maybeEnum(String? needle, List haystack) { if (needle == null) { return null; } - for (final T value in haystack) { + for (final value in haystack) { if (value.name == needle) { return value; } diff --git a/packages/google_identity_services_web/lib/src/js_loader.dart b/packages/google_identity_services_web/lib/src/js_loader.dart index e1712ebd7db..04798d043ca 100644 --- a/packages/google_identity_services_web/lib/src/js_loader.dart +++ b/packages/google_identity_services_web/lib/src/js_loader.dart @@ -33,7 +33,7 @@ Future loadWebSdk({ String trustedTypePolicyName = _defaultTrustedPolicyName, String? nonce = _undefined, }) { - final Completer completer = Completer(); + final completer = Completer(); onGoogleLibraryLoad = () => completer.complete(); // If TrustedTypes are available, prepare a trusted URL. @@ -55,7 +55,7 @@ Future loadWebSdk({ } } - final web.HTMLScriptElement script = web.HTMLScriptElement() + final script = web.HTMLScriptElement() ..async = true ..defer = true; if (trustedUrl != null) { @@ -88,7 +88,7 @@ String? _getNonce({String? suppliedNonce, web.Window? window}) { 'script', ); - for (int i = 0; i < elements.length; i++) { + for (var i = 0; i < elements.length; i++) { if (elements.item(i) case final web.HTMLScriptElement element) { // Chrome may return an empty string instead of null. final String nonce = diff --git a/packages/google_identity_services_web/pubspec.yaml b/packages/google_identity_services_web/pubspec.yaml index 7bbc5347745..496c9e7988e 100644 --- a/packages/google_identity_services_web/pubspec.yaml +++ b/packages/google_identity_services_web/pubspec.yaml @@ -5,7 +5,7 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 0.3.3+1 environment: - sdk: ^3.8.0 + sdk: ^3.9.0 dependencies: meta: ^1.3.0 diff --git a/packages/google_identity_services_web/test/js_loader_test.dart b/packages/google_identity_services_web/test/js_loader_test.dart index 9dc836800c7..533faf3dcc3 100644 --- a/packages/google_identity_services_web/test/js_loader_test.dart +++ b/packages/google_identity_services_web/test/js_loader_test.dart @@ -25,7 +25,7 @@ import 'package:web/web.dart' as web; void main() { group('loadWebSdk (no TrustedTypes)', () { - final web.HTMLDivElement target = web.HTMLDivElement(); + final target = web.HTMLDivElement(); tearDown(() { target.replaceChildren([].toJS); @@ -41,7 +41,7 @@ void main() { expect(injected, isNotNull); expect(injected, isA()); - final web.HTMLScriptElement script = injected! as web.HTMLScriptElement; + final script = injected! as web.HTMLScriptElement; expect(script.defer, isTrue); expect(script.async, isTrue); expect(script.src, 'https://accounts.google.com/gsi/client'); @@ -60,19 +60,17 @@ void main() { group('`nonce` parameter', () { test('can be set', () async { - const String expectedNonce = 'some-random-nonce'; + const expectedNonce = 'some-random-nonce'; unawaited(loadWebSdk(target: target, nonce: expectedNonce)); // Target now should have a child that is a script element - final web.HTMLScriptElement script = - target.firstElementChild! as web.HTMLScriptElement; + final script = target.firstElementChild! as web.HTMLScriptElement; expect(script.nonce, expectedNonce); }); test('defaults to a nonce set in other script of the page', () async { - const String expectedNonce = 'another-random-nonce'; - final web.HTMLScriptElement otherScript = web.HTMLScriptElement() - ..nonce = expectedNonce; + const expectedNonce = 'another-random-nonce'; + final otherScript = web.HTMLScriptElement()..nonce = expectedNonce; web.document.head?.appendChild(otherScript); // This test doesn't simulate the callback that completes the future, and @@ -80,16 +78,15 @@ void main() { unawaited(loadWebSdk(target: target)); // Target now should have a child that is a script element - final web.HTMLScriptElement script = - target.firstElementChild! as web.HTMLScriptElement; + final script = target.firstElementChild! as web.HTMLScriptElement; expect(script.nonce, expectedNonce); otherScript.remove(); }); test('when explicitly set overrides the default', () async { - const String expectedNonce = 'third-random-nonce'; - final web.HTMLScriptElement otherScript = web.HTMLScriptElement() + const expectedNonce = 'third-random-nonce'; + final otherScript = web.HTMLScriptElement() ..nonce = 'this-is-the-wrong-nonce'; web.document.head?.appendChild(otherScript); @@ -98,15 +95,14 @@ void main() { unawaited(loadWebSdk(target: target, nonce: expectedNonce)); // Target now should have a child that is a script element - final web.HTMLScriptElement script = - target.firstElementChild! as web.HTMLScriptElement; + final script = target.firstElementChild! as web.HTMLScriptElement; expect(script.nonce, expectedNonce); otherScript.remove(); }); test('when null disables the feature', () async { - final web.HTMLScriptElement otherScript = web.HTMLScriptElement() + final otherScript = web.HTMLScriptElement() ..nonce = 'this-is-the-wrong-nonce'; web.document.head?.appendChild(otherScript); @@ -115,8 +111,7 @@ void main() { unawaited(loadWebSdk(target: target, nonce: null)); // Target now should have a child that is a script element - final web.HTMLScriptElement script = - target.firstElementChild! as web.HTMLScriptElement; + final script = target.firstElementChild! as web.HTMLScriptElement; expect(script.nonce, isEmpty); expect(script.hasAttribute('nonce'), isFalse); diff --git a/packages/google_identity_services_web/test/js_loader_tt_custom_test.dart b/packages/google_identity_services_web/test/js_loader_tt_custom_test.dart index d06041f1a1f..1e304593878 100644 --- a/packages/google_identity_services_web/test/js_loader_tt_custom_test.dart +++ b/packages/google_identity_services_web/test/js_loader_tt_custom_test.dart @@ -23,8 +23,7 @@ import 'tools.dart'; void main() { group('loadWebSdk (TrustedTypes configured)', () { - final web.HTMLDivElement target = - web.document.createElement('div') as web.HTMLDivElement; + final target = web.document.createElement('div') as web.HTMLDivElement; injectMetaTag({ 'http-equiv': 'Content-Security-Policy', 'content': "trusted-types my-custom-policy-name 'allow-duplicates';", diff --git a/packages/google_identity_services_web/test/js_loader_tt_forbidden_test.dart b/packages/google_identity_services_web/test/js_loader_tt_forbidden_test.dart index 9ba347dd6bc..57379a25a38 100644 --- a/packages/google_identity_services_web/test/js_loader_tt_forbidden_test.dart +++ b/packages/google_identity_services_web/test/js_loader_tt_forbidden_test.dart @@ -23,8 +23,7 @@ import 'tools.dart'; void main() { group('loadWebSdk (TrustedTypes forbidden)', () { - final web.HTMLDivElement target = - web.document.createElement('div') as web.HTMLDivElement; + final target = web.document.createElement('div') as web.HTMLDivElement; injectMetaTag({ 'http-equiv': 'Content-Security-Policy', 'content': "trusted-types 'none';", diff --git a/packages/google_identity_services_web/test/tools.dart b/packages/google_identity_services_web/test/tools.dart index fd7e61957f7..669b24c97ea 100644 --- a/packages/google_identity_services_web/test/tools.dart +++ b/packages/google_identity_services_web/test/tools.dart @@ -6,8 +6,7 @@ import 'package:web/web.dart' as web; /// Injects a `` tag with the provided [attributes] into the [web.document]. void injectMetaTag(Map attributes) { - final web.HTMLMetaElement meta = - web.document.createElement('meta') as web.HTMLMetaElement; + final meta = web.document.createElement('meta') as web.HTMLMetaElement; for (final MapEntry attribute in attributes.entries) { meta.setAttribute(attribute.key, attribute.value); } diff --git a/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_controller.dart b/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_controller.dart index adaee6429af..9f60a28874f 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_controller.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_controller.dart @@ -26,8 +26,7 @@ void runTests() { (WidgetTester tester) async { await tester.binding.setSurfaceSize(const Size(800, 600)); - final Completer mapControllerCompleter = - Completer(); + final mapControllerCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( Directionality( @@ -88,13 +87,12 @@ void runTests() { 'testGetVisibleRegion', (WidgetTester tester) async { final Key key = GlobalKey(); - final LatLngBounds zeroLatLngBounds = LatLngBounds( + final zeroLatLngBounds = LatLngBounds( southwest: const LatLng(0, 0), northeast: const LatLng(0, 0), ); - final Completer mapControllerCompleter = - Completer(); + final mapControllerCompleter = Completer(); await pumpMap( tester, @@ -123,15 +121,15 @@ void runTests() { // Making a new `LatLngBounds` about (10, 10) distance south west to the `firstVisibleRegion`. // The size of the `LatLngBounds` is 10 by 10. - final LatLng southWest = LatLng( + final southWest = LatLng( firstVisibleRegion.southwest.latitude - 20, firstVisibleRegion.southwest.longitude - 20, ); - final LatLng northEast = LatLng( + final northEast = LatLng( firstVisibleRegion.southwest.latitude - 10, firstVisibleRegion.southwest.longitude - 10, ); - final LatLng newCenter = LatLng( + final newCenter = LatLng( (northEast.latitude + southWest.latitude) / 2, (northEast.longitude + southWest.longitude) / 2, ); @@ -139,7 +137,7 @@ void runTests() { expect(firstVisibleRegion.contains(northEast), isFalse); expect(firstVisibleRegion.contains(southWest), isFalse); - final LatLngBounds latLngBounds = LatLngBounds( + final latLngBounds = LatLngBounds( southwest: southWest, northeast: northEast, ); @@ -166,8 +164,7 @@ void runTests() { testWidgets('testSetMapStyle valid Json String', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -181,7 +178,7 @@ void runTests() { ); final GoogleMapController controller = await controllerCompleter.future; - const String mapStyle = + const mapStyle = '[{"elementType":"geometry","stylers":[{"color":"#242f3e"}]}]'; // Intentionally testing the deprecated code path. // ignore: deprecated_member_use @@ -192,8 +189,7 @@ void runTests() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -219,8 +215,7 @@ void runTests() { testWidgets('testSetMapStyle null string', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -241,8 +236,7 @@ void runTests() { testWidgets('testGetLatLng', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -266,7 +260,7 @@ void runTests() { final LatLng topLeft = await controller.getLatLng( const ScreenCoordinate(x: 0, y: 0), ); - final LatLng northWest = LatLng( + final northWest = LatLng( visibleRegion.northeast.latitude, visibleRegion.southwest.longitude, ); @@ -278,8 +272,7 @@ void runTests() { 'testGetZoomLevel', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -315,8 +308,7 @@ void runTests() { 'testScreenCoordinate', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -337,7 +329,7 @@ void runTests() { await Future.delayed(const Duration(seconds: 1)); final LatLngBounds visibleRegion = await controller.getVisibleRegion(); - final LatLng northWest = LatLng( + final northWest = LatLng( visibleRegion.northeast.latitude, visibleRegion.southwest.longitude, ); @@ -351,8 +343,7 @@ void runTests() { ); testWidgets('testResizeWidget', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -392,14 +383,13 @@ void runTests() { }); testWidgets('testToggleInfoWindow', (WidgetTester tester) async { - const Marker marker = Marker( + const marker = Marker( markerId: MarkerId('marker'), infoWindow: InfoWindow(title: 'InfoWindow'), ); - final Set markers = {marker}; + final markers = {marker}; - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -444,7 +434,7 @@ void runTests() { }); testWidgets('markerWithAssetMapBitmap', (WidgetTester tester) async { - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: AssetMapBitmap('assets/red_square.png', imagePixelRatio: 1.0), @@ -460,10 +450,10 @@ void runTests() { }); testWidgets('markerWithAssetMapBitmapCreate', (WidgetTester tester) async { - final ImageConfiguration imageConfiguration = ImageConfiguration( + final imageConfiguration = ImageConfiguration( devicePixelRatio: tester.view.devicePixelRatio, ); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: await AssetMapBitmap.create( @@ -483,7 +473,7 @@ void runTests() { testWidgets('markerWithBytesMapBitmap', (WidgetTester tester) async { final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: BytesMapBitmap( @@ -503,11 +493,11 @@ void runTests() { testWidgets('markerWithLegacyAsset', (WidgetTester tester) async { tester.view.devicePixelRatio = 2.0; - final ImageConfiguration imageConfiguration = ImageConfiguration( + final imageConfiguration = ImageConfiguration( devicePixelRatio: tester.view.devicePixelRatio, size: const Size(100, 100), ); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), // Intentionally testing the deprecated code path. @@ -532,7 +522,7 @@ void runTests() { testWidgets('markerWithLegacyBytes', (WidgetTester tester) async { tester.view.devicePixelRatio = 2.0; final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), // Intentionally testing the deprecated code path. @@ -554,8 +544,7 @@ void runTests() { testWidgets( 'testTakeSnapshot', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -579,7 +568,7 @@ void runTests() { ); testWidgets('testCloudMapId', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await pumpMap( @@ -601,8 +590,7 @@ void runTests() { testWidgets('getStyleError reports last error', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -638,7 +626,7 @@ Future waitForValueMatchingPredicate( bool Function(T) predicate, { int maxTries = 100, }) async { - for (int i = 0; i < maxTries; i++) { + for (var i = 0; i < maxTries; i++) { final T value = await getValue(); if (predicate(value)) { return value; diff --git a/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_inspector.dart b/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_inspector.dart index 501be0233b6..06588979e29 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_inspector.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/maps_inspector.dart @@ -43,7 +43,7 @@ void runTests() { testWidgets('testCompassToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, GoogleMap( @@ -77,7 +77,7 @@ void runTests() { testWidgets('testMapToolbarToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -122,11 +122,10 @@ void runTests() { // // Thus we test iOS and Android a little differently here. final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); - const MinMaxZoomPreference initialZoomLevel = MinMaxZoomPreference(4, 8); - const MinMaxZoomPreference finalZoomLevel = MinMaxZoomPreference(6, 10); + const initialZoomLevel = MinMaxZoomPreference(4, 8); + const finalZoomLevel = MinMaxZoomPreference(6, 10); await pumpMap( tester, @@ -189,7 +188,7 @@ void runTests() { testWidgets('testZoomGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -226,7 +225,7 @@ void runTests() { testWidgets('testZoomControlsEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -268,7 +267,7 @@ void runTests() { testWidgets('testLiteModeEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -303,7 +302,7 @@ void runTests() { testWidgets('testRotateGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -342,7 +341,7 @@ void runTests() { testWidgets('testTiltGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -379,7 +378,7 @@ void runTests() { testWidgets('testScrollGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -418,7 +417,7 @@ void runTests() { testWidgets('testTraffic', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -453,7 +452,7 @@ void runTests() { testWidgets('testBuildings', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -478,7 +477,7 @@ void runTests() { group('MyLocationButton', () { testWidgets('testMyLocationButtonToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -519,7 +518,7 @@ void runTests() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -543,7 +542,7 @@ void runTests() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await pumpMap( tester, @@ -565,27 +564,21 @@ void runTests() { testWidgets('marker clustering', (WidgetTester tester) async { final Key key = GlobalKey(); - const int clusterManagersAmount = 2; - const int markersPerClusterManager = 5; - final Map markers = {}; - final Set clusterManagers = {}; - - for (int i = 0; i < clusterManagersAmount; i++) { - final ClusterManagerId clusterManagerId = ClusterManagerId( - 'cluster_manager_$i', - ); - final ClusterManager clusterManager = ClusterManager( - clusterManagerId: clusterManagerId, - ); + const clusterManagersAmount = 2; + const markersPerClusterManager = 5; + final markers = {}; + final clusterManagers = {}; + + for (var i = 0; i < clusterManagersAmount; i++) { + final clusterManagerId = ClusterManagerId('cluster_manager_$i'); + final clusterManager = ClusterManager(clusterManagerId: clusterManagerId); clusterManagers.add(clusterManager); } - for (final ClusterManager cm in clusterManagers) { - for (int i = 0; i < markersPerClusterManager; i++) { - final MarkerId markerId = MarkerId( - '${cm.clusterManagerId.value}_marker_$i', - ); - final Marker marker = Marker( + for (final cm in clusterManagers) { + for (var i = 0; i < markersPerClusterManager; i++) { + final markerId = MarkerId('${cm.clusterManagerId.value}_marker_$i'); + final marker = Marker( markerId: markerId, clusterManagerId: cm.clusterManagerId, position: LatLng( @@ -597,8 +590,7 @@ void runTests() { } } - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await pumpMap( tester, @@ -618,7 +610,7 @@ void runTests() { final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; - for (final ClusterManager cm in clusterManagers) { + for (final cm in clusterManagers) { final List clusters = await inspector.getClusters( mapId: controller.mapId, clusterManagerId: cm.clusterManagerId, @@ -644,7 +636,7 @@ void runTests() { ), ); - for (final ClusterManager cm in clusterManagers) { + for (final cm in clusterManagers) { final List clusters = await inspector.getClusters( mapId: controller.mapId, clusterManagerId: cm.clusterManagerId, @@ -657,8 +649,7 @@ void runTests() { 'testAnimateCameraWithoutDuration', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; @@ -762,16 +753,15 @@ void runTests() { 'testAnimateCameraWithDuration', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; /// Completer to track when the camera has come to rest. Completer? cameraIdleCompleter; - const int shortCameraAnimationDurationMS = 200; - const int longCameraAnimationDurationMS = 1000; + const shortCameraAnimationDurationMS = 200; + const longCameraAnimationDurationMS = 1000; /// Calculate the midpoint duration of the animation test, which will /// serve as a reference to verify that animations complete more quickly @@ -780,7 +770,7 @@ void runTests() { (shortCameraAnimationDurationMS + longCameraAnimationDurationMS) ~/ 2; // Stopwatch to measure the time taken for the animation to complete. - final Stopwatch stopwatch = Stopwatch(); + final stopwatch = Stopwatch(); await tester.pumpWidget( Directionality( @@ -980,7 +970,7 @@ Future _checkCameraUpdateByType( ) async { // As the target might differ a bit from the expected target, a threshold is // used. - const double latLngThreshold = 0.05; + const latLngThreshold = 0.05; switch (type) { case CameraUpdateType.newCameraPosition: diff --git a/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/tiles_inspector.dart b/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/tiles_inspector.dart index 079ac894192..c6641a806b2 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/tiles_inspector.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/integration_test/src/tiles_inspector.dart @@ -21,7 +21,7 @@ void main() { } void runTests() { - const double floatTolerance = 1e-6; + const floatTolerance = 1e-6; GoogleMapsFlutterPlatform.instance.enableDebugInspection(); @@ -30,15 +30,15 @@ void runTests() { group('Tiles', () { testWidgets('set tileOverlay correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); - final TileOverlay tileOverlay1 = TileOverlay( + final mapIdCompleter = Completer(); + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, transparency: 0.2, ); - final TileOverlay tileOverlay2 = TileOverlay( + final tileOverlay2 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_2'), tileProvider: _DebugTileProvider(), zIndex: 1, @@ -89,16 +89,16 @@ void runTests() { }); testWidgets('update tileOverlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); - final TileOverlay tileOverlay1 = TileOverlay( + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, transparency: 0.2, ); - final TileOverlay tileOverlay2 = TileOverlay( + final tileOverlay2 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_2'), tileProvider: _DebugTileProvider(), zIndex: 3, @@ -120,7 +120,7 @@ void runTests() { final int mapId = await mapIdCompleter.future; - final TileOverlay tileOverlay1New = TileOverlay( + final tileOverlay1New = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 1, @@ -166,9 +166,9 @@ void runTests() { }); testWidgets('remove tileOverlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); - final TileOverlay tileOverlay1 = TileOverlay( + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, @@ -221,7 +221,7 @@ void runTests() { List data2, ) { expect(data1.length, data2.length); - for (int i = 0; i < data1.length; i++) { + for (var i = 0; i < data1.length; i++) { final WeightedLatLng wll1 = data1[i]; final WeightedLatLng wll2 = data2[i]; expect(wll1.weight, wll2.weight); @@ -242,7 +242,7 @@ void runTests() { expect(gradient2, isNotNull); expect(gradient1.colors.length, gradient2.colors.length); - for (int i = 0; i < gradient1.colors.length; i++) { + for (var i = 0; i < gradient1.colors.length; i++) { final HeatmapGradientColor color1 = gradient1.colors[i]; final HeatmapGradientColor color2 = gradient2.colors[i]; expect(color1.color, color2.color); @@ -288,7 +288,7 @@ void runTests() { } } - const Heatmap heatmap1 = Heatmap( + const heatmap1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: [ WeightedLatLng(LatLng(37.782, -122.447)), @@ -322,8 +322,8 @@ void runTests() { ); testWidgets('set heatmap correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); - final Heatmap heatmap2 = Heatmap( + final mapIdCompleter = Completer(); + final heatmap2 = Heatmap( heatmapId: const HeatmapId('heatmap_2'), data: heatmap1.data, dissipating: heatmap1.dissipating, @@ -369,7 +369,7 @@ void runTests() { }); testWidgets('update heatmaps correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -429,7 +429,7 @@ void runTests() { }); testWidgets('remove heatmaps correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -478,12 +478,12 @@ void runTests() { }); group('GroundOverlay', () { - final LatLngBounds kGroundOverlayBounds = LatLngBounds( + final kGroundOverlayBounds = LatLngBounds( southwest: const LatLng(37.77483, -122.41942), northeast: const LatLng(37.78183, -122.39105), ); - final GroundOverlay groundOverlayBounds1 = GroundOverlay.fromBounds( + final groundOverlayBounds1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('bounds_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -496,7 +496,7 @@ void runTests() { zIndex: 10, ); - final GroundOverlay groundOverlayPosition1 = GroundOverlay.fromPosition( + final groundOverlayPosition1 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('position_1'), position: kGroundOverlayBounds.northeast, width: 100, @@ -573,8 +573,8 @@ void runTests() { } testWidgets('set ground overlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); - final GroundOverlay groundOverlayBounds2 = GroundOverlay.fromBounds( + final mapIdCompleter = Completer(); + final groundOverlayBounds2 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('bounds_2'), bounds: groundOverlayBounds1.bounds!, image: groundOverlayBounds1.image, @@ -636,7 +636,7 @@ void runTests() { testWidgets('update ground overlays correctly', ( WidgetTester tester, ) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -728,7 +728,7 @@ void runTests() { testWidgets('remove ground overlays correctly', ( WidgetTester tester, ) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -803,10 +803,10 @@ class _DebugTileProvider implements TileProvider { @override Future getTile(int x, int y, int? zoom) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final TextSpan textSpan = TextSpan(text: '$x,$y', style: textStyle); - final TextPainter textPainter = TextPainter( + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final textSpan = TextSpan(text: '$x,$y', style: textStyle); + final textPainter = TextPainter( text: textSpan, textDirection: TextDirection.ltr, ); diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/clustering.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/clustering.dart index 0a22df4fdaa..d5fe7eb4301 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/clustering.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/clustering.dart @@ -116,14 +116,11 @@ class ClusteringBodyState extends State { return; } - final String clusterManagerIdVal = - 'cluster_manager_id_$_clusterManagerIdCounter'; + final clusterManagerIdVal = 'cluster_manager_id_$_clusterManagerIdCounter'; _clusterManagerIdCounter++; - final ClusterManagerId clusterManagerId = ClusterManagerId( - clusterManagerIdVal, - ); + final clusterManagerId = ClusterManagerId(clusterManagerIdVal); - final ClusterManager clusterManager = ClusterManager( + final clusterManager = ClusterManager( clusterManagerId: clusterManagerId, onClusterTap: (Cluster cluster) => setState(() { lastCluster = cluster; @@ -149,11 +146,11 @@ class ClusteringBodyState extends State { } void _addMarkersToCluster(ClusterManager clusterManager) { - for (int i = 0; i < _markersToAddToClusterManagerCount; i++) { - final String markerIdVal = + for (var i = 0; i < _markersToAddToClusterManagerCount; i++) { + final markerIdVal = '${clusterManager.clusterManagerId.value}_marker_id_$_markerIdCounter'; _markerIdCounter++; - final MarkerId markerId = MarkerId(markerIdVal); + final markerId = MarkerId(markerIdVal); final int clusterManagerIndex = clusterManagers.values.toList().indexOf( clusterManager, @@ -164,7 +161,7 @@ class ClusteringBodyState extends State { final double clusterManagerLongitudeOffset = clusterManagerIndex * _clusterManagerLongitudeOffset; - final Marker marker = Marker( + final marker = Marker( clusterManagerId: clusterManager.clusterManagerId, markerId: markerId, position: LatLng( diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/custom_marker_icon.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/custom_marker_icon.dart index 6206787f347..548146c6206 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/custom_marker_icon.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/custom_marker_icon.dart @@ -9,9 +9,9 @@ import 'package:flutter/material.dart'; /// Returns a generated png image in [ByteData] format with the requested size. Future createCustomMarkerIconImage({required Size size}) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final _MarkerPainter painter = _MarkerPainter(); + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final painter = _MarkerPainter(); painter.paint(canvas, size); @@ -30,7 +30,7 @@ class _MarkerPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final Rect rect = Offset.zero & size; - const RadialGradient gradient = RadialGradient( + const gradient = RadialGradient( colors: [Colors.yellow, Colors.red], stops: [0.4, 1.0], ); diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/ground_overlay.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/ground_overlay.dart index 2b5772af8b8..41df905569a 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/ground_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/ground_overlay.dart @@ -95,9 +95,7 @@ class GroundOverlayBodyState extends State { _groundOverlayIndex += 1; - final GroundOverlayId id = GroundOverlayId( - 'ground_overlay_$_groundOverlayIndex', - ); + final id = GroundOverlayId('ground_overlay_$_groundOverlayIndex'); final GroundOverlay groundOverlay = switch (_placingType) { _GroundOverlayPlacing.position => GroundOverlay.fromPosition( @@ -146,9 +144,7 @@ class GroundOverlayBodyState extends State { void _changeTransparency() { assert(_groundOverlay != null); setState(() { - final double transparency = _groundOverlay!.transparency == 0.0 - ? 0.5 - : 0.0; + final transparency = _groundOverlay!.transparency == 0.0 ? 0.5 : 0.0; _groundOverlay = _groundOverlay!.copyWith( transparencyParam: transparency, ); @@ -242,7 +238,7 @@ class GroundOverlayBodyState extends State { @override Widget build(BuildContext context) { - final Set overlays = { + final overlays = { if (_groundOverlay != null) _groundOverlay!, }; return Column( diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart index 8b33fc9ddaf..2cee263eeba 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/main.dart @@ -103,8 +103,7 @@ Future initializeMapRenderer() async { return _initializedRendererCompleter!.future; } - final Completer completer = - Completer(); + final completer = Completer(); _initializedRendererCompleter = completer; WidgetsFlutterBinding.ensureInitialized(); diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_click.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_click.dart index a426ec8bea2..b80c545b109 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_click.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_click.dart @@ -39,7 +39,7 @@ class _MapClickBodyState extends State<_MapClickBody> { @override Widget build(BuildContext context) { - final GoogleMap googleMap = GoogleMap( + final googleMap = GoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, onTap: (LatLng pos) { @@ -54,7 +54,7 @@ class _MapClickBodyState extends State<_MapClickBody> { }, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( @@ -64,8 +64,8 @@ class _MapClickBodyState extends State<_MapClickBody> { ]; if (mapController != null) { - final String lastTap = 'Tap:\n${_lastTap ?? ""}\n'; - final String lastLongPress = 'Long press:\n${_lastLongPress ?? ""}'; + final lastTap = 'Tap:\n${_lastTap ?? ""}\n'; + final lastLongPress = 'Long press:\n${_lastLongPress ?? ""}'; columnChildren.add( Center(child: Text(lastTap, textAlign: TextAlign.center)), ); diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_coordinates.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_coordinates.dart index 2b20bbeda75..3a8d282c67a 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_coordinates.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_coordinates.dart @@ -41,7 +41,7 @@ class _MapCoordinatesBodyState extends State<_MapCoordinatesBody> { @override Widget build(BuildContext context) { - final GoogleMap googleMap = GoogleMap( + final googleMap = GoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, onCameraIdle: diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_map_id.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_map_id.dart index d9befb15a88..16bb9f1a21a 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_map_id.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_map_id.dart @@ -74,7 +74,7 @@ class MapIdBodyState extends State { @override Widget build(BuildContext context) { - final GoogleMap googleMap = GoogleMap( + final googleMap = GoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: _kMapCenter, @@ -84,7 +84,7 @@ class MapIdBodyState extends State { cloudMapId: _mapId, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart index 3afa4a596f4..d954ee7d3c7 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart @@ -325,7 +325,7 @@ class MapUiBodyState extends State { @override Widget build(BuildContext context) { - final GoogleMap googleMap = GoogleMap( + final googleMap = GoogleMap( webCameraControlEnabled: _webCameraControlEnabled, webCameraControlPosition: _webCameraControlPosition, onMapCreated: onMapCreated, @@ -348,7 +348,7 @@ class MapUiBodyState extends State { onCameraMove: _updateCameraPosition, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart index 303adcce686..2e239cc9903 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/marker_icons.dart @@ -209,7 +209,7 @@ class MarkerIconsBodyState extends State { } Marker _createAssetMarker(int index) { - final LatLng position = LatLng( + final position = LatLng( _kMapCenter.latitude - (index * 0.5), _kMapCenter.longitude - 1, ); @@ -222,7 +222,7 @@ class MarkerIconsBodyState extends State { } Marker _createBytesMarker(int index) { - final LatLng position = LatLng( + final position = LatLng( _kMapCenter.latitude - (index * 0.5), _kMapCenter.longitude + 1, ); @@ -235,8 +235,8 @@ class MarkerIconsBodyState extends State { } void _updateMarkers() { - final Set markers = {}; - for (int i = 0; i < _markersAmountPerType; i++) { + final markers = {}; + for (var i = 0; i < _markersAmountPerType; i++) { if (_markerIconAsset != null) { markers.add(_createAssetMarker(i)); } @@ -298,7 +298,7 @@ class MarkerIconsBodyState extends State { final double? imagePixelRatio = _scalingEnabled ? devicePixelRatio : null; // Create canvasSize with physical marker size - final Size canvasSize = Size( + final canvasSize = Size( bitmapLogicalSize.width * (imagePixelRatio ?? 1.0), bitmapLogicalSize.height * (imagePixelRatio ?? 1.0), ); @@ -313,7 +313,7 @@ class MarkerIconsBodyState extends State { ? _getCurrentMarkerSize() : (null, null); - final BytesMapBitmap bitmap = BytesMapBitmap( + final bitmap = BytesMapBitmap( bytes.buffer.asUint8List(), imagePixelRatio: imagePixelRatio, width: width, diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart index 65a98d6a775..c5d224144a5 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/padding.dart @@ -34,7 +34,7 @@ class MarkerIconsBodyState extends State { @override Widget build(BuildContext context) { - final GoogleMap googleMap = GoogleMap( + final googleMap = GoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: _kMapCenter, @@ -43,7 +43,7 @@ class MarkerIconsBodyState extends State { padding: _padding, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart index 44f3d23f28c..b8a6b88fefb 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_circle.dart @@ -82,11 +82,11 @@ class PlaceCircleBodyState extends State { return; } - final String circleIdVal = 'circle_id_$_circleIdCounter'; + final circleIdVal = 'circle_id_$_circleIdCounter'; _circleIdCounter++; - final CircleId circleId = CircleId(circleIdVal); + final circleId = CircleId(circleIdVal); - final Circle circle = Circle( + final circle = Circle( circleId: circleId, consumeTapEvents: true, strokeColor: Colors.orange, diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart index 96ff31d0a3a..4c4b71ca175 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart @@ -122,11 +122,11 @@ class PlaceMarkerBodyState extends State { return; } - final String markerIdVal = 'marker_id_$_markerIdCounter'; + final markerIdVal = 'marker_id_$_markerIdCounter'; _markerIdCounter++; - final MarkerId markerId = MarkerId(markerIdVal); + final markerId = MarkerId(markerIdVal); - final Marker marker = Marker( + final marker = Marker( markerId: markerId, position: LatLng( center.latitude + sin(_markerIdCounter * pi / 6.0) / 20.0, @@ -154,7 +154,7 @@ class PlaceMarkerBodyState extends State { void _changePosition(MarkerId markerId) { final Marker marker = markers[markerId]!; final LatLng current = marker.position; - final Offset offset = Offset( + final offset = Offset( center.latitude - current.latitude, center.longitude - current.longitude, ); @@ -171,7 +171,7 @@ class PlaceMarkerBodyState extends State { void _changeAnchor(MarkerId markerId) { final Marker marker = markers[markerId]!; final Offset currentAnchor = marker.anchor; - final Offset newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); + final newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); setState(() { markers[markerId] = marker.copyWith(anchorParam: newAnchor); }); @@ -180,7 +180,7 @@ class PlaceMarkerBodyState extends State { Future _changeInfoAnchor(MarkerId markerId) async { final Marker marker = markers[markerId]!; final Offset currentAnchor = marker.infoWindow.anchor; - final Offset newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); + final newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); setState(() { markers[markerId] = marker.copyWith( infoWindowParam: marker.infoWindow.copyWith(anchorParam: newAnchor), @@ -204,7 +204,7 @@ class PlaceMarkerBodyState extends State { Future _changeInfo(MarkerId markerId) async { final Marker marker = markers[markerId]!; - final String newSnippet = '${marker.infoWindow.snippet!}*'; + final newSnippet = '${marker.infoWindow.snippet!}*'; setState(() { markers[markerId] = marker.copyWith( infoWindowParam: marker.infoWindow.copyWith(snippetParam: newSnippet), @@ -257,7 +257,7 @@ class PlaceMarkerBodyState extends State { } Future _getMarkerIcon(BuildContext context) async { - const Size canvasSize = Size(48, 48); + const canvasSize = Size(48, 48); final ByteData bytes = await createCustomMarkerIconImage(size: canvasSize); return BytesMapBitmap(bytes.buffer.asUint8List()); } diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart index e8cf201a41e..b70273179ee 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polygon.dart @@ -81,10 +81,10 @@ class PlacePolygonBodyState extends State { return; } - final String polygonIdVal = 'polygon_id_$_polygonIdCounter'; - final PolygonId polygonId = PolygonId(polygonIdVal); + final polygonIdVal = 'polygon_id_$_polygonIdCounter'; + final polygonId = PolygonId(polygonIdVal); - final Polygon polygon = Polygon( + final polygon = Polygon( polygonId: polygonId, consumeTapEvents: true, strokeColor: Colors.orange, @@ -261,7 +261,7 @@ class PlacePolygonBodyState extends State { } List _createPoints() { - final List points = []; + final points = []; final double offset = _polygonIdCounter.ceilToDouble(); points.add(_createLatLng(51.2395 + offset, -3.4314)); points.add(_createLatLng(53.5234 + offset, -3.5314)); @@ -271,17 +271,17 @@ class PlacePolygonBodyState extends State { } List> _createHoles(PolygonId polygonId) { - final List> holes = >[]; + final holes = >[]; final double offset = polygonOffsets[polygonId]!; - final List hole1 = []; + final hole1 = []; hole1.add(_createLatLng(51.8395 + offset, -3.8814)); hole1.add(_createLatLng(52.0234 + offset, -3.9914)); hole1.add(_createLatLng(52.1351 + offset, -4.4435)); hole1.add(_createLatLng(52.0231 + offset, -4.5829)); holes.add(hole1); - final List hole2 = []; + final hole2 = []; hole2.add(_createLatLng(52.2395 + offset, -3.6814)); hole2.add(_createLatLng(52.4234 + offset, -3.7914)); hole2.add(_createLatLng(52.5351 + offset, -4.2435)); diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart index 083c575cc90..ce931ad2d5c 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_polyline.dart @@ -109,11 +109,11 @@ class PlacePolylineBodyState extends State { return; } - final String polylineIdVal = 'polyline_id_$_polylineIdCounter'; + final polylineIdVal = 'polyline_id_$_polylineIdCounter'; _polylineIdCounter++; - final PolylineId polylineId = PolylineId(polylineIdVal); + final polylineId = PolylineId(polylineIdVal); - final Polyline polyline = Polyline( + final polyline = Polyline( polylineId: polylineId, consumeTapEvents: true, color: Colors.orange, @@ -306,7 +306,7 @@ class PlacePolylineBodyState extends State { } List _createPoints() { - final List points = []; + final points = []; final double offset = _polylineIdCounter.ceilToDouble(); points.add(_createLatLng(51.4816 + offset, -3.1791)); points.add(_createLatLng(53.0430 + offset, -2.9925)); diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart index 9378cb091a3..524a9d450f9 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/tile_overlay.dart @@ -52,7 +52,7 @@ class TileOverlayBodyState extends State { } void _addTileOverlay() { - final TileOverlay tileOverlay = TileOverlay( + final tileOverlay = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), ); @@ -69,9 +69,7 @@ class TileOverlayBodyState extends State { @override Widget build(BuildContext context) { - final Set overlays = { - if (_tileOverlay != null) _tileOverlay!, - }; + final overlays = {if (_tileOverlay != null) _tileOverlay!}; return Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceEvenly, @@ -123,10 +121,10 @@ class _DebugTileProvider implements TileProvider { @override Future getTile(int x, int y, int? zoom) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final TextSpan textSpan = TextSpan(text: '$x,$y', style: textStyle); - final TextPainter textPainter = TextPainter( + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final textSpan = TextSpan(text: '$x,$y', style: textStyle); + final textPainter = TextPainter( text: textSpan, textDirection: TextDirection.ltr, ); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/camera_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/camera_test.dart index 7db2374f90b..07350dd6956 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/camera_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/camera_test.dart @@ -20,8 +20,7 @@ void main() { }); testWidgets('Can animate camera with duration', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -42,7 +41,7 @@ void main() { final CameraUpdate newCameraUpdate = CameraUpdate.newLatLng( const LatLng(20.0, 25.0), ); - const Duration updateDuration = Duration(seconds: 10); + const updateDuration = Duration(seconds: 10); await controller.animateCamera(newCameraUpdate, duration: updateDuration); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/circle_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/circle_updates_test.dart index 58f9b334a9c..b822f41a888 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/circle_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/circle_updates_test.dart @@ -28,7 +28,7 @@ void main() { }); testWidgets('Initializing a circle', (WidgetTester tester) async { - const Circle c1 = Circle(circleId: CircleId('circle_1')); + const c1 = Circle(circleId: CircleId('circle_1')); await tester.pumpWidget(_mapWithCircles({c1})); final PlatformMapStateRecorder map = platform.lastCreatedMap; @@ -41,8 +41,8 @@ void main() { }); testWidgets('Adding a circle', (WidgetTester tester) async { - const Circle c1 = Circle(circleId: CircleId('circle_1')); - const Circle c2 = Circle(circleId: CircleId('circle_2')); + const c1 = Circle(circleId: CircleId('circle_1')); + const c2 = Circle(circleId: CircleId('circle_2')); await tester.pumpWidget(_mapWithCircles({c1})); await tester.pumpWidget(_mapWithCircles({c1, c2})); @@ -59,7 +59,7 @@ void main() { }); testWidgets('Removing a circle', (WidgetTester tester) async { - const Circle c1 = Circle(circleId: CircleId('circle_1')); + const c1 = Circle(circleId: CircleId('circle_1')); await tester.pumpWidget(_mapWithCircles({c1})); await tester.pumpWidget(_mapWithCircles({})); @@ -73,8 +73,8 @@ void main() { }); testWidgets('Updating a circle', (WidgetTester tester) async { - const Circle c1 = Circle(circleId: CircleId('circle_1')); - const Circle c2 = Circle(circleId: CircleId('circle_1'), radius: 10); + const c1 = Circle(circleId: CircleId('circle_1')); + const c2 = Circle(circleId: CircleId('circle_1'), radius: 10); await tester.pumpWidget(_mapWithCircles({c1})); await tester.pumpWidget(_mapWithCircles({c2})); @@ -88,8 +88,8 @@ void main() { }); testWidgets('Updating a circle', (WidgetTester tester) async { - const Circle c1 = Circle(circleId: CircleId('circle_1')); - const Circle c2 = Circle(circleId: CircleId('circle_1'), radius: 10); + const c1 = Circle(circleId: CircleId('circle_1')); + const c2 = Circle(circleId: CircleId('circle_1'), radius: 10); await tester.pumpWidget(_mapWithCircles({c1})); await tester.pumpWidget(_mapWithCircles({c2})); @@ -103,12 +103,12 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Circle c1 = const Circle(circleId: CircleId('circle_1')); - Circle c2 = const Circle(circleId: CircleId('circle_2')); - final Set prev = {c1, c2}; + var c1 = const Circle(circleId: CircleId('circle_1')); + var c2 = const Circle(circleId: CircleId('circle_2')); + final prev = {c1, c2}; c1 = const Circle(circleId: CircleId('circle_1'), visible: false); c2 = const Circle(circleId: CircleId('circle_2'), radius: 10); - final Set cur = {c1, c2}; + final cur = {c1, c2}; await tester.pumpWidget(_mapWithCircles(prev)); await tester.pumpWidget(_mapWithCircles(cur)); @@ -121,14 +121,14 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Circle c2 = const Circle(circleId: CircleId('circle_2')); - const Circle c3 = Circle(circleId: CircleId('circle_3')); - final Set prev = {c2, c3}; + var c2 = const Circle(circleId: CircleId('circle_2')); + const c3 = Circle(circleId: CircleId('circle_3')); + final prev = {c2, c3}; // c1 is added, c2 is updated, c3 is removed. - const Circle c1 = Circle(circleId: CircleId('circle_1')); + const c1 = Circle(circleId: CircleId('circle_1')); c2 = const Circle(circleId: CircleId('circle_2'), radius: 10); - final Set cur = {c1, c2}; + final cur = {c1, c2}; await tester.pumpWidget(_mapWithCircles(prev)); await tester.pumpWidget(_mapWithCircles(cur)); @@ -145,12 +145,12 @@ void main() { }); testWidgets('Partial Update', (WidgetTester tester) async { - const Circle c1 = Circle(circleId: CircleId('circle_1')); - const Circle c2 = Circle(circleId: CircleId('circle_2')); - Circle c3 = const Circle(circleId: CircleId('circle_3')); - final Set prev = {c1, c2, c3}; + const c1 = Circle(circleId: CircleId('circle_1')); + const c2 = Circle(circleId: CircleId('circle_2')); + var c3 = const Circle(circleId: CircleId('circle_3')); + final prev = {c1, c2, c3}; c3 = const Circle(circleId: CircleId('circle_3'), radius: 10); - final Set cur = {c1, c2, c3}; + final cur = {c1, c2, c3}; await tester.pumpWidget(_mapWithCircles(prev)); await tester.pumpWidget(_mapWithCircles(cur)); @@ -163,10 +163,10 @@ void main() { }); testWidgets('Update non platform related attr', (WidgetTester tester) async { - Circle c1 = const Circle(circleId: CircleId('circle_1')); - final Set prev = {c1}; + var c1 = const Circle(circleId: CircleId('circle_1')); + final prev = {c1}; c1 = Circle(circleId: const CircleId('circle_1'), onTap: () {}); - final Set cur = {c1}; + final cur = {c1}; await tester.pumpWidget(_mapWithCircles(prev)); await tester.pumpWidget(_mapWithCircles(cur)); @@ -181,10 +181,10 @@ void main() { testWidgets('multi-update with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Circle c1 = Circle(circleId: CircleId('circle_1')); - const Circle c2 = Circle(circleId: CircleId('circle_2')); - const Circle c3 = Circle(circleId: CircleId('circle_3'), radius: 1); - const Circle c3updated = Circle(circleId: CircleId('circle_3'), radius: 10); + const c1 = Circle(circleId: CircleId('circle_1')); + const c2 = Circle(circleId: CircleId('circle_2')); + const c3 = Circle(circleId: CircleId('circle_3'), radius: 1); + const c3updated = Circle(circleId: CircleId('circle_3'), radius: 10); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithCircles({c1, c2})); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/clustermanager_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/clustermanager_updates_test.dart index acecbf12698..1e466e7c962 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/clustermanager_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/clustermanager_updates_test.dart @@ -28,9 +28,7 @@ void main() { }); testWidgets('Initializing a cluster manager', (WidgetTester tester) async { - const ClusterManager cm1 = ClusterManager( - clusterManagerId: ClusterManagerId('cm_1'), - ); + const cm1 = ClusterManager(clusterManagerId: ClusterManagerId('cm_1')); await tester.pumpWidget(_mapWithClusterManagers({cm1})); final PlatformMapStateRecorder map = platform.lastCreatedMap; @@ -50,12 +48,8 @@ void main() { }); testWidgets('Adding a cluster manager', (WidgetTester tester) async { - const ClusterManager cm1 = ClusterManager( - clusterManagerId: ClusterManagerId('cm_1'), - ); - const ClusterManager cm2 = ClusterManager( - clusterManagerId: ClusterManagerId('cm_2'), - ); + const cm1 = ClusterManager(clusterManagerId: ClusterManagerId('cm_1')); + const cm2 = ClusterManager(clusterManagerId: ClusterManagerId('cm_2')); await tester.pumpWidget(_mapWithClusterManagers({cm1})); await tester.pumpWidget( @@ -81,9 +75,7 @@ void main() { }); testWidgets('Removing a cluster manager', (WidgetTester tester) async { - const ClusterManager cm1 = ClusterManager( - clusterManagerId: ClusterManagerId('cm_1'), - ); + const cm1 = ClusterManager(clusterManagerId: ClusterManagerId('cm_1')); await tester.pumpWidget(_mapWithClusterManagers({cm1})); await tester.pumpWidget(_mapWithClusterManagers({})); @@ -110,12 +102,8 @@ void main() { testWidgets('Updating a cluster manager with same data', ( WidgetTester tester, ) async { - const ClusterManager cm1 = ClusterManager( - clusterManagerId: ClusterManagerId('cm_1'), - ); - const ClusterManager cm2 = ClusterManager( - clusterManagerId: ClusterManagerId('cm_1'), - ); + const cm1 = ClusterManager(clusterManagerId: ClusterManagerId('cm_1')); + const cm2 = ClusterManager(clusterManagerId: ClusterManagerId('cm_1')); await tester.pumpWidget(_mapWithClusterManagers({cm1})); await tester.pumpWidget(_mapWithClusterManagers({cm2})); @@ -141,16 +129,12 @@ void main() { // are added to [ClusterManager] in the future, this test will need to be // updated accordingly to check that changes are triggered. testWidgets('Multi update with same data', (WidgetTester tester) async { - ClusterManager cm1 = const ClusterManager( - clusterManagerId: ClusterManagerId('cm_1'), - ); - ClusterManager cm2 = const ClusterManager( - clusterManagerId: ClusterManagerId('cm_2'), - ); - final Set prev = {cm1, cm2}; + var cm1 = const ClusterManager(clusterManagerId: ClusterManagerId('cm_1')); + var cm2 = const ClusterManager(clusterManagerId: ClusterManagerId('cm_2')); + final prev = {cm1, cm2}; cm1 = const ClusterManager(clusterManagerId: ClusterManagerId('cm_1')); cm2 = const ClusterManager(clusterManagerId: ClusterManagerId('cm_2')); - final Set cur = {cm1, cm2}; + final cur = {cm1, cm2}; await tester.pumpWidget(_mapWithClusterManagers(prev)); await tester.pumpWidget(_mapWithClusterManagers(cur)); @@ -173,18 +157,14 @@ void main() { // are added to [ClusterManager] in the future, this test will need to be // updated accordingly to check that changes are triggered. testWidgets('Partial update with same data', (WidgetTester tester) async { - const ClusterManager cm1 = ClusterManager( - clusterManagerId: ClusterManagerId('heatmap_1'), - ); - const ClusterManager cm2 = ClusterManager( - clusterManagerId: ClusterManagerId('heatmap_2'), - ); - ClusterManager cm3 = const ClusterManager( + const cm1 = ClusterManager(clusterManagerId: ClusterManagerId('heatmap_1')); + const cm2 = ClusterManager(clusterManagerId: ClusterManagerId('heatmap_2')); + var cm3 = const ClusterManager( clusterManagerId: ClusterManagerId('heatmap_3'), ); - final Set prev = {cm1, cm2, cm3}; + final prev = {cm1, cm2, cm3}; cm3 = const ClusterManager(clusterManagerId: ClusterManagerId('heatmap_3')); - final Set cur = {cm1, cm2, cm3}; + final cur = {cm1, cm2, cm3}; await tester.pumpWidget(_mapWithClusterManagers(prev)); await tester.pumpWidget(_mapWithClusterManagers(cur)); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/controller_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/controller_test.dart index 7c27597c11a..69734e6dc16 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/controller_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/controller_test.dart @@ -17,15 +17,13 @@ void main() { testWidgets('Subscriptions are canceled on dispose', ( WidgetTester tester, ) async { - final FakeGoogleMapsFlutterPlatform platform = - FakeGoogleMapsFlutterPlatform(); + final platform = FakeGoogleMapsFlutterPlatform(); GoogleMapsFlutterPlatform.instance = platform; - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); - final GoogleMap googleMap = GoogleMap( + final googleMap = GoogleMap( onMapCreated: (GoogleMapController controller) { controllerCompleter.complete(controller); }, diff --git a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart index e5a1fca9a30..4aedfdbb78f 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart @@ -574,7 +574,7 @@ void main() { }); testWidgets('Can update style', (WidgetTester tester) async { - const String initialStyle = '[]'; + const initialStyle = '[]'; await tester.pumpWidget( const Directionality( textDirection: TextDirection.ltr, diff --git a/packages/google_maps_flutter/google_maps_flutter/test/groundoverlay_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/groundoverlay_updates_test.dart index 9042c63bd59..b67118e81d3 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/groundoverlay_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/groundoverlay_updates_test.dart @@ -20,7 +20,7 @@ Widget _mapWithMarkers(Set groundOverlays) { } void main() { - final LatLngBounds kGroundOverlayBounds = LatLngBounds( + final kGroundOverlayBounds = LatLngBounds( southwest: const LatLng(37.77483, -122.41942), northeast: const LatLng(37.78183, -122.39105), ); @@ -33,7 +33,7 @@ void main() { }); testWidgets('Initializing a groundOverlay', (WidgetTester tester) async { - final GroundOverlay go1 = GroundOverlay.fromBounds( + final go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -46,7 +46,7 @@ void main() { zIndex: 10, ); - final GroundOverlay go2 = GroundOverlay.fromPosition( + final go2 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_2'), position: kGroundOverlayBounds.northeast, width: 100, @@ -81,7 +81,7 @@ void main() { }); testWidgets('Adding a groundOverlay', (WidgetTester tester) async { - final GroundOverlay go1 = GroundOverlay.fromBounds( + final go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -94,7 +94,7 @@ void main() { zIndex: 10, ); - final GroundOverlay go2 = GroundOverlay.fromPosition( + final go2 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_2'), position: kGroundOverlayBounds.northeast, width: 100, @@ -130,7 +130,7 @@ void main() { }); testWidgets('Removing a groundOverlay', (WidgetTester tester) async { - final GroundOverlay go1 = GroundOverlay.fromBounds( + final go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -158,7 +158,7 @@ void main() { }); testWidgets('Updating a groundOverlay', (WidgetTester tester) async { - final GroundOverlay go1 = GroundOverlay.fromBounds( + final go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -191,7 +191,7 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - GroundOverlay go1 = GroundOverlay.fromBounds( + var go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -204,7 +204,7 @@ void main() { zIndex: 10, ); - GroundOverlay go2 = GroundOverlay.fromPosition( + var go2 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_2'), position: kGroundOverlayBounds.northeast, width: 100, @@ -221,10 +221,10 @@ void main() { zoomLevel: 14.0, ); - final Set prev = {go1, go2}; + final prev = {go1, go2}; go1 = go1.copyWith(visibleParam: false); go2 = go2.copyWith(clickableParam: false); - final Set cur = {go1, go2}; + final cur = {go1, go2}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -240,7 +240,7 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - final GroundOverlay go1 = GroundOverlay.fromBounds( + final go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -253,7 +253,7 @@ void main() { zIndex: 10, ); - GroundOverlay go2 = GroundOverlay.fromPosition( + var go2 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_2'), position: kGroundOverlayBounds.northeast, width: 100, @@ -270,7 +270,7 @@ void main() { zoomLevel: 14.0, ); - final GroundOverlay go3 = GroundOverlay.fromPosition( + final go3 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_3'), position: kGroundOverlayBounds.southwest, width: 100, @@ -287,11 +287,11 @@ void main() { zoomLevel: 14.0, ); - final Set prev = {go2, go3}; + final prev = {go2, go3}; // go1 is added, go2 is updated, go3 is removed. go2 = go2.copyWith(clickableParam: false); - final Set cur = {go1, go2}; + final cur = {go1, go2}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -317,7 +317,7 @@ void main() { }); testWidgets('Partial Update', (WidgetTester tester) async { - final GroundOverlay go1 = GroundOverlay.fromBounds( + final go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -330,7 +330,7 @@ void main() { zIndex: 10, ); - final GroundOverlay go2 = GroundOverlay.fromPosition( + final go2 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_2'), position: kGroundOverlayBounds.northeast, width: 100, @@ -347,7 +347,7 @@ void main() { zoomLevel: 14.0, ); - GroundOverlay go3 = GroundOverlay.fromPosition( + var go3 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_3'), position: kGroundOverlayBounds.southwest, width: 100, @@ -363,9 +363,9 @@ void main() { zIndex: 10, zoomLevel: 14.0, ); - final Set prev = {go1, go2, go3}; + final prev = {go1, go2, go3}; go3 = go3.copyWith(visibleParam: false); - final Set cur = {go1, go2, go3}; + final cur = {go1, go2, go3}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -384,7 +384,7 @@ void main() { }); testWidgets('Update non platform related attr', (WidgetTester tester) async { - GroundOverlay go1 = GroundOverlay.fromBounds( + var go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -396,9 +396,9 @@ void main() { bearing: 10, zIndex: 10, ); - final Set prev = {go1}; + final prev = {go1}; go1 = go1.copyWith(onTapParam: () {}); - final Set cur = {go1}; + final cur = {go1}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -416,7 +416,7 @@ void main() { testWidgets('multi-update with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - final GroundOverlay go1 = GroundOverlay.fromBounds( + final go1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('go_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -429,7 +429,7 @@ void main() { zIndex: 10, ); - final GroundOverlay go2 = GroundOverlay.fromPosition( + final go2 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_2'), position: kGroundOverlayBounds.northeast, width: 100, @@ -446,7 +446,7 @@ void main() { zoomLevel: 14.0, ); - final GroundOverlay go3 = GroundOverlay.fromPosition( + final go3 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('go_3'), position: kGroundOverlayBounds.southwest, width: 100, diff --git a/packages/google_maps_flutter/google_maps_flutter/test/heatmap_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/heatmap_updates_test.dart index ec01bb67114..891468ced66 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/heatmap_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/heatmap_updates_test.dart @@ -45,7 +45,7 @@ void main() { }); testWidgets('Initializing a heatmap', (WidgetTester tester) async { - const Heatmap h1 = Heatmap( + const h1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), @@ -63,12 +63,12 @@ void main() { }); testWidgets('Adding a heatmap', (WidgetTester tester) async { - const Heatmap h1 = Heatmap( + const h1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - const Heatmap h2 = Heatmap( + const h2 = Heatmap( heatmapId: HeatmapId('heatmap_2'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), @@ -89,7 +89,7 @@ void main() { }); testWidgets('Removing a heatmap', (WidgetTester tester) async { - const Heatmap h1 = Heatmap( + const h1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), @@ -110,12 +110,12 @@ void main() { }); testWidgets('Updating a heatmap', (WidgetTester tester) async { - const Heatmap h1 = Heatmap( + const h1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - const Heatmap h2 = Heatmap( + const h2 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(10), @@ -133,12 +133,12 @@ void main() { }); testWidgets('Updating a heatmap', (WidgetTester tester) async { - const Heatmap h1 = Heatmap( + const h1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - const Heatmap h2 = Heatmap( + const h2 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(10), @@ -156,17 +156,17 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Heatmap h1 = const Heatmap( + var h1 = const Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - Heatmap h2 = const Heatmap( + var h2 = const Heatmap( heatmapId: HeatmapId('heatmap_2'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - final Set prev = {h1, h2}; + final prev = {h1, h2}; h1 = const Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, @@ -178,7 +178,7 @@ void main() { data: _heatmapPoints, radius: HeatmapRadius.fromPixels(10), ); - final Set cur = {h1, h2}; + final cur = {h1, h2}; await tester.pumpWidget(_mapWithHeatmaps(prev)); await tester.pumpWidget(_mapWithHeatmaps(cur)); @@ -191,20 +191,20 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Heatmap h2 = const Heatmap( + var h2 = const Heatmap( heatmapId: HeatmapId('heatmap_2'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - const Heatmap h3 = Heatmap( + const h3 = Heatmap( heatmapId: HeatmapId('heatmap_3'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - final Set prev = {h2, h3}; + final prev = {h2, h3}; // h1 is added, h2 is updated, h3 is removed. - const Heatmap h1 = Heatmap( + const h1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), @@ -214,7 +214,7 @@ void main() { data: _heatmapPoints, radius: HeatmapRadius.fromPixels(10), ); - final Set cur = {h1, h2}; + final cur = {h1, h2}; await tester.pumpWidget(_mapWithHeatmaps(prev)); await tester.pumpWidget(_mapWithHeatmaps(cur)); @@ -234,28 +234,28 @@ void main() { }); testWidgets('Partial Update', (WidgetTester tester) async { - const Heatmap h1 = Heatmap( + const h1 = Heatmap( heatmapId: HeatmapId('heatmap_1'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - const Heatmap h2 = Heatmap( + const h2 = Heatmap( heatmapId: HeatmapId('heatmap_2'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - Heatmap h3 = const Heatmap( + var h3 = const Heatmap( heatmapId: HeatmapId('heatmap_3'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(20), ); - final Set prev = {h1, h2, h3}; + final prev = {h1, h2, h3}; h3 = const Heatmap( heatmapId: HeatmapId('heatmap_3'), data: _heatmapPoints, radius: HeatmapRadius.fromPixels(10), ); - final Set cur = {h1, h2, h3}; + final cur = {h1, h2, h3}; await tester.pumpWidget(_mapWithHeatmaps(prev)); await tester.pumpWidget(_mapWithHeatmaps(cur)); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/marker_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/marker_updates_test.dart index ae87d1e7a3d..73755e4603f 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/marker_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/marker_updates_test.dart @@ -28,7 +28,7 @@ void main() { }); testWidgets('Initializing a marker', (WidgetTester tester) async { - const Marker m1 = Marker(markerId: MarkerId('marker_1')); + const m1 = Marker(markerId: MarkerId('marker_1')); await tester.pumpWidget(_mapWithMarkers({m1})); final PlatformMapStateRecorder map = platform.lastCreatedMap; @@ -41,8 +41,8 @@ void main() { }); testWidgets('Adding a marker', (WidgetTester tester) async { - const Marker m1 = Marker(markerId: MarkerId('marker_1')); - const Marker m2 = Marker(markerId: MarkerId('marker_2')); + const m1 = Marker(markerId: MarkerId('marker_1')); + const m2 = Marker(markerId: MarkerId('marker_2')); await tester.pumpWidget(_mapWithMarkers({m1})); await tester.pumpWidget(_mapWithMarkers({m1, m2})); @@ -59,7 +59,7 @@ void main() { }); testWidgets('Removing a marker', (WidgetTester tester) async { - const Marker m1 = Marker(markerId: MarkerId('marker_1')); + const m1 = Marker(markerId: MarkerId('marker_1')); await tester.pumpWidget(_mapWithMarkers({m1})); await tester.pumpWidget(_mapWithMarkers({})); @@ -73,8 +73,8 @@ void main() { }); testWidgets('Updating a marker', (WidgetTester tester) async { - const Marker m1 = Marker(markerId: MarkerId('marker_1')); - const Marker m2 = Marker(markerId: MarkerId('marker_1'), alpha: 0.5); + const m1 = Marker(markerId: MarkerId('marker_1')); + const m2 = Marker(markerId: MarkerId('marker_1'), alpha: 0.5); await tester.pumpWidget(_mapWithMarkers({m1})); await tester.pumpWidget(_mapWithMarkers({m2})); @@ -88,8 +88,8 @@ void main() { }); testWidgets('Updating a marker', (WidgetTester tester) async { - const Marker m1 = Marker(markerId: MarkerId('marker_1')); - const Marker m2 = Marker( + const m1 = Marker(markerId: MarkerId('marker_1')); + const m2 = Marker( markerId: MarkerId('marker_1'), infoWindow: InfoWindow(snippet: 'changed'), ); @@ -106,12 +106,12 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Marker m1 = const Marker(markerId: MarkerId('marker_1')); - Marker m2 = const Marker(markerId: MarkerId('marker_2')); - final Set prev = {m1, m2}; + var m1 = const Marker(markerId: MarkerId('marker_1')); + var m2 = const Marker(markerId: MarkerId('marker_2')); + final prev = {m1, m2}; m1 = const Marker(markerId: MarkerId('marker_1'), visible: false); m2 = const Marker(markerId: MarkerId('marker_2'), draggable: true); - final Set cur = {m1, m2}; + final cur = {m1, m2}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -124,14 +124,14 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Marker m2 = const Marker(markerId: MarkerId('marker_2')); - const Marker m3 = Marker(markerId: MarkerId('marker_3')); - final Set prev = {m2, m3}; + var m2 = const Marker(markerId: MarkerId('marker_2')); + const m3 = Marker(markerId: MarkerId('marker_3')); + final prev = {m2, m3}; // m1 is added, m2 is updated, m3 is removed. - const Marker m1 = Marker(markerId: MarkerId('marker_1')); + const m1 = Marker(markerId: MarkerId('marker_1')); m2 = const Marker(markerId: MarkerId('marker_2'), draggable: true); - final Set cur = {m1, m2}; + final cur = {m1, m2}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -148,12 +148,12 @@ void main() { }); testWidgets('Partial Update', (WidgetTester tester) async { - const Marker m1 = Marker(markerId: MarkerId('marker_1')); - const Marker m2 = Marker(markerId: MarkerId('marker_2')); - Marker m3 = const Marker(markerId: MarkerId('marker_3')); - final Set prev = {m1, m2, m3}; + const m1 = Marker(markerId: MarkerId('marker_1')); + const m2 = Marker(markerId: MarkerId('marker_2')); + var m3 = const Marker(markerId: MarkerId('marker_3')); + final prev = {m1, m2, m3}; m3 = const Marker(markerId: MarkerId('marker_3'), draggable: true); - final Set cur = {m1, m2, m3}; + final cur = {m1, m2, m3}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -166,14 +166,14 @@ void main() { }); testWidgets('Update non platform related attr', (WidgetTester tester) async { - Marker m1 = const Marker(markerId: MarkerId('marker_1')); - final Set prev = {m1}; + var m1 = const Marker(markerId: MarkerId('marker_1')); + final prev = {m1}; m1 = Marker( markerId: const MarkerId('marker_1'), onTap: () {}, onDragEnd: (LatLng latLng) {}, ); - final Set cur = {m1}; + final cur = {m1}; await tester.pumpWidget(_mapWithMarkers(prev)); await tester.pumpWidget(_mapWithMarkers(cur)); @@ -188,13 +188,10 @@ void main() { testWidgets('multi-update with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Marker m1 = Marker(markerId: MarkerId('marker_1')); - const Marker m2 = Marker(markerId: MarkerId('marker_2')); - const Marker m3 = Marker(markerId: MarkerId('marker_3')); - const Marker m3updated = Marker( - markerId: MarkerId('marker_3'), - draggable: true, - ); + const m1 = Marker(markerId: MarkerId('marker_1')); + const m2 = Marker(markerId: MarkerId('marker_2')); + const m3 = Marker(markerId: MarkerId('marker_3')); + const m3updated = Marker(markerId: MarkerId('marker_3'), draggable: true); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithMarkers({m1, m2})); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/polygon_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/polygon_updates_test.dart index 778a89e2d17..e174d9d10de 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/polygon_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/polygon_updates_test.dart @@ -51,7 +51,7 @@ void main() { }); testWidgets('Initializing a polygon', (WidgetTester tester) async { - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p1 = Polygon(polygonId: PolygonId('polygon_1')); await tester.pumpWidget(_mapWithPolygons({p1})); final PlatformMapStateRecorder map = platform.lastCreatedMap; @@ -65,8 +65,8 @@ void main() { }); testWidgets('Adding a polygon', (WidgetTester tester) async { - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); - const Polygon p2 = Polygon(polygonId: PolygonId('polygon_2')); + const p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p2 = Polygon(polygonId: PolygonId('polygon_2')); await tester.pumpWidget(_mapWithPolygons({p1})); await tester.pumpWidget(_mapWithPolygons({p1, p2})); @@ -83,7 +83,7 @@ void main() { }); testWidgets('Removing a polygon', (WidgetTester tester) async { - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p1 = Polygon(polygonId: PolygonId('polygon_1')); await tester.pumpWidget(_mapWithPolygons({p1})); await tester.pumpWidget(_mapWithPolygons({})); @@ -100,11 +100,8 @@ void main() { }); testWidgets('Updating a polygon', (WidgetTester tester) async { - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); - const Polygon p2 = Polygon( - polygonId: PolygonId('polygon_1'), - geodesic: true, - ); + const p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p2 = Polygon(polygonId: PolygonId('polygon_1'), geodesic: true); await tester.pumpWidget(_mapWithPolygons({p1})); await tester.pumpWidget(_mapWithPolygons({p2})); @@ -118,11 +115,8 @@ void main() { }); testWidgets('Mutate a polygon', (WidgetTester tester) async { - final List points = [const LatLng(0.0, 0.0)]; - final Polygon p1 = Polygon( - polygonId: const PolygonId('polygon_1'), - points: points, - ); + final points = [const LatLng(0.0, 0.0)]; + final p1 = Polygon(polygonId: const PolygonId('polygon_1'), points: points); await tester.pumpWidget(_mapWithPolygons({p1})); p1.points.add(const LatLng(1.0, 1.0)); @@ -137,12 +131,12 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Polygon p1 = const Polygon(polygonId: PolygonId('polygon_1')); - Polygon p2 = const Polygon(polygonId: PolygonId('polygon_2')); - final Set prev = {p1, p2}; + var p1 = const Polygon(polygonId: PolygonId('polygon_1')); + var p2 = const Polygon(polygonId: PolygonId('polygon_2')); + final prev = {p1, p2}; p1 = const Polygon(polygonId: PolygonId('polygon_1'), visible: false); p2 = const Polygon(polygonId: PolygonId('polygon_2'), geodesic: true); - final Set cur = {p1, p2}; + final cur = {p1, p2}; await tester.pumpWidget(_mapWithPolygons(prev)); await tester.pumpWidget(_mapWithPolygons(cur)); @@ -155,14 +149,14 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Polygon p2 = const Polygon(polygonId: PolygonId('polygon_2')); - const Polygon p3 = Polygon(polygonId: PolygonId('polygon_3')); - final Set prev = {p2, p3}; + var p2 = const Polygon(polygonId: PolygonId('polygon_2')); + const p3 = Polygon(polygonId: PolygonId('polygon_3')); + final prev = {p2, p3}; // p1 is added, p2 is updated, p3 is removed. - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p1 = Polygon(polygonId: PolygonId('polygon_1')); p2 = const Polygon(polygonId: PolygonId('polygon_2'), geodesic: true); - final Set cur = {p1, p2}; + final cur = {p1, p2}; await tester.pumpWidget(_mapWithPolygons(prev)); await tester.pumpWidget(_mapWithPolygons(cur)); @@ -182,12 +176,12 @@ void main() { }); testWidgets('Partial Update', (WidgetTester tester) async { - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); - const Polygon p2 = Polygon(polygonId: PolygonId('polygon_2')); - Polygon p3 = const Polygon(polygonId: PolygonId('polygon_3')); - final Set prev = {p1, p2, p3}; + const p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p2 = Polygon(polygonId: PolygonId('polygon_2')); + var p3 = const Polygon(polygonId: PolygonId('polygon_3')); + final prev = {p1, p2, p3}; p3 = const Polygon(polygonId: PolygonId('polygon_3'), geodesic: true); - final Set cur = {p1, p2, p3}; + final cur = {p1, p2, p3}; await tester.pumpWidget(_mapWithPolygons(prev)); await tester.pumpWidget(_mapWithPolygons(cur)); @@ -200,10 +194,10 @@ void main() { }); testWidgets('Update non platform related attr', (WidgetTester tester) async { - Polygon p1 = const Polygon(polygonId: PolygonId('polygon_1')); - final Set prev = {p1}; + var p1 = const Polygon(polygonId: PolygonId('polygon_1')); + final prev = {p1}; p1 = Polygon(polygonId: const PolygonId('polygon_1'), onTap: () {}); - final Set cur = {p1}; + final cur = {p1}; await tester.pumpWidget(_mapWithPolygons(prev)); await tester.pumpWidget(_mapWithPolygons(cur)); @@ -234,7 +228,7 @@ void main() { testWidgets('Adding a polygon with points and hole', ( WidgetTester tester, ) async { - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p1 = Polygon(polygonId: PolygonId('polygon_1')); final Polygon p2 = _polygonWithPointsAndHole(const PolygonId('polygon_2')); await tester.pumpWidget(_mapWithPolygons({p1})); @@ -273,7 +267,7 @@ void main() { testWidgets('Updating a polygon by adding points and hole', ( WidgetTester tester, ) async { - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p1 = Polygon(polygonId: PolygonId('polygon_1')); final Polygon p2 = _polygonWithPointsAndHole(const PolygonId('polygon_1')); await tester.pumpWidget(_mapWithPolygons({p1})); @@ -290,7 +284,7 @@ void main() { testWidgets('Mutate a polygon with points and holes', ( WidgetTester tester, ) async { - final Polygon p1 = Polygon( + final p1 = Polygon( polygonId: const PolygonId('polygon_1'), points: _rectPoints(size: 1), holes: >[_rectPoints(size: 0.5)], @@ -316,19 +310,19 @@ void main() { testWidgets('Multi Update polygons with points and hole', ( WidgetTester tester, ) async { - Polygon p1 = const Polygon(polygonId: PolygonId('polygon_1')); - Polygon p2 = Polygon( + var p1 = const Polygon(polygonId: PolygonId('polygon_1')); + var p2 = Polygon( polygonId: const PolygonId('polygon_2'), points: _rectPoints(size: 2), holes: >[_rectPoints(size: 1)], ); - final Set prev = {p1, p2}; + final prev = {p1, p2}; p1 = const Polygon(polygonId: PolygonId('polygon_1'), visible: false); p2 = p2.copyWith( pointsParam: _rectPoints(size: 5), holesParam: >[_rectPoints(size: 2)], ); - final Set cur = {p1, p2}; + final cur = {p1, p2}; await tester.pumpWidget(_mapWithPolygons(prev)); await tester.pumpWidget(_mapWithPolygons(cur)); @@ -343,13 +337,13 @@ void main() { testWidgets('Multi Update polygons with points and hole', ( WidgetTester tester, ) async { - Polygon p2 = Polygon( + var p2 = Polygon( polygonId: const PolygonId('polygon_2'), points: _rectPoints(size: 2), holes: >[_rectPoints(size: 1)], ); - const Polygon p3 = Polygon(polygonId: PolygonId('polygon_3')); - final Set prev = {p2, p3}; + const p3 = Polygon(polygonId: PolygonId('polygon_3')); + final prev = {p2, p3}; // p1 is added, p2 is updated, p3 is removed. final Polygon p1 = _polygonWithPointsAndHole(const PolygonId('polygon_1')); @@ -357,7 +351,7 @@ void main() { pointsParam: _rectPoints(size: 5), holesParam: >[_rectPoints(size: 3)], ); - final Set cur = {p1, p2}; + final cur = {p1, p2}; await tester.pumpWidget(_mapWithPolygons(prev)); await tester.pumpWidget(_mapWithPolygons(cur)); @@ -380,18 +374,18 @@ void main() { WidgetTester tester, ) async { final Polygon p1 = _polygonWithPointsAndHole(const PolygonId('polygon_1')); - const Polygon p2 = Polygon(polygonId: PolygonId('polygon_2')); - Polygon p3 = Polygon( + const p2 = Polygon(polygonId: PolygonId('polygon_2')); + var p3 = Polygon( polygonId: const PolygonId('polygon_3'), points: _rectPoints(size: 2), holes: >[_rectPoints(size: 1)], ); - final Set prev = {p1, p2, p3}; + final prev = {p1, p2, p3}; p3 = p3.copyWith( pointsParam: _rectPoints(size: 5), holesParam: >[_rectPoints(size: 3)], ); - final Set cur = {p1, p2, p3}; + final cur = {p1, p2, p3}; await tester.pumpWidget(_mapWithPolygons(prev)); await tester.pumpWidget(_mapWithPolygons(cur)); @@ -406,13 +400,10 @@ void main() { testWidgets('multi-update with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); - const Polygon p2 = Polygon(polygonId: PolygonId('polygon_2')); - const Polygon p3 = Polygon( - polygonId: PolygonId('polygon_3'), - strokeWidth: 1, - ); - const Polygon p3updated = Polygon( + const p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p2 = Polygon(polygonId: PolygonId('polygon_2')); + const p3 = Polygon(polygonId: PolygonId('polygon_3'), strokeWidth: 1); + const p3updated = Polygon( polygonId: PolygonId('polygon_3'), strokeWidth: 2, ); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/polyline_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/polyline_updates_test.dart index 9c00e61e2e4..42da2d46945 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/polyline_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/polyline_updates_test.dart @@ -28,7 +28,7 @@ void main() { }); testWidgets('Initializing a polyline', (WidgetTester tester) async { - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); await tester.pumpWidget(_mapWithPolylines({p1})); final PlatformMapStateRecorder map = platform.lastCreatedMap; @@ -42,8 +42,8 @@ void main() { }); testWidgets('Adding a polyline', (WidgetTester tester) async { - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); - const Polyline p2 = Polyline(polylineId: PolylineId('polyline_2')); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p2 = Polyline(polylineId: PolylineId('polyline_2')); await tester.pumpWidget(_mapWithPolylines({p1})); await tester.pumpWidget(_mapWithPolylines({p1, p2})); @@ -61,7 +61,7 @@ void main() { }); testWidgets('Removing a polyline', (WidgetTester tester) async { - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); await tester.pumpWidget(_mapWithPolylines({p1})); await tester.pumpWidget(_mapWithPolylines({})); @@ -78,11 +78,8 @@ void main() { }); testWidgets('Updating a polyline', (WidgetTester tester) async { - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); - const Polyline p2 = Polyline( - polylineId: PolylineId('polyline_1'), - geodesic: true, - ); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p2 = Polyline(polylineId: PolylineId('polyline_1'), geodesic: true); await tester.pumpWidget(_mapWithPolylines({p1})); await tester.pumpWidget(_mapWithPolylines({p2})); @@ -96,11 +93,8 @@ void main() { }); testWidgets('Updating a polyline', (WidgetTester tester) async { - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); - const Polyline p2 = Polyline( - polylineId: PolylineId('polyline_1'), - geodesic: true, - ); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p2 = Polyline(polylineId: PolylineId('polyline_1'), geodesic: true); await tester.pumpWidget(_mapWithPolylines({p1})); await tester.pumpWidget(_mapWithPolylines({p2})); @@ -114,8 +108,8 @@ void main() { }); testWidgets('Mutate a polyline', (WidgetTester tester) async { - final List points = [const LatLng(0.0, 0.0)]; - final Polyline p1 = Polyline( + final points = [const LatLng(0.0, 0.0)]; + final p1 = Polyline( polylineId: const PolylineId('polyline_1'), points: points, ); @@ -133,12 +127,12 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Polyline p1 = const Polyline(polylineId: PolylineId('polyline_1')); - Polyline p2 = const Polyline(polylineId: PolylineId('polyline_2')); - final Set prev = {p1, p2}; + var p1 = const Polyline(polylineId: PolylineId('polyline_1')); + var p2 = const Polyline(polylineId: PolylineId('polyline_2')); + final prev = {p1, p2}; p1 = const Polyline(polylineId: PolylineId('polyline_1'), visible: false); p2 = const Polyline(polylineId: PolylineId('polyline_2'), geodesic: true); - final Set cur = {p1, p2}; + final cur = {p1, p2}; await tester.pumpWidget(_mapWithPolylines(prev)); await tester.pumpWidget(_mapWithPolylines(cur)); @@ -151,14 +145,14 @@ void main() { }); testWidgets('Multi Update', (WidgetTester tester) async { - Polyline p2 = const Polyline(polylineId: PolylineId('polyline_2')); - const Polyline p3 = Polyline(polylineId: PolylineId('polyline_3')); - final Set prev = {p2, p3}; + var p2 = const Polyline(polylineId: PolylineId('polyline_2')); + const p3 = Polyline(polylineId: PolylineId('polyline_3')); + final prev = {p2, p3}; // p1 is added, p2 is updated, p3 is removed. - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); p2 = const Polyline(polylineId: PolylineId('polyline_2'), geodesic: true); - final Set cur = {p1, p2}; + final cur = {p1, p2}; await tester.pumpWidget(_mapWithPolylines(prev)); await tester.pumpWidget(_mapWithPolylines(cur)); @@ -178,12 +172,12 @@ void main() { }); testWidgets('Partial Update', (WidgetTester tester) async { - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); - const Polyline p2 = Polyline(polylineId: PolylineId('polyline_2')); - Polyline p3 = const Polyline(polylineId: PolylineId('polyline_3')); - final Set prev = {p1, p2, p3}; + const p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p2 = Polyline(polylineId: PolylineId('polyline_2')); + var p3 = const Polyline(polylineId: PolylineId('polyline_3')); + final prev = {p1, p2, p3}; p3 = const Polyline(polylineId: PolylineId('polyline_3'), geodesic: true); - final Set cur = {p1, p2, p3}; + final cur = {p1, p2, p3}; await tester.pumpWidget(_mapWithPolylines(prev)); await tester.pumpWidget(_mapWithPolylines(cur)); @@ -196,10 +190,10 @@ void main() { }); testWidgets('Update non platform related attr', (WidgetTester tester) async { - Polyline p1 = const Polyline(polylineId: PolylineId('polyline_1')); - final Set prev = {p1}; + var p1 = const Polyline(polylineId: PolylineId('polyline_1')); + final prev = {p1}; p1 = Polyline(polylineId: const PolylineId('polyline_1'), onTap: () {}); - final Set cur = {p1}; + final cur = {p1}; await tester.pumpWidget(_mapWithPolylines(prev)); await tester.pumpWidget(_mapWithPolylines(cur)); @@ -214,16 +208,10 @@ void main() { testWidgets('multi-update with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); - const Polyline p2 = Polyline(polylineId: PolylineId('polyline_2')); - const Polyline p3 = Polyline( - polylineId: PolylineId('polyline_3'), - width: 1, - ); - const Polyline p3updated = Polyline( - polylineId: PolylineId('polyline_3'), - width: 2, - ); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p2 = Polyline(polylineId: PolylineId('polyline_2')); + const p3 = Polyline(polylineId: PolylineId('polyline_3'), width: 1); + const p3updated = Polyline(polylineId: PolylineId('polyline_3'), width: 2); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithPolylines({p1, p2})); diff --git a/packages/google_maps_flutter/google_maps_flutter/test/tile_overlay_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/tile_overlay_updates_test.dart index 28b27345175..ff9889eed39 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/tile_overlay_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/tile_overlay_updates_test.dart @@ -28,9 +28,7 @@ void main() { }); testWidgets('Initializing a tile overlay', (WidgetTester tester) async { - const TileOverlay t1 = TileOverlay( - tileOverlayId: TileOverlayId('tile_overlay_1'), - ); + const t1 = TileOverlay(tileOverlayId: TileOverlayId('tile_overlay_1')); await tester.pumpWidget(_mapWithTileOverlays({t1})); final PlatformMapStateRecorder map = platform.lastCreatedMap; @@ -38,12 +36,8 @@ void main() { }); testWidgets('Adding a tile overlay', (WidgetTester tester) async { - const TileOverlay t1 = TileOverlay( - tileOverlayId: TileOverlayId('tile_overlay_1'), - ); - const TileOverlay t2 = TileOverlay( - tileOverlayId: TileOverlayId('tile_overlay_2'), - ); + const t1 = TileOverlay(tileOverlayId: TileOverlayId('tile_overlay_1')); + const t2 = TileOverlay(tileOverlayId: TileOverlayId('tile_overlay_2')); await tester.pumpWidget(_mapWithTileOverlays({t1})); await tester.pumpWidget(_mapWithTileOverlays({t1, t2})); @@ -53,9 +47,7 @@ void main() { }); testWidgets('Removing a tile overlay', (WidgetTester tester) async { - const TileOverlay t1 = TileOverlay( - tileOverlayId: TileOverlayId('tile_overlay_1'), - ); + const t1 = TileOverlay(tileOverlayId: TileOverlayId('tile_overlay_1')); await tester.pumpWidget(_mapWithTileOverlays({t1})); await tester.pumpWidget(_mapWithTileOverlays({})); @@ -65,10 +57,8 @@ void main() { }); testWidgets('Updating a tile overlay', (WidgetTester tester) async { - const TileOverlay t1 = TileOverlay( - tileOverlayId: TileOverlayId('tile_overlay_1'), - ); - const TileOverlay t2 = TileOverlay( + const t1 = TileOverlay(tileOverlayId: TileOverlayId('tile_overlay_1')); + const t2 = TileOverlay( tileOverlayId: TileOverlayId('tile_overlay_1'), zIndex: 10, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/integration_test/google_maps_test.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/integration_test/google_maps_test.dart index d421bcf9718..70c1020ab5a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/integration_test/google_maps_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/integration_test/google_maps_test.dart @@ -51,7 +51,7 @@ void main() { GoogleMapsFlutterPlatform.instance.enableDebugInspection(); setUpAll(() async { - final GoogleMapsFlutterAndroid instance = + final instance = GoogleMapsFlutterPlatform.instance as GoogleMapsFlutterAndroid; initializedRenderer = await instance.initializeWithRenderer( AndroidMapRenderer.latest, @@ -73,7 +73,7 @@ void main() { testWidgets('throws PlatformException on multiple renderer initializations', ( WidgetTester _, ) async { - final GoogleMapsFlutterAndroid instance = + final instance = GoogleMapsFlutterPlatform.instance as GoogleMapsFlutterAndroid; expect( () async => instance.initializeWithRenderer(AndroidMapRenderer.latest), @@ -102,7 +102,7 @@ void main() { bool Function(T) predicate, { int maxTries = 100, }) async { - for (int i = 0; i < maxTries; i++) { + for (var i = 0; i < maxTries; i++) { final T value = await getValue(); if (predicate(value)) { return value; @@ -113,14 +113,14 @@ void main() { } testWidgets('uses surface view', (WidgetTester tester) async { - final GoogleMapsFlutterAndroid instance = + final instance = GoogleMapsFlutterPlatform.instance as GoogleMapsFlutterAndroid; final bool previousUseAndroidViewSurfaceValue = instance.useAndroidViewSurface; instance.useAndroidViewSurface = true; final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -150,7 +150,7 @@ void main() { testWidgets('testCompassToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -190,7 +190,7 @@ void main() { testWidgets('testMapToolbarToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -231,11 +231,10 @@ void main() { testWidgets('updateMinMaxZoomLevels', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); - const MinMaxZoomPreference initialZoomLevel = MinMaxZoomPreference(4, 8); - const MinMaxZoomPreference finalZoomLevel = MinMaxZoomPreference(6, 10); + const initialZoomLevel = MinMaxZoomPreference(4, 8); + const finalZoomLevel = MinMaxZoomPreference(6, 10); await tester.pumpWidget( Directionality( @@ -292,7 +291,7 @@ void main() { testWidgets('testZoomGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -335,7 +334,7 @@ void main() { testWidgets('testZoomControlsEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -378,7 +377,7 @@ void main() { testWidgets('testLiteModeEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -419,7 +418,7 @@ void main() { testWidgets('testRotateGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -464,7 +463,7 @@ void main() { testWidgets('testTiltGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -507,7 +506,7 @@ void main() { testWidgets('testScrollGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -553,8 +552,7 @@ void main() { testWidgets('testInitialCenterLocationAtCenter', (WidgetTester tester) async { await tester.binding.setSurfaceSize(const Size(800, 600)); - final Completer mapControllerCompleter = - Completer(); + final mapControllerCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( Directionality( @@ -598,13 +596,12 @@ void main() { testWidgets('testGetVisibleRegion', (WidgetTester tester) async { final Key key = GlobalKey(); - final LatLngBounds zeroLatLngBounds = LatLngBounds( + final zeroLatLngBounds = LatLngBounds( southwest: const LatLng(0, 0), northeast: const LatLng(0, 0), ); - final Completer mapControllerCompleter = - Completer(); + final mapControllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -638,15 +635,15 @@ void main() { // Making a new `LatLngBounds` about (10, 10) distance south west to the `firstVisibleRegion`. // The size of the `LatLngBounds` is 10 by 10. - final LatLng southWest = LatLng( + final southWest = LatLng( firstVisibleRegion.southwest.latitude - 20, firstVisibleRegion.southwest.longitude - 20, ); - final LatLng northEast = LatLng( + final northEast = LatLng( firstVisibleRegion.southwest.latitude - 10, firstVisibleRegion.southwest.longitude - 10, ); - final LatLng newCenter = LatLng( + final newCenter = LatLng( (northEast.latitude + southWest.latitude) / 2, (northEast.longitude + southWest.longitude) / 2, ); @@ -654,7 +651,7 @@ void main() { expect(firstVisibleRegion.contains(northEast), isFalse); expect(firstVisibleRegion.contains(southWest), isFalse); - final LatLngBounds latLngBounds = LatLngBounds( + final latLngBounds = LatLngBounds( southwest: southWest, northeast: northEast, ); @@ -678,7 +675,7 @@ void main() { testWidgets('testTraffic', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -719,7 +716,7 @@ void main() { testWidgets('testBuildings', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -747,7 +744,7 @@ void main() { 'testMyLocationButtonToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -797,7 +794,7 @@ void main() { 'testMyLocationButton initial value false', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -828,7 +825,7 @@ void main() { 'testMyLocationButton initial value true', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -856,8 +853,7 @@ void main() { testWidgets('testSetMapStyle valid Json String', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -874,7 +870,7 @@ void main() { final ExampleGoogleMapController controller = await controllerCompleter.future; - const String mapStyle = + const mapStyle = '[{"elementType":"geometry","stylers":[{"color":"#242f3e"}]}]'; await GoogleMapsFlutterPlatform.instance.setMapStyle( mapStyle, @@ -886,8 +882,7 @@ void main() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -919,8 +914,7 @@ void main() { testWidgets('testSetMapStyle null string', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -945,8 +939,7 @@ void main() { testWidgets('testGetLatLng', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -974,7 +967,7 @@ void main() { final LatLng topLeft = await controller.getLatLng( const ScreenCoordinate(x: 0, y: 0), ); - final LatLng northWest = LatLng( + final northWest = LatLng( visibleRegion.northeast.latitude, visibleRegion.southwest.longitude, ); @@ -984,8 +977,7 @@ void main() { testWidgets('testGetZoomLevel', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1020,8 +1012,7 @@ void main() { testWidgets('testScreenCoordinate', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1045,7 +1036,7 @@ void main() { await Future.delayed(const Duration(seconds: 1)); final LatLngBounds visibleRegion = await controller.getVisibleRegion(); - final LatLng northWest = LatLng( + final northWest = LatLng( visibleRegion.northeast.latitude, visibleRegion.southwest.longitude, ); @@ -1056,9 +1047,8 @@ void main() { }); testWidgets('testResizeWidget', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final ExampleGoogleMap map = ExampleGoogleMap( + final controllerCompleter = Completer(); + final map = ExampleGoogleMap( initialCameraPosition: _kInitialCameraPosition, onMapCreated: (ExampleGoogleMapController controller) async { controllerCompleter.complete(controller); @@ -1097,14 +1087,13 @@ void main() { }); testWidgets('testToggleInfoWindow', (WidgetTester tester) async { - const Marker marker = Marker( + const marker = Marker( markerId: MarkerId('marker'), infoWindow: InfoWindow(title: 'InfoWindow'), ); - final Set markers = {marker}; + final markers = {marker}; - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1157,8 +1146,7 @@ void main() { testWidgets( 'testTakeSnapshot', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1185,15 +1173,15 @@ void main() { ); testWidgets('set tileOverlay correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); - final TileOverlay tileOverlay1 = TileOverlay( + final mapIdCompleter = Completer(); + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, transparency: 0.2, ); - final TileOverlay tileOverlay2 = TileOverlay( + final tileOverlay2 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_2'), tileProvider: _DebugTileProvider(), zIndex: 1, @@ -1246,16 +1234,16 @@ void main() { }); testWidgets('update tileOverlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); - final TileOverlay tileOverlay1 = TileOverlay( + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, transparency: 0.2, ); - final TileOverlay tileOverlay2 = TileOverlay( + final tileOverlay2 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_2'), tileProvider: _DebugTileProvider(), zIndex: 3, @@ -1279,7 +1267,7 @@ void main() { final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; - final TileOverlay tileOverlay1New = TileOverlay( + final tileOverlay1New = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 1, @@ -1325,9 +1313,9 @@ void main() { }); testWidgets('remove tileOverlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); - final TileOverlay tileOverlay1 = TileOverlay( + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, @@ -1376,27 +1364,21 @@ void main() { testWidgets('marker clustering', (WidgetTester tester) async { final Key key = GlobalKey(); - const int clusterManagersAmount = 2; - const int markersPerClusterManager = 5; - final Map markers = {}; - final Set clusterManagers = {}; - - for (int i = 0; i < clusterManagersAmount; i++) { - final ClusterManagerId clusterManagerId = ClusterManagerId( - 'cluster_manager_$i', - ); - final ClusterManager clusterManager = ClusterManager( - clusterManagerId: clusterManagerId, - ); + const clusterManagersAmount = 2; + const markersPerClusterManager = 5; + final markers = {}; + final clusterManagers = {}; + + for (var i = 0; i < clusterManagersAmount; i++) { + final clusterManagerId = ClusterManagerId('cluster_manager_$i'); + final clusterManager = ClusterManager(clusterManagerId: clusterManagerId); clusterManagers.add(clusterManager); } - for (final ClusterManager cm in clusterManagers) { - for (int i = 0; i < markersPerClusterManager; i++) { - final MarkerId markerId = MarkerId( - '${cm.clusterManagerId.value}_marker_$i', - ); - final Marker marker = Marker( + for (final cm in clusterManagers) { + for (var i = 0; i < markersPerClusterManager; i++) { + final markerId = MarkerId('${cm.clusterManagerId.value}_marker_$i'); + final marker = Marker( markerId: markerId, clusterManagerId: cm.clusterManagerId, position: LatLng( @@ -1408,8 +1390,7 @@ void main() { } } - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1432,7 +1413,7 @@ void main() { final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; - for (final ClusterManager cm in clusterManagers) { + for (final cm in clusterManagers) { final List clusters = await inspector.getClusters( mapId: controller.mapId, clusterManagerId: cm.clusterManagerId, @@ -1459,7 +1440,7 @@ void main() { ), ); - for (final ClusterManager cm in clusterManagers) { + for (final cm in clusterManagers) { final List clusters = await inspector.getClusters( mapId: controller.mapId, clusterManagerId: cm.clusterManagerId, @@ -1469,7 +1450,7 @@ void main() { }); testWidgets('testCloudMapId', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -1493,8 +1474,7 @@ void main() { testWidgets('getStyleError reports last error', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1513,7 +1493,7 @@ void main() { final ExampleGoogleMapController controller = await controllerCompleter.future; String? error = await controller.getStyleError(); - for (int i = 0; i < 1000 && error == null; i++) { + for (var i = 0; i < 1000 && error == null; i++) { await Future.delayed(const Duration(milliseconds: 10)); error = await controller.getStyleError(); } @@ -1524,8 +1504,7 @@ void main() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1549,7 +1528,7 @@ void main() { }); testWidgets('markerWithAssetMapBitmap', (WidgetTester tester) async { - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: AssetMapBitmap('assets/red_square.png', imagePixelRatio: 1.0), @@ -1569,10 +1548,10 @@ void main() { }); testWidgets('markerWithAssetMapBitmapCreate', (WidgetTester tester) async { - final ImageConfiguration imageConfiguration = ImageConfiguration( + final imageConfiguration = ImageConfiguration( devicePixelRatio: tester.view.devicePixelRatio, ); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: await AssetMapBitmap.create( @@ -1596,7 +1575,7 @@ void main() { testWidgets('markerWithBytesMapBitmap', (WidgetTester tester) async { final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: BytesMapBitmap( @@ -1620,11 +1599,11 @@ void main() { testWidgets('markerWithLegacyAsset', (WidgetTester tester) async { tester.view.devicePixelRatio = 2.0; - final ImageConfiguration imageConfiguration = ImageConfiguration( + final imageConfiguration = ImageConfiguration( devicePixelRatio: tester.view.devicePixelRatio, size: const Size(100, 100), ); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), // Intentionally testing the deprecated code path. @@ -1653,7 +1632,7 @@ void main() { testWidgets('markerWithLegacyBytes', (WidgetTester tester) async { tester.view.devicePixelRatio = 2.0; final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), // Intentionally testing the deprecated code path. @@ -1677,12 +1656,12 @@ void main() { }); group('GroundOverlay', () { - final LatLngBounds kGroundOverlayBounds = LatLngBounds( + final kGroundOverlayBounds = LatLngBounds( southwest: const LatLng(37.77483, -122.41942), northeast: const LatLng(37.78183, -122.39105), ); - final GroundOverlay groundOverlayBounds1 = GroundOverlay.fromBounds( + final groundOverlayBounds1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('bounds_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -1692,7 +1671,7 @@ void main() { ), ); - final GroundOverlay groundOverlayPosition1 = GroundOverlay.fromPosition( + final groundOverlayPosition1 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('position_1'), position: kGroundOverlayBounds.northeast, width: 100, @@ -1747,8 +1726,8 @@ void main() { } testWidgets('set ground overlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); - final GroundOverlay groundOverlayBounds2 = GroundOverlay.fromBounds( + final mapIdCompleter = Completer(); + final groundOverlayBounds2 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('bounds_2'), bounds: groundOverlayBounds1.bounds!, image: groundOverlayBounds1.image, @@ -1805,7 +1784,7 @@ void main() { testWidgets('update ground overlays correctly', ( WidgetTester tester, ) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -1889,7 +1868,7 @@ void main() { testWidgets('remove ground overlays correctly', ( WidgetTester tester, ) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -1944,8 +1923,7 @@ void main() { 'testAnimateCameraWithoutDuration', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; @@ -2039,16 +2017,15 @@ void main() { 'testAnimateCameraWithDuration', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; /// Completer to track when the camera has come to rest. Completer? cameraIdleCompleter; - const int shortCameraAnimationDurationMS = 200; - const int longCameraAnimationDurationMS = 1000; + const shortCameraAnimationDurationMS = 200; + const longCameraAnimationDurationMS = 1000; /// Calculate the midpoint duration of the animation test, which will /// serve as a reference to verify that animations complete more quickly @@ -2057,7 +2034,7 @@ void main() { (shortCameraAnimationDurationMS + longCameraAnimationDurationMS) ~/ 2; // Stopwatch to measure the time taken for the animation to complete. - final Stopwatch stopwatch = Stopwatch(); + final stopwatch = Stopwatch(); await tester.pumpWidget( Directionality( @@ -2200,10 +2177,10 @@ class _DebugTileProvider implements TileProvider { @override Future getTile(int x, int y, int? zoom) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final TextSpan textSpan = TextSpan(text: '$x,$y', style: textStyle); - final TextPainter textPainter = TextPainter( + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final textSpan = TextSpan(text: '$x,$y', style: textStyle); + final textPainter = TextPainter( text: textSpan, textDirection: TextDirection.ltr, ); @@ -2285,7 +2262,7 @@ Future _checkCameraUpdateByType( ) async { // As the target might differ a bit from the expected target, a threshold is // used. - const double latLngThreshold = 0.05; + const latLngThreshold = 0.05; switch (type) { case CameraUpdateType.newCameraPosition: diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/clustering.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/clustering.dart index ca60d810373..3aa9b8b5409 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/clustering.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/clustering.dart @@ -122,14 +122,11 @@ class ClusteringBodyState extends State { return; } - final String clusterManagerIdVal = - 'cluster_manager_id_$_clusterManagerIdCounter'; + final clusterManagerIdVal = 'cluster_manager_id_$_clusterManagerIdCounter'; _clusterManagerIdCounter++; - final ClusterManagerId clusterManagerId = ClusterManagerId( - clusterManagerIdVal, - ); + final clusterManagerId = ClusterManagerId(clusterManagerIdVal); - final ClusterManager clusterManager = ClusterManager( + final clusterManager = ClusterManager( clusterManagerId: clusterManagerId, onClusterTap: (Cluster cluster) => setState(() { lastCluster = cluster; @@ -155,11 +152,11 @@ class ClusteringBodyState extends State { } void _addMarkersToCluster(ClusterManager clusterManager) { - for (int i = 0; i < _markersToAddToClusterManagerCount; i++) { - final String markerIdVal = + for (var i = 0; i < _markersToAddToClusterManagerCount; i++) { + final markerIdVal = '${clusterManager.clusterManagerId.value}_marker_id_$_markerIdCounter'; _markerIdCounter++; - final MarkerId markerId = MarkerId(markerIdVal); + final markerId = MarkerId(markerIdVal); final int clusterManagerIndex = clusterManagers.values.toList().indexOf( clusterManager, @@ -170,7 +167,7 @@ class ClusteringBodyState extends State { final double clusterManagerLongitudeOffset = clusterManagerIndex * _clusterManagerLongitudeOffset; - final Marker marker = Marker( + final marker = Marker( clusterManagerId: clusterManager.clusterManagerId, markerId: markerId, position: LatLng( diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/custom_marker_icon.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/custom_marker_icon.dart index 6206787f347..548146c6206 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/custom_marker_icon.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/custom_marker_icon.dart @@ -9,9 +9,9 @@ import 'package:flutter/material.dart'; /// Returns a generated png image in [ByteData] format with the requested size. Future createCustomMarkerIconImage({required Size size}) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final _MarkerPainter painter = _MarkerPainter(); + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final painter = _MarkerPainter(); painter.paint(canvas, size); @@ -30,7 +30,7 @@ class _MarkerPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final Rect rect = Offset.zero & size; - const RadialGradient gradient = RadialGradient( + const gradient = RadialGradient( colors: [Colors.yellow, Colors.red], stops: [0.4, 1.0], ); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/ground_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/ground_overlay.dart index 33f310de2b2..2f1937b04fb 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/ground_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/ground_overlay.dart @@ -95,9 +95,7 @@ class GroundOverlayBodyState extends State { _groundOverlayIndex += 1; - final GroundOverlayId id = GroundOverlayId( - 'ground_overlay_$_groundOverlayIndex', - ); + final id = GroundOverlayId('ground_overlay_$_groundOverlayIndex'); final GroundOverlay groundOverlay = switch (_placingType) { _GroundOverlayPlacing.position => GroundOverlay.fromPosition( @@ -147,9 +145,7 @@ class GroundOverlayBodyState extends State { void _changeTransparency() { assert(_groundOverlay != null); setState(() { - final double transparency = _groundOverlay!.transparency == 0.0 - ? 0.5 - : 0.0; + final transparency = _groundOverlay!.transparency == 0.0 ? 0.5 : 0.0; _groundOverlay = _groundOverlay!.copyWith( transparencyParam: transparency, ); @@ -244,7 +240,7 @@ class GroundOverlayBodyState extends State { @override Widget build(BuildContext context) { - final Set overlays = { + final overlays = { if (_groundOverlay != null) _groundOverlay!, }; return Column( diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart index b980e1d2a64..f7b60568657 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/main.dart @@ -98,13 +98,12 @@ Future initializeMapRenderer() async { return _initializedRendererCompleter!.future; } - final Completer completer = - Completer(); + final completer = Completer(); _initializedRendererCompleter = completer; WidgetsFlutterBinding.ensureInitialized(); - final GoogleMapsFlutterAndroid platform = + final platform = GoogleMapsFlutterPlatform.instance as GoogleMapsFlutterAndroid; unawaited( platform diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_click.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_click.dart index a2cbca5c7e0..4d45e961d63 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_click.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_click.dart @@ -41,7 +41,7 @@ class _MapClickBodyState extends State<_MapClickBody> { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, onTap: (LatLng pos) { @@ -56,7 +56,7 @@ class _MapClickBodyState extends State<_MapClickBody> { }, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( @@ -66,8 +66,8 @@ class _MapClickBodyState extends State<_MapClickBody> { ]; if (mapController != null) { - final String lastTap = 'Tap:\n${_lastTap ?? ""}\n'; - final String lastLongPress = 'Long press:\n${_lastLongPress ?? ""}'; + final lastTap = 'Tap:\n${_lastTap ?? ""}\n'; + final lastLongPress = 'Long press:\n${_lastLongPress ?? ""}'; columnChildren.add( Center(child: Text(lastTap, textAlign: TextAlign.center)), ); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_coordinates.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_coordinates.dart index eee22bb5d7d..5ec74b708a4 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_coordinates.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_coordinates.dart @@ -43,7 +43,7 @@ class _MapCoordinatesBodyState extends State<_MapCoordinatesBody> { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, onCameraIdle: diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_map_id.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_map_id.dart index 039966595ba..306a522e8dc 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_map_id.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_map_id.dart @@ -73,7 +73,7 @@ class MapIdBodyState extends State { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: _kMapCenter, @@ -83,7 +83,7 @@ class MapIdBodyState extends State { cloudMapId: _mapId, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart index 3cad6f0f84e..ce0d7d68378 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart @@ -265,7 +265,7 @@ class MapUiBodyState extends State { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, compassEnabled: _compassEnabled, @@ -286,7 +286,7 @@ class MapUiBodyState extends State { onCameraMove: _updateCameraPosition, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart index 40df30c94ac..2959c7c0dcf 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/marker_icons.dart @@ -210,7 +210,7 @@ class MarkerIconsBodyState extends State { } Marker _createAssetMarker(int index) { - final LatLng position = LatLng( + final position = LatLng( _kMapCenter.latitude - (index * 0.5), _kMapCenter.longitude - 1, ); @@ -223,7 +223,7 @@ class MarkerIconsBodyState extends State { } Marker _createBytesMarker(int index) { - final LatLng position = LatLng( + final position = LatLng( _kMapCenter.latitude - (index * 0.5), _kMapCenter.longitude + 1, ); @@ -236,8 +236,8 @@ class MarkerIconsBodyState extends State { } void _updateMarkers() { - final Set markers = {}; - for (int i = 0; i < _markersAmountPerType; i++) { + final markers = {}; + for (var i = 0; i < _markersAmountPerType; i++) { if (_markerIconAsset != null) { markers.add(_createAssetMarker(i)); } @@ -299,7 +299,7 @@ class MarkerIconsBodyState extends State { final double? imagePixelRatio = _scalingEnabled ? devicePixelRatio : null; // Create canvasSize with physical marker size - final Size canvasSize = Size( + final canvasSize = Size( bitmapLogicalSize.width * (imagePixelRatio ?? 1.0), bitmapLogicalSize.height * (imagePixelRatio ?? 1.0), ); @@ -314,7 +314,7 @@ class MarkerIconsBodyState extends State { ? _getCurrentMarkerSize() : (null, null); - final BytesMapBitmap bitmap = BytesMapBitmap( + final bitmap = BytesMapBitmap( bytes.buffer.asUint8List(), imagePixelRatio: imagePixelRatio, width: width, diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart index 5154b88782b..beb39b305f5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/padding.dart @@ -36,7 +36,7 @@ class MarkerIconsBodyState extends State { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: _kMapCenter, @@ -45,7 +45,7 @@ class MarkerIconsBodyState extends State { padding: _padding, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart index d45ec7e5c27..88c84c79e12 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_circle.dart @@ -83,11 +83,11 @@ class PlaceCircleBodyState extends State { return; } - final String circleIdVal = 'circle_id_$_circleIdCounter'; + final circleIdVal = 'circle_id_$_circleIdCounter'; _circleIdCounter++; - final CircleId circleId = CircleId(circleIdVal); + final circleId = CircleId(circleIdVal); - final Circle circle = Circle( + final circle = Circle( circleId: circleId, consumeTapEvents: true, strokeColor: Colors.orange, diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart index e32b7b27747..dd8d526d143 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart @@ -123,11 +123,11 @@ class PlaceMarkerBodyState extends State { return; } - final String markerIdVal = 'marker_id_$_markerIdCounter'; + final markerIdVal = 'marker_id_$_markerIdCounter'; _markerIdCounter++; - final MarkerId markerId = MarkerId(markerIdVal); + final markerId = MarkerId(markerIdVal); - final Marker marker = Marker( + final marker = Marker( markerId: markerId, position: LatLng( center.latitude + sin(_markerIdCounter * pi / 6.0) / 20.0, @@ -155,7 +155,7 @@ class PlaceMarkerBodyState extends State { void _changePosition(MarkerId markerId) { final Marker marker = markers[markerId]!; final LatLng current = marker.position; - final Offset offset = Offset( + final offset = Offset( center.latitude - current.latitude, center.longitude - current.longitude, ); @@ -172,7 +172,7 @@ class PlaceMarkerBodyState extends State { void _changeAnchor(MarkerId markerId) { final Marker marker = markers[markerId]!; final Offset currentAnchor = marker.anchor; - final Offset newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); + final newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); setState(() { markers[markerId] = marker.copyWith(anchorParam: newAnchor); }); @@ -181,7 +181,7 @@ class PlaceMarkerBodyState extends State { Future _changeInfoAnchor(MarkerId markerId) async { final Marker marker = markers[markerId]!; final Offset currentAnchor = marker.infoWindow.anchor; - final Offset newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); + final newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); setState(() { markers[markerId] = marker.copyWith( infoWindowParam: marker.infoWindow.copyWith(anchorParam: newAnchor), @@ -205,7 +205,7 @@ class PlaceMarkerBodyState extends State { Future _changeInfo(MarkerId markerId) async { final Marker marker = markers[markerId]!; - final String newSnippet = '${marker.infoWindow.snippet!}*'; + final newSnippet = '${marker.infoWindow.snippet!}*'; setState(() { markers[markerId] = marker.copyWith( infoWindowParam: marker.infoWindow.copyWith(snippetParam: newSnippet), @@ -258,7 +258,7 @@ class PlaceMarkerBodyState extends State { } Future _getMarkerIcon(BuildContext context) async { - const Size canvasSize = Size(48, 48); + const canvasSize = Size(48, 48); final ByteData bytes = await createCustomMarkerIconImage(size: canvasSize); return BytesMapBitmap(bytes.buffer.asUint8List()); } diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart index 79475381c15..ff9eac82210 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polygon.dart @@ -82,10 +82,10 @@ class PlacePolygonBodyState extends State { return; } - final String polygonIdVal = 'polygon_id_$_polygonIdCounter'; - final PolygonId polygonId = PolygonId(polygonIdVal); + final polygonIdVal = 'polygon_id_$_polygonIdCounter'; + final polygonId = PolygonId(polygonIdVal); - final Polygon polygon = Polygon( + final polygon = Polygon( polygonId: polygonId, consumeTapEvents: true, strokeColor: Colors.orange, @@ -262,7 +262,7 @@ class PlacePolygonBodyState extends State { } List _createPoints() { - final List points = []; + final points = []; final double offset = _polygonIdCounter.ceilToDouble(); points.add(_createLatLng(51.2395 + offset, -3.4314)); points.add(_createLatLng(53.5234 + offset, -3.5314)); @@ -272,17 +272,17 @@ class PlacePolygonBodyState extends State { } List> _createHoles(PolygonId polygonId) { - final List> holes = >[]; + final holes = >[]; final double offset = polygonOffsets[polygonId]!; - final List hole1 = []; + final hole1 = []; hole1.add(_createLatLng(51.8395 + offset, -3.8814)); hole1.add(_createLatLng(52.0234 + offset, -3.9914)); hole1.add(_createLatLng(52.1351 + offset, -4.4435)); hole1.add(_createLatLng(52.0231 + offset, -4.5829)); holes.add(hole1); - final List hole2 = []; + final hole2 = []; hole2.add(_createLatLng(52.2395 + offset, -3.6814)); hole2.add(_createLatLng(52.4234 + offset, -3.7914)); hole2.add(_createLatLng(52.5351 + offset, -4.2435)); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart index 854046b3053..f749cac5f26 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_polyline.dart @@ -110,11 +110,11 @@ class PlacePolylineBodyState extends State { return; } - final String polylineIdVal = 'polyline_id_$_polylineIdCounter'; + final polylineIdVal = 'polyline_id_$_polylineIdCounter'; _polylineIdCounter++; - final PolylineId polylineId = PolylineId(polylineIdVal); + final polylineId = PolylineId(polylineIdVal); - final Polyline polyline = Polyline( + final polyline = Polyline( polylineId: polylineId, consumeTapEvents: true, color: Colors.orange, @@ -307,7 +307,7 @@ class PlacePolylineBodyState extends State { } List _createPoints() { - final List points = []; + final points = []; final double offset = _polylineIdCounter.ceilToDouble(); points.add(_createLatLng(51.4816 + offset, -3.1791)); points.add(_createLatLng(53.0430 + offset, -2.9925)); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart index 340ac4ce48d..bcce3b5f387 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/tile_overlay.dart @@ -53,7 +53,7 @@ class TileOverlayBodyState extends State { } void _addTileOverlay() { - final TileOverlay tileOverlay = TileOverlay( + final tileOverlay = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), ); @@ -70,9 +70,7 @@ class TileOverlayBodyState extends State { @override Widget build(BuildContext context) { - final Set overlays = { - if (_tileOverlay != null) _tileOverlay!, - }; + final overlays = {if (_tileOverlay != null) _tileOverlay!}; return Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceEvenly, @@ -124,10 +122,10 @@ class _DebugTileProvider implements TileProvider { @override Future getTile(int x, int y, int? zoom) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final TextSpan textSpan = TextSpan(text: '$x,$y', style: textStyle); - final TextPainter textPainter = TextPainter( + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final textSpan = TextSpan(text: '$x,$y', style: textStyle); + final textPainter = TextPainter( text: textSpan, textDirection: TextDirection.ltr, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/test/example_google_map_test.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/test/example_google_map_test.dart index 334dde79c77..261fc473e8b 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/test/example_google_map_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/test/example_google_map_test.dart @@ -40,10 +40,10 @@ void main() { testWidgets('circle updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Circle c1 = Circle(circleId: CircleId('circle_1')); - const Circle c2 = Circle(circleId: CircleId('circle_2')); - const Circle c3 = Circle(circleId: CircleId('circle_3'), radius: 1); - const Circle c3updated = Circle(circleId: CircleId('circle_3'), radius: 10); + const c1 = Circle(circleId: CircleId('circle_1')); + const c2 = Circle(circleId: CircleId('circle_2')); + const c3 = Circle(circleId: CircleId('circle_3'), radius: 1); + const c3updated = Circle(circleId: CircleId('circle_3'), radius: 10); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithObjects(circles: {c1, c2})); @@ -72,13 +72,10 @@ void main() { testWidgets('marker updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Marker m1 = Marker(markerId: MarkerId('marker_1')); - const Marker m2 = Marker(markerId: MarkerId('marker_2')); - const Marker m3 = Marker(markerId: MarkerId('marker_3')); - const Marker m3updated = Marker( - markerId: MarkerId('marker_3'), - draggable: true, - ); + const m1 = Marker(markerId: MarkerId('marker_1')); + const m2 = Marker(markerId: MarkerId('marker_2')); + const m3 = Marker(markerId: MarkerId('marker_3')); + const m3updated = Marker(markerId: MarkerId('marker_3'), draggable: true); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithObjects(markers: {m1, m2})); @@ -107,13 +104,10 @@ void main() { testWidgets('polygon updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); - const Polygon p2 = Polygon(polygonId: PolygonId('polygon_2')); - const Polygon p3 = Polygon( - polygonId: PolygonId('polygon_3'), - strokeWidth: 1, - ); - const Polygon p3updated = Polygon( + const p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p2 = Polygon(polygonId: PolygonId('polygon_2')); + const p3 = Polygon(polygonId: PolygonId('polygon_3'), strokeWidth: 1); + const p3updated = Polygon( polygonId: PolygonId('polygon_3'), strokeWidth: 2, ); @@ -147,16 +141,10 @@ void main() { testWidgets('polyline updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); - const Polyline p2 = Polyline(polylineId: PolylineId('polyline_2')); - const Polyline p3 = Polyline( - polylineId: PolylineId('polyline_3'), - width: 1, - ); - const Polyline p3updated = Polyline( - polylineId: PolylineId('polyline_3'), - width: 2, - ); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p2 = Polyline(polylineId: PolylineId('polyline_2')); + const p3 = Polyline(polylineId: PolylineId('polyline_3'), width: 1); + const p3updated = Polyline(polylineId: PolylineId('polyline_3'), width: 2); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithObjects(polylines: {p1, p2})); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_map_inspector_android.dart b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_map_inspector_android.dart index ef0b0aeb351..0c09c6d789e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_map_inspector_android.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_map_inspector_android.dart @@ -101,7 +101,7 @@ class GoogleMapsInspectorAndroid extends GoogleMapsInspectorPlatform { } // Create dummy image to represent the image of the ground overlay. - final BytesMapBitmap dummyImage = BytesMapBitmap( + final dummyImage = BytesMapBitmap( Uint8List.fromList([0]), bitmapScaling: MapBitmapScaling.none, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart index 34d05ca6f8f..bcfde558ab1 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart @@ -332,10 +332,7 @@ class GoogleMapsFlutterAndroid extends GoogleMapsFlutterPlatform { final Set previousSet = currentTileOverlays != null ? currentTileOverlays.values.toSet() : {}; - final _TileOverlayUpdates updates = _TileOverlayUpdates.from( - previousSet, - newTileOverlays, - ); + final updates = _TileOverlayUpdates.from(previousSet, newTileOverlays); _tileOverlays[mapId] = keyTileOverlayId(newTileOverlays); return _hostApi(mapId).updateTileOverlays( updates.tileOverlaysToAdd @@ -565,39 +562,38 @@ class GoogleMapsFlutterAndroid extends GoogleMapsFlutterPlatform { 'On Android width must be set when position is set for ground overlays.', ); - final PlatformMapViewCreationParams creationParams = - PlatformMapViewCreationParams( - initialCameraPosition: _platformCameraPositionFromCameraPosition( - widgetConfiguration.initialCameraPosition, - ), - mapConfiguration: mapConfiguration, - initialMarkers: mapObjects.markers - .map(_platformMarkerFromMarker) - .toList(), - initialPolygons: mapObjects.polygons - .map(_platformPolygonFromPolygon) - .toList(), - initialPolylines: mapObjects.polylines - .map(_platformPolylineFromPolyline) - .toList(), - initialCircles: mapObjects.circles - .map(_platformCircleFromCircle) - .toList(), - initialHeatmaps: mapObjects.heatmaps - .map(_platformHeatmapFromHeatmap) - .toList(), - initialTileOverlays: mapObjects.tileOverlays - .map(_platformTileOverlayFromTileOverlay) - .toList(), - initialClusterManagers: mapObjects.clusterManagers - .map(_platformClusterManagerFromClusterManager) - .toList(), - initialGroundOverlays: mapObjects.groundOverlays - .map(_platformGroundOverlayFromGroundOverlay) - .toList(), - ); + final creationParams = PlatformMapViewCreationParams( + initialCameraPosition: _platformCameraPositionFromCameraPosition( + widgetConfiguration.initialCameraPosition, + ), + mapConfiguration: mapConfiguration, + initialMarkers: mapObjects.markers + .map(_platformMarkerFromMarker) + .toList(), + initialPolygons: mapObjects.polygons + .map(_platformPolygonFromPolygon) + .toList(), + initialPolylines: mapObjects.polylines + .map(_platformPolylineFromPolyline) + .toList(), + initialCircles: mapObjects.circles + .map(_platformCircleFromCircle) + .toList(), + initialHeatmaps: mapObjects.heatmaps + .map(_platformHeatmapFromHeatmap) + .toList(), + initialTileOverlays: mapObjects.tileOverlays + .map(_platformTileOverlayFromTileOverlay) + .toList(), + initialClusterManagers: mapObjects.clusterManagers + .map(_platformClusterManagerFromClusterManager) + .toList(), + initialGroundOverlays: mapObjects.groundOverlays + .map(_platformGroundOverlayFromGroundOverlay) + .toList(), + ); - const String viewType = 'plugins.flutter.dev/google_maps_android'; + const viewType = 'plugins.flutter.dev/google_maps_android'; if (useAndroidViewSurface) { return PlatformViewLink( viewType: viewType, @@ -1386,7 +1382,7 @@ PlatformMapConfiguration _platformMapConfigurationFromOptionsJson( // to support this legacy API that relied on cross-package magic strings. final List? padding = (options['padding'] as List?) ?.cast(); - final int? mapType = options['mapType'] as int?; + final mapType = options['mapType'] as int?; return PlatformMapConfiguration( compassEnabled: options['compassEnabled'] as bool?, cameraTargetBounds: _platformCameraTargetBoundsFromCameraTargetBoundsJson( diff --git a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/serialization.dart b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/serialization.dart index 7a9aca87b9a..cb5407cf5b5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/lib/src/serialization.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/lib/src/serialization.dart @@ -24,7 +24,7 @@ void _addIfNonNull(Map map, String fieldName, Object? value) { /// Serialize [Heatmap] Map serializeHeatmap(Heatmap heatmap) { - final Map json = {}; + final json = {}; _addIfNonNull(json, _heatmapIdKey, heatmap.heatmapId.value); _addIfNonNull( @@ -59,7 +59,7 @@ WeightedLatLng? deserializeWeightedLatLng(Object? json) { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; final LatLng latLng = deserializeLatLng(list[0])!; return WeightedLatLng(latLng, weight: list[1] as double); } @@ -75,13 +75,13 @@ LatLng? deserializeLatLng(Object? json) { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; return LatLng(list[0]! as double, list[1]! as double); } /// Serialize [HeatmapGradient] Object serializeHeatmapGradient(HeatmapGradient gradient) { - final Map json = {}; + final json = {}; _addIfNonNull( json, @@ -113,8 +113,8 @@ HeatmapGradient? deserializeHeatmapGradient(Object? json) { (map[_heatmapGradientStartPointsKey]! as List) .whereType() .toList(); - final List gradientColors = []; - for (int i = 0; i < colors.length; i++) { + final gradientColors = []; + for (var i = 0; i < colors.length; i++) { gradientColors.add(HeatmapGradientColor(colors[i], startPoints[i])); } return HeatmapGradient( diff --git a/packages/google_maps_flutter/google_maps_flutter_android/test/google_maps_flutter_android_test.dart b/packages/google_maps_flutter/google_maps_flutter_android/test/google_maps_flutter_android_test.dart index 3569b0098c3..820d42f8ce8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/test/google_maps_flutter_android_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/test/google_maps_flutter_android_test.dart @@ -23,10 +23,8 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); (GoogleMapsFlutterAndroid, MockMapsApi) setUpMockMap({required int mapId}) { - final MockMapsApi api = MockMapsApi(); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid( - apiProvider: (_) => api, - ); + final api = MockMapsApi(); + final maps = GoogleMapsFlutterAndroid(apiProvider: (_) => api); maps.ensureApiInitialized(mapId); return (maps, api); } @@ -37,13 +35,13 @@ void main() { }); test('normal usage does not call MapsInitializerApi', () async { - final MockMapsApi api = MockMapsApi(); - final MockMapsInitializerApi initializerApi = MockMapsInitializerApi(); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid( + final api = MockMapsApi(); + final initializerApi = MockMapsInitializerApi(); + final maps = GoogleMapsFlutterAndroid( apiProvider: (_) => api, initializerApi: initializerApi, ); - const int mapId = 1; + const mapId = 1; maps.ensureApiInitialized(mapId); await maps.init(1); @@ -53,9 +51,9 @@ void main() { test( 'initializeWithPreferredRenderer forwards the initialization call', () async { - final MockMapsApi api = MockMapsApi(); - final MockMapsInitializerApi initializerApi = MockMapsInitializerApi(); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid( + final api = MockMapsApi(); + final initializerApi = MockMapsInitializerApi(); + final maps = GoogleMapsFlutterAndroid( apiProvider: (_) => api, initializerApi: initializerApi, ); @@ -70,9 +68,9 @@ void main() { ); test('warmup forwards the initialization call', () async { - final MockMapsApi api = MockMapsApi(); - final MockMapsInitializerApi initializerApi = MockMapsInitializerApi(); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid( + final api = MockMapsApi(); + final initializerApi = MockMapsInitializerApi(); + final maps = GoogleMapsFlutterAndroid( apiProvider: (_) => api, initializerApi: initializerApi, ); @@ -82,10 +80,8 @@ void main() { }); test('init calls waitForMap', () async { - final MockMapsApi api = MockMapsApi(); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid( - apiProvider: (_) => api, - ); + final api = MockMapsApi(); + final maps = GoogleMapsFlutterAndroid(apiProvider: (_) => api); await maps.init(1); @@ -93,14 +89,14 @@ void main() { }); test('getScreenCoordinate converts and passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Arbitrary values that are all different from each other. - const LatLng latLng = LatLng(10, 20); - const ScreenCoordinate expectedCoord = ScreenCoordinate(x: 30, y: 40); + const latLng = LatLng(10, 20); + const expectedCoord = ScreenCoordinate(x: 30, y: 40); when(api.getScreenCoordinate(any)).thenAnswer( (_) async => PlatformPoint(x: expectedCoord.x, y: expectedCoord.y), ); @@ -113,21 +109,20 @@ void main() { final VerificationResult verification = verify( api.getScreenCoordinate(captureAny), ); - final PlatformLatLng passedLatLng = - verification.captured[0] as PlatformLatLng; + final passedLatLng = verification.captured[0] as PlatformLatLng; expect(passedLatLng.latitude, latLng.latitude); expect(passedLatLng.longitude, latLng.longitude); }); test('getLatLng converts and passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Arbitrary values that are all different from each other. - const LatLng expectedLatLng = LatLng(10, 20); - const ScreenCoordinate coord = ScreenCoordinate(x: 30, y: 40); + const expectedLatLng = LatLng(10, 20); + const coord = ScreenCoordinate(x: 30, y: 40); when(api.getLatLng(any)).thenAnswer( (_) async => PlatformLatLng( latitude: expectedLatLng.latitude, @@ -138,19 +133,19 @@ void main() { final LatLng latLng = await maps.getLatLng(coord, mapId: mapId); expect(latLng, expectedLatLng); final VerificationResult verification = verify(api.getLatLng(captureAny)); - final PlatformPoint passedCoord = verification.captured[0] as PlatformPoint; + final passedCoord = verification.captured[0] as PlatformPoint; expect(passedCoord.x, coord.x); expect(passedCoord.y, coord.y); }); test('getVisibleRegion converts and passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Arbitrary values that are all different from each other. - final LatLngBounds expectedBounds = LatLngBounds( + final expectedBounds = LatLngBounds( southwest: const LatLng(10, 20), northeast: const LatLng(30, 40), ); @@ -172,7 +167,7 @@ void main() { }); test('moveCamera calls through with expected scrollBy', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -181,17 +176,15 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateScrollBy scroll = - passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final scroll = passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; update as CameraUpdateScrollBy; expect(scroll.dx, update.dx); expect(scroll.dy, update.dy); }); test('animateCamera calls through with expected scrollBy', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -202,26 +195,25 @@ void main() { final VerificationResult verification = verify( api.animateCamera(captureAny, captureAny), ); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateScrollBy scroll = - passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final scroll = passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; update as CameraUpdateScrollBy; expect(scroll.dx, update.dx); expect(scroll.dy, update.dy); - final int? passedDuration = verification.captured[1] as int?; + final passedDuration = verification.captured[1] as int?; expect(passedDuration, isNull); }); test('animateCameraWithConfiguration calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); final CameraUpdate update = CameraUpdate.scrollBy(10, 20); - const CameraUpdateAnimationConfiguration configuration = - CameraUpdateAnimationConfiguration(duration: Duration(seconds: 1)); + const configuration = CameraUpdateAnimationConfiguration( + duration: Duration(seconds: 1), + ); expect(configuration.duration?.inSeconds, 1); await maps.animateCameraWithConfiguration( update, @@ -232,25 +224,23 @@ void main() { final VerificationResult verification = verify( api.animateCamera(captureAny, captureAny), ); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateScrollBy scroll = - passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final scroll = passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; update as CameraUpdateScrollBy; expect(scroll.dx, update.dx); expect(scroll.dy, update.dy); - final int? passedDuration = verification.captured[1] as int?; + final passedDuration = verification.captured[1] as int?; expect(passedDuration, configuration.duration?.inMilliseconds); }); test('getZoomLevel passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const double expectedZoom = 4.2; + const expectedZoom = 4.2; when(api.getZoomLevel()).thenAnswer((_) async => expectedZoom); final double zoom = await maps.getZoomLevel(mapId: mapId); @@ -258,36 +248,36 @@ void main() { }); test('showInfoWindow calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String markedId = 'a_marker'; + const markedId = 'a_marker'; await maps.showMarkerInfoWindow(const MarkerId(markedId), mapId: mapId); verify(api.showInfoWindow(markedId)); }); test('hideInfoWindow calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String markedId = 'a_marker'; + const markedId = 'a_marker'; await maps.hideMarkerInfoWindow(const MarkerId(markedId), mapId: mapId); verify(api.hideInfoWindow(markedId)); }); test('isInfoWindowShown calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String markedId = 'a_marker'; + const markedId = 'a_marker'; when(api.isInfoWindowShown(markedId)).thenAnswer((_) async => true); expect( @@ -300,43 +290,43 @@ void main() { }); test('takeSnapshot calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final Uint8List fakeSnapshot = Uint8List(10); + final fakeSnapshot = Uint8List(10); when(api.takeSnapshot()).thenAnswer((_) async => fakeSnapshot); expect(await maps.takeSnapshot(mapId: mapId), fakeSnapshot); }); test('clearTileCache calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String tileOverlayId = 'overlay'; + const tileOverlayId = 'overlay'; await maps.clearTileCache(const TileOverlayId(tileOverlayId), mapId: mapId); verify(api.clearTileCache(tileOverlayId)); }); test('updateMapConfiguration passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Set some arbitrary options. - final CameraTargetBounds cameraBounds = CameraTargetBounds( + final cameraBounds = CameraTargetBounds( LatLngBounds( southwest: const LatLng(10, 20), northeast: const LatLng(30, 40), ), ); - final MapConfiguration config = MapConfiguration( + final config = MapConfiguration( compassEnabled: true, mapType: MapType.terrain, cameraTargetBounds: cameraBounds, @@ -346,8 +336,7 @@ void main() { final VerificationResult verification = verify( api.updateMapConfiguration(captureAny), ); - final PlatformMapConfiguration passedConfig = - verification.captured[0] as PlatformMapConfiguration; + final passedConfig = verification.captured[0] as PlatformMapConfiguration; // Each set option should be present. expect(passedConfig.compassEnabled, true); expect(passedConfig.mapType, PlatformMapType.terrain); @@ -374,19 +363,19 @@ void main() { }); test('updateMapOptions passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Set some arbitrary options. - final CameraTargetBounds cameraBounds = CameraTargetBounds( + final cameraBounds = CameraTargetBounds( LatLngBounds( southwest: const LatLng(10, 20), northeast: const LatLng(30, 40), ), ); - final Map config = { + final config = { 'compassEnabled': true, 'mapType': MapType.terrain.index, 'cameraTargetBounds': cameraBounds.toJson(), @@ -396,8 +385,7 @@ void main() { final VerificationResult verification = verify( api.updateMapConfiguration(captureAny), ); - final PlatformMapConfiguration passedConfig = - verification.captured[0] as PlatformMapConfiguration; + final passedConfig = verification.captured[0] as PlatformMapConfiguration; // Each set option should be present. expect(passedConfig.compassEnabled, true); expect(passedConfig.mapType, PlatformMapType.terrain); @@ -424,15 +412,15 @@ void main() { }); test('updateCircles passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Circle object1 = Circle(circleId: CircleId('1')); - const Circle object2old = Circle(circleId: CircleId('2')); + const object1 = Circle(circleId: CircleId('1')); + const object2old = Circle(circleId: CircleId('2')); final Circle object2new = object2old.copyWith(radiusParam: 42); - const Circle object3 = Circle(circleId: CircleId('3')); + const object3 = Circle(circleId: CircleId('3')); await maps.updateCircles( CircleUpdates.from( {object1, object2old}, @@ -444,11 +432,9 @@ void main() { final VerificationResult verification = verify( api.updateCircles(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.circleId.value); @@ -485,17 +471,13 @@ void main() { }); test('updateClusterManagers passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const ClusterManager object1 = ClusterManager( - clusterManagerId: ClusterManagerId('1'), - ); - const ClusterManager object3 = ClusterManager( - clusterManagerId: ClusterManagerId('3'), - ); + const object1 = ClusterManager(clusterManagerId: ClusterManagerId('1')); + const object3 = ClusterManager(clusterManagerId: ClusterManagerId('3')); await maps.updateClusterManagers( ClusterManagerUpdates.from( {object1}, @@ -507,9 +489,8 @@ void main() { final VerificationResult verification = verify( api.updateClusterManagers(captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toRemove = verification.captured[1] as List; + final toAdd = verification.captured[0] as List; + final toRemove = verification.captured[1] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.clusterManagerId.value); @@ -521,15 +502,15 @@ void main() { }); test('updateMarkers passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Marker object1 = Marker(markerId: MarkerId('1')); - const Marker object2old = Marker(markerId: MarkerId('2')); + const object1 = Marker(markerId: MarkerId('1')); + const object2old = Marker(markerId: MarkerId('2')); final Marker object2new = object2old.copyWith(rotationParam: 42); - const Marker object3 = Marker(markerId: MarkerId('3')); + const object3 = Marker(markerId: MarkerId('3')); await maps.updateMarkers( MarkerUpdates.from( {object1, object2old}, @@ -541,11 +522,9 @@ void main() { final VerificationResult verification = verify( api.updateMarkers(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.markerId.value); @@ -610,15 +589,15 @@ void main() { }); test('updatePolygons passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Polygon object1 = Polygon(polygonId: PolygonId('1')); - const Polygon object2old = Polygon(polygonId: PolygonId('2')); + const object1 = Polygon(polygonId: PolygonId('1')); + const object2old = Polygon(polygonId: PolygonId('2')); final Polygon object2new = object2old.copyWith(strokeWidthParam: 42); - const Polygon object3 = Polygon(polygonId: PolygonId('3')); + const object3 = Polygon(polygonId: PolygonId('3')); await maps.updatePolygons( PolygonUpdates.from( {object1, object2old}, @@ -630,11 +609,9 @@ void main() { final VerificationResult verification = verify( api.updatePolygons(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.polygonId.value); @@ -671,13 +648,13 @@ void main() { }); test('updatePolylines passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Polyline object1 = Polyline(polylineId: PolylineId('1')); - const Polyline object2old = Polyline(polylineId: PolylineId('2')); + const object1 = Polyline(polylineId: PolylineId('1')); + const object2old = Polyline(polylineId: PolylineId('2')); final Polyline object2new = object2old.copyWith( widthParam: 42, startCapParam: Cap.squareCap, @@ -687,7 +664,7 @@ void main() { BitmapDescriptor.defaultMarker, refWidth: 15, ); - final Polyline object3 = Polyline( + final object3 = Polyline( polylineId: const PolylineId('3'), startCap: customCap, endCap: Cap.roundCap, @@ -703,11 +680,9 @@ void main() { final VerificationResult verification = verify( api.updatePolylines(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; void expectPolyline(PlatformPolyline actual, Polyline expected) { expect(actual.polylineId, expected.polylineId.value); expect(actual.consumesTapEvents, expected.consumeTapEvents); @@ -763,17 +738,15 @@ void main() { }); test('updateTileOverlays passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const TileOverlay object1 = TileOverlay(tileOverlayId: TileOverlayId('1')); - const TileOverlay object2old = TileOverlay( - tileOverlayId: TileOverlayId('2'), - ); + const object1 = TileOverlay(tileOverlayId: TileOverlayId('1')); + const object2old = TileOverlay(tileOverlayId: TileOverlayId('2')); final TileOverlay object2new = object2old.copyWith(zIndexParam: 42); - const TileOverlay object3 = TileOverlay(tileOverlayId: TileOverlayId('3')); + const object3 = TileOverlay(tileOverlayId: TileOverlayId('3')); // Pre-set the initial state, since this update method doesn't take the old // state. await maps.updateTileOverlays( @@ -790,11 +763,9 @@ void main() { final VerificationResult verification = verify( api.updateTileOverlays(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; void expectTileOverlay(PlatformTileOverlay actual, TileOverlay expected) { expect(actual.tileOverlayId, expected.tileOverlayId.value); expect(actual.fadeIn, expected.fadeIn); @@ -816,18 +787,18 @@ void main() { }); test('updateGroundOverlays passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final AssetMapBitmap image = AssetMapBitmap( + final image = AssetMapBitmap( 'assets/red_square.png', imagePixelRatio: 1.0, bitmapScaling: MapBitmapScaling.none, ); - final GroundOverlay object1 = GroundOverlay.fromBounds( + final object1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('1'), bounds: LatLngBounds( southwest: const LatLng(10, 20), @@ -835,7 +806,7 @@ void main() { ), image: image, ); - final GroundOverlay object2old = GroundOverlay.fromBounds( + final object2old = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('2'), bounds: LatLngBounds( southwest: const LatLng(10, 20), @@ -850,7 +821,7 @@ void main() { transparencyParam: 0.5, zIndexParam: 100, ); - final GroundOverlay object3 = GroundOverlay.fromPosition( + final object3 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('3'), position: const LatLng(10, 20), width: 100, @@ -868,11 +839,9 @@ void main() { api.updateGroundOverlays(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.groundOverlayId.value); @@ -957,18 +926,18 @@ void main() { test( 'updateGroundOverlays throws assertion error on unsupported ground overlays', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final AssetMapBitmap image = AssetMapBitmap( + final image = AssetMapBitmap( 'assets/red_square.png', imagePixelRatio: 1.0, bitmapScaling: MapBitmapScaling.none, ); - final GroundOverlay groundOverlay = GroundOverlay.fromPosition( + final groundOverlay = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('1'), position: const LatLng(10, 20), // Assert should be thrown because width is not set for position-based @@ -1006,26 +975,26 @@ void main() { ); test('markers send drag event to correct streams', () async { - const int mapId = 1; - const String dragStartId = 'drag-start-marker'; - const String dragId = 'drag-marker'; - const String dragEndId = 'drag-end-marker'; - final PlatformLatLng fakePosition = PlatformLatLng( - latitude: 1.0, - longitude: 1.0, - ); + const mapId = 1; + const dragStartId = 'drag-start-marker'; + const dragId = 'drag-marker'; + const dragEndId = 'drag-end-marker'; + final fakePosition = PlatformLatLng(latitude: 1.0, longitude: 1.0); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue markerDragStartStream = - StreamQueue(maps.onMarkerDragStart(mapId: mapId)); - final StreamQueue markerDragStream = - StreamQueue(maps.onMarkerDrag(mapId: mapId)); - final StreamQueue markerDragEndStream = - StreamQueue(maps.onMarkerDragEnd(mapId: mapId)); + final markerDragStartStream = StreamQueue( + maps.onMarkerDragStart(mapId: mapId), + ); + final markerDragStream = StreamQueue( + maps.onMarkerDrag(mapId: mapId), + ); + final markerDragEndStream = StreamQueue( + maps.onMarkerDragEnd(mapId: mapId), + ); // Simulate messages from the native side. callbackHandler.onMarkerDragStart(dragStartId, fakePosition); @@ -1038,17 +1007,15 @@ void main() { }); test('markers send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( - maps.onMarkerTap(mapId: mapId), - ); + final stream = StreamQueue(maps.onMarkerTap(mapId: mapId)); // Simulate message from the native side. callbackHandler.onMarkerTap(objectId); @@ -1057,17 +1024,15 @@ void main() { }); test('circles send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( - maps.onCircleTap(mapId: mapId), - ); + final stream = StreamQueue(maps.onCircleTap(mapId: mapId)); // Simulate message from the native side. callbackHandler.onCircleTap(objectId); @@ -1076,30 +1041,27 @@ void main() { }); test('clusters send tap events to correct stream', () async { - const int mapId = 1; - const String managerId = 'manager-id'; - final PlatformLatLng fakePosition = PlatformLatLng( - latitude: 10, - longitude: 20, - ); - final PlatformLatLngBounds fakeBounds = PlatformLatLngBounds( + const mapId = 1; + const managerId = 'manager-id'; + final fakePosition = PlatformLatLng(latitude: 10, longitude: 20); + final fakeBounds = PlatformLatLngBounds( southwest: PlatformLatLng(latitude: 30, longitude: 40), northeast: PlatformLatLng(latitude: 50, longitude: 60), ); - const List markerIds = ['marker-1', 'marker-2']; - final PlatformCluster cluster = PlatformCluster( + const markerIds = ['marker-1', 'marker-2']; + final cluster = PlatformCluster( clusterManagerId: managerId, position: fakePosition, bounds: fakeBounds, markerIds: markerIds, ); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( + final stream = StreamQueue( maps.onClusterTap(mapId: mapId), ); @@ -1125,15 +1087,15 @@ void main() { }); test('polygons send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( + final stream = StreamQueue( maps.onPolygonTap(mapId: mapId), ); @@ -1144,15 +1106,15 @@ void main() { }); test('polylines send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( + final stream = StreamQueue( maps.onPolylineTap(mapId: mapId), ); @@ -1163,18 +1125,17 @@ void main() { }); test('ground overlays send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = - StreamQueue( - maps.onGroundOverlayTap(mapId: mapId), - ); + final stream = StreamQueue( + maps.onGroundOverlayTap(mapId: mapId), + ); // Simulate message from the native side. callbackHandler.onGroundOverlayTap(objectId); @@ -1183,7 +1144,7 @@ void main() { }); test('Does not use PlatformViewLink when using TLHC', () async { - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); maps.useAndroidViewSurface = false; final Widget widget = maps.buildViewWithConfiguration( 1, @@ -1198,20 +1159,19 @@ void main() { }); test('moveCamera calls through with expected newCameraPosition', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const LatLng latLng = LatLng(10.0, 20.0); - const CameraPosition position = CameraPosition(target: latLng); + const latLng = LatLng(10.0, 20.0); + const position = CameraPosition(target: latLng); final CameraUpdate update = CameraUpdate.newCameraPosition(position); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewCameraPosition typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewCameraPosition; update as CameraUpdateNewCameraPosition; expect( @@ -1225,19 +1185,18 @@ void main() { }); test('moveCamera calls through with expected newLatLng', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const LatLng latLng = LatLng(10.0, 20.0); + const latLng = LatLng(10.0, 20.0); final CameraUpdate update = CameraUpdate.newLatLng(latLng); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewLatLng typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewLatLng; update as CameraUpdateNewLatLng; expect(typedUpdate.latLng.latitude, update.latLng.latitude); @@ -1245,12 +1204,12 @@ void main() { }); test('moveCamera calls through with expected newLatLngBounds', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final LatLngBounds latLng = LatLngBounds( + final latLng = LatLngBounds( northeast: const LatLng(10.0, 20.0), southwest: const LatLng(9.0, 21.0), ); @@ -1258,9 +1217,8 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewLatLngBounds typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewLatLngBounds; update as CameraUpdateNewLatLngBounds; expect( @@ -1283,19 +1241,18 @@ void main() { }); test('moveCamera calls through with expected newLatLngZoom', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const LatLng latLng = LatLng(10.0, 20.0); + const latLng = LatLng(10.0, 20.0); final CameraUpdate update = CameraUpdate.newLatLngZoom(latLng, 2.0); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewLatLngZoom typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewLatLngZoom; update as CameraUpdateNewLatLngZoom; expect(typedUpdate.latLng.latitude, update.latLng.latitude); @@ -1304,20 +1261,18 @@ void main() { }); test('moveCamera calls through with expected zoomBy', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Offset focus = Offset(10.0, 20.0); + const focus = Offset(10.0, 20.0); final CameraUpdate update = CameraUpdate.zoomBy(2.0, focus); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoomBy typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoomBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoomBy; update as CameraUpdateZoomBy; expect(typedUpdate.focus?.x, update.focus?.dx); expect(typedUpdate.focus?.y, update.focus?.dy); @@ -1325,7 +1280,7 @@ void main() { }); test('moveCamera calls through with expected zoomTo', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -1334,16 +1289,14 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoomTo typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoomTo; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoomTo; update as CameraUpdateZoomTo; expect(typedUpdate.zoom, update.zoom); }); test('moveCamera calls through with expected zoomIn', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -1352,15 +1305,13 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoom typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; expect(typedUpdate.out, false); }); test('moveCamera calls through with expected zoomOut', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterAndroid maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -1369,10 +1320,8 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoom typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; expect(typedUpdate.out, true); }); @@ -1396,13 +1345,12 @@ void main() { final PlatformBitmap platformBitmap = GoogleMapsFlutterAndroid.platformBitmapFromBitmapDescriptor(bitmap); expect(platformBitmap.bitmap, isA()); - final PlatformBitmapDefaultMarker typedBitmap = - platformBitmap.bitmap as PlatformBitmapDefaultMarker; + final typedBitmap = platformBitmap.bitmap as PlatformBitmapDefaultMarker; expect(typedBitmap.hue, 10.0); }); test('BytesMapBitmap bitmap to PlatformBitmap', () { - final Uint8List data = Uint8List.fromList([1, 2, 3, 4]); + final data = Uint8List.fromList([1, 2, 3, 4]); final BytesMapBitmap bitmap = BitmapDescriptor.bytes( data, imagePixelRatio: 2.0, @@ -1412,8 +1360,7 @@ void main() { final PlatformBitmap platformBitmap = GoogleMapsFlutterAndroid.platformBitmapFromBitmapDescriptor(bitmap); expect(platformBitmap.bitmap, isA()); - final PlatformBitmapBytesMap typedBitmap = - platformBitmap.bitmap as PlatformBitmapBytesMap; + final typedBitmap = platformBitmap.bitmap as PlatformBitmapBytesMap; expect(typedBitmap.byteData, data); expect(typedBitmap.bitmapScaling, PlatformMapBitmapScaling.auto); expect(typedBitmap.imagePixelRatio, 2.0); @@ -1422,8 +1369,8 @@ void main() { }); test('AssetMapBitmap bitmap to PlatformBitmap', () { - const String assetName = 'fake_asset_name'; - final AssetMapBitmap bitmap = AssetMapBitmap( + const assetName = 'fake_asset_name'; + final bitmap = AssetMapBitmap( assetName, imagePixelRatio: 2.0, width: 100.0, @@ -1432,8 +1379,7 @@ void main() { final PlatformBitmap platformBitmap = GoogleMapsFlutterAndroid.platformBitmapFromBitmapDescriptor(bitmap); expect(platformBitmap.bitmap, isA()); - final PlatformBitmapAssetMap typedBitmap = - platformBitmap.bitmap as PlatformBitmapAssetMap; + final typedBitmap = platformBitmap.bitmap as PlatformBitmapAssetMap; expect(typedBitmap.assetName, assetName); expect(typedBitmap.bitmapScaling, PlatformMapBitmapScaling.auto); expect(typedBitmap.imagePixelRatio, 2.0); @@ -1456,7 +1402,7 @@ void main() { ); const BitmapDescriptor bitmap = BitmapDescriptor.defaultMarker; - const CustomCap customCap = CustomCap(bitmap, refWidth: 15.0); + const customCap = CustomCap(bitmap, refWidth: 15.0); final PlatformCap platformCap = GoogleMapsFlutterAndroid.platformCapFromCap( customCap, ); @@ -1467,7 +1413,7 @@ void main() { testWidgets('Use PlatformViewLink when using surface view', ( WidgetTester tester, ) async { - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); maps.useAndroidViewSurface = true; final Widget widget = maps.buildViewWithConfiguration( @@ -1483,7 +1429,7 @@ void main() { }); testWidgets('Defaults to AndroidView', (WidgetTester tester) async { - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); final Widget widget = maps.buildViewWithConfiguration( 1, @@ -1498,21 +1444,21 @@ void main() { }); testWidgets('cloudMapId is passed', (WidgetTester tester) async { - const String cloudMapId = '000000000000000'; // Dummy map ID. - final Completer passedCloudMapIdCompleter = Completer(); + const cloudMapId = '000000000000000'; // Dummy map ID. + final passedCloudMapIdCompleter = Completer(); TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMethodCallHandler(SystemChannels.platform_views, ( MethodCall methodCall, ) async { if (methodCall.method == 'create') { - final Map args = Map.from( + final args = Map.from( methodCall.arguments as Map, ); if (args.containsKey('params')) { - final Uint8List paramsUint8List = args['params'] as Uint8List; - final ByteData byteData = ByteData.sublistView(paramsUint8List); - final PlatformMapViewCreationParams? creationParams = + final paramsUint8List = args['params'] as Uint8List; + final byteData = ByteData.sublistView(paramsUint8List); + final creationParams = MapsApi.pigeonChannelCodec.decodeMessage(byteData) as PlatformMapViewCreationParams?; if (creationParams != null) { @@ -1527,7 +1473,7 @@ void main() { return 0; }); - final GoogleMapsFlutterAndroid maps = GoogleMapsFlutterAndroid(); + final maps = GoogleMapsFlutterAndroid(); await tester.pumpWidget( maps.buildViewWithConfiguration( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/integration_test/google_maps_test.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/integration_test/google_maps_test.dart index 5eb14dbdd0e..bcee5413091 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/integration_test/google_maps_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/integration_test/google_maps_test.dart @@ -50,7 +50,7 @@ void main() { testWidgets('testCompassToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -90,7 +90,7 @@ void main() { testWidgets('testMapToolbar returns false', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -117,11 +117,10 @@ void main() { testWidgets('updateMinMaxZoomLevels', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); - const MinMaxZoomPreference initialZoomLevel = MinMaxZoomPreference(4, 8); - const MinMaxZoomPreference finalZoomLevel = MinMaxZoomPreference(6, 10); + const initialZoomLevel = MinMaxZoomPreference(4, 8); + const finalZoomLevel = MinMaxZoomPreference(6, 10); await tester.pumpWidget( Directionality( @@ -167,7 +166,7 @@ void main() { testWidgets('testZoomGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -210,7 +209,7 @@ void main() { testWidgets('testZoomControlsEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -238,7 +237,7 @@ void main() { testWidgets('testRotateGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -283,7 +282,7 @@ void main() { testWidgets('testTiltGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -326,7 +325,7 @@ void main() { testWidgets('testScrollGesturesEnabled', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -374,8 +373,7 @@ void main() { (WidgetTester tester) async { await tester.binding.setSurfaceSize(const Size(800, 600)); - final Completer mapControllerCompleter = - Completer(); + final mapControllerCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( Directionality( @@ -415,13 +413,12 @@ void main() { 'testGetVisibleRegion', (WidgetTester tester) async { final Key key = GlobalKey(); - final LatLngBounds zeroLatLngBounds = LatLngBounds( + final zeroLatLngBounds = LatLngBounds( southwest: const LatLng(0, 0), northeast: const LatLng(0, 0), ); - final Completer mapControllerCompleter = - Completer(); + final mapControllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -451,15 +448,15 @@ void main() { // Making a new `LatLngBounds` about (10, 10) distance south west to the `firstVisibleRegion`. // The size of the `LatLngBounds` is 10 by 10. - final LatLng southWest = LatLng( + final southWest = LatLng( firstVisibleRegion.southwest.latitude - 20, firstVisibleRegion.southwest.longitude - 20, ); - final LatLng northEast = LatLng( + final northEast = LatLng( firstVisibleRegion.southwest.latitude - 10, firstVisibleRegion.southwest.longitude - 10, ); - final LatLng newCenter = LatLng( + final newCenter = LatLng( (northEast.latitude + southWest.latitude) / 2, (northEast.longitude + southWest.longitude) / 2, ); @@ -467,7 +464,7 @@ void main() { expect(firstVisibleRegion.contains(northEast), isFalse); expect(firstVisibleRegion.contains(southWest), isFalse); - final LatLngBounds latLngBounds = LatLngBounds( + final latLngBounds = LatLngBounds( southwest: southWest, northeast: northEast, ); @@ -497,7 +494,7 @@ void main() { testWidgets('testTraffic', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -538,7 +535,7 @@ void main() { testWidgets('testBuildings', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -564,7 +561,7 @@ void main() { testWidgets('testMyLocationButtonToggle', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -611,7 +608,7 @@ void main() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -639,7 +636,7 @@ void main() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -664,8 +661,7 @@ void main() { testWidgets('testSetMapStyle valid Json String', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -682,7 +678,7 @@ void main() { final ExampleGoogleMapController controller = await controllerCompleter.future; - const String mapStyle = + const mapStyle = '[{"elementType":"geometry","stylers":[{"color":"#242f3e"}]}]'; await GoogleMapsFlutterPlatform.instance.setMapStyle( mapStyle, @@ -694,8 +690,7 @@ void main() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -727,8 +722,7 @@ void main() { testWidgets('testSetMapStyle null string', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -753,8 +747,7 @@ void main() { testWidgets('testGetLatLng', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -782,7 +775,7 @@ void main() { final LatLng topLeft = await controller.getLatLng( const ScreenCoordinate(x: 0, y: 0), ); - final LatLng northWest = LatLng( + final northWest = LatLng( visibleRegion.northeast.latitude, visibleRegion.southwest.longitude, ); @@ -794,8 +787,7 @@ void main() { 'testGetZoomLevel', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -835,8 +827,7 @@ void main() { 'testScreenCoordinate', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -860,7 +851,7 @@ void main() { await Future.delayed(const Duration(seconds: 1)); final LatLngBounds visibleRegion = await controller.getVisibleRegion(); - final LatLng northWest = LatLng( + final northWest = LatLng( visibleRegion.northeast.latitude, visibleRegion.southwest.longitude, ); @@ -874,9 +865,8 @@ void main() { ); testWidgets('testResizeWidget', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final ExampleGoogleMap map = ExampleGoogleMap( + final controllerCompleter = Completer(); + final map = ExampleGoogleMap( initialCameraPosition: _kInitialCameraPosition, onMapCreated: (ExampleGoogleMapController controller) async { controllerCompleter.complete(controller); @@ -915,14 +905,13 @@ void main() { }); testWidgets('testToggleInfoWindow', (WidgetTester tester) async { - const Marker marker = Marker( + const marker = Marker( markerId: MarkerId('marker'), infoWindow: InfoWindow(title: 'InfoWindow'), ); - final Set markers = {marker}; + final markers = {marker}; - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -960,21 +949,18 @@ void main() { WidgetTester tester, ) async { final Key key = GlobalKey(); - const Marker marker = Marker( + const marker = Marker( markerId: MarkerId('marker'), infoWindow: InfoWindow(title: 'InfoWindow'), ); - Set markers = {marker}; + var markers = {marker}; - const ClusterManager clusterManager = ClusterManager( + const clusterManager = ClusterManager( clusterManagerId: ClusterManagerId('cluster_manager'), ); - final Set clusterManagers = { - clusterManager, - }; + final clusterManagers = {clusterManager}; - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1029,8 +1015,7 @@ void main() { testWidgets( 'testTakeSnapshot', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1056,15 +1041,15 @@ void main() { ); testWidgets('set tileOverlay correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); - final TileOverlay tileOverlay1 = TileOverlay( + final mapIdCompleter = Completer(); + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, transparency: 0.2, ); - final TileOverlay tileOverlay2 = TileOverlay( + final tileOverlay2 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_2'), tileProvider: _DebugTileProvider(), zIndex: 1, @@ -1117,16 +1102,16 @@ void main() { }); testWidgets('update tileOverlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); - final TileOverlay tileOverlay1 = TileOverlay( + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, transparency: 0.2, ); - final TileOverlay tileOverlay2 = TileOverlay( + final tileOverlay2 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_2'), tileProvider: _DebugTileProvider(), zIndex: 3, @@ -1150,7 +1135,7 @@ void main() { final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; - final TileOverlay tileOverlay1New = TileOverlay( + final tileOverlay1New = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 1, @@ -1196,9 +1181,9 @@ void main() { }); testWidgets('remove tileOverlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); - final TileOverlay tileOverlay1 = TileOverlay( + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), zIndex: 2, @@ -1247,27 +1232,21 @@ void main() { testWidgets('marker clustering', (WidgetTester tester) async { final Key key = GlobalKey(); - const int clusterManagersAmount = 2; - const int markersPerClusterManager = 5; - final Map markers = {}; - final Set clusterManagers = {}; - - for (int i = 0; i < clusterManagersAmount; i++) { - final ClusterManagerId clusterManagerId = ClusterManagerId( - 'cluster_manager_$i', - ); - final ClusterManager clusterManager = ClusterManager( - clusterManagerId: clusterManagerId, - ); + const clusterManagersAmount = 2; + const markersPerClusterManager = 5; + final markers = {}; + final clusterManagers = {}; + + for (var i = 0; i < clusterManagersAmount; i++) { + final clusterManagerId = ClusterManagerId('cluster_manager_$i'); + final clusterManager = ClusterManager(clusterManagerId: clusterManagerId); clusterManagers.add(clusterManager); } - for (final ClusterManager cm in clusterManagers) { - for (int i = 0; i < markersPerClusterManager; i++) { - final MarkerId markerId = MarkerId( - '${cm.clusterManagerId.value}_marker_$i', - ); - final Marker marker = Marker( + for (final cm in clusterManagers) { + for (var i = 0; i < markersPerClusterManager; i++) { + final markerId = MarkerId('${cm.clusterManagerId.value}_marker_$i'); + final marker = Marker( markerId: markerId, clusterManagerId: cm.clusterManagerId, position: LatLng( @@ -1279,8 +1258,7 @@ void main() { } } - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; @@ -1303,7 +1281,7 @@ void main() { final ExampleGoogleMapController controller = await controllerCompleter.future; - for (final ClusterManager cm in clusterManagers) { + for (final cm in clusterManagers) { final List clusters = await inspector.getClusters( mapId: controller.mapId, clusterManagerId: cm.clusterManagerId, @@ -1379,7 +1357,7 @@ void main() { ), ); - for (final ClusterManager cm in clusterManagers) { + for (final cm in clusterManagers) { final List clusters = await inspector.getClusters( mapId: controller.mapId, clusterManagerId: cm.clusterManagerId, @@ -1405,8 +1383,7 @@ void main() { testWidgets('getStyleError reports last error', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1432,8 +1409,7 @@ void main() { WidgetTester tester, ) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1457,7 +1433,7 @@ void main() { }); testWidgets('markerWithAssetMapBitmap', (WidgetTester tester) async { - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: AssetMapBitmap('assets/red_square.png', imagePixelRatio: 1.0), @@ -1479,10 +1455,10 @@ void main() { }); testWidgets('markerWithAssetMapBitmapCreate', (WidgetTester tester) async { - final ImageConfiguration imageConfiguration = ImageConfiguration( + final imageConfiguration = ImageConfiguration( devicePixelRatio: tester.view.devicePixelRatio, ); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: await AssetMapBitmap.create( @@ -1508,7 +1484,7 @@ void main() { testWidgets('markerWithBytesMapBitmap', (WidgetTester tester) async { final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: BytesMapBitmap( @@ -1535,11 +1511,11 @@ void main() { testWidgets('markerWithLegacyAsset', (WidgetTester tester) async { //tester.view.devicePixelRatio = 2.0; - const ImageConfiguration imageConfiguration = ImageConfiguration( + const imageConfiguration = ImageConfiguration( devicePixelRatio: 2.0, size: Size(100, 100), ); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), // Intentionally testing the deprecated code path. @@ -1550,8 +1526,7 @@ void main() { ), ), }; - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1576,11 +1551,8 @@ void main() { // ignore: deprecated_member_use final BitmapDescriptor icon = BitmapDescriptor.fromBytes(bytes); - final Set markers = { - Marker(markerId: const MarkerId('1'), icon: icon), - }; - final Completer controllerCompleter = - Completer(); + final markers = {Marker(markerId: const MarkerId('1'), icon: icon)}; + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1598,12 +1570,12 @@ void main() { }); group('GroundOverlay', () { - final LatLngBounds kGroundOverlayBounds = LatLngBounds( + final kGroundOverlayBounds = LatLngBounds( southwest: const LatLng(37.77483, -122.41942), northeast: const LatLng(37.78183, -122.39105), ); - final GroundOverlay groundOverlayBounds1 = GroundOverlay.fromBounds( + final groundOverlayBounds1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('bounds_1'), bounds: kGroundOverlayBounds, image: AssetMapBitmap( @@ -1613,7 +1585,7 @@ void main() { ), ); - final GroundOverlay groundOverlayPosition1 = GroundOverlay.fromPosition( + final groundOverlayPosition1 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('position_1'), position: kGroundOverlayBounds.northeast, width: 100, @@ -1665,8 +1637,8 @@ void main() { } testWidgets('set ground overlays correctly', (WidgetTester tester) async { - final Completer mapIdCompleter = Completer(); - final GroundOverlay groundOverlayBounds2 = GroundOverlay.fromBounds( + final mapIdCompleter = Completer(); + final groundOverlayBounds2 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('bounds_2'), bounds: groundOverlayBounds1.bounds!, image: groundOverlayBounds1.image, @@ -1723,7 +1695,7 @@ void main() { testWidgets('update ground overlays correctly', ( WidgetTester tester, ) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -1807,7 +1779,7 @@ void main() { testWidgets('remove ground overlays correctly', ( WidgetTester tester, ) async { - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); final Key key = GlobalKey(); await tester.pumpWidget( @@ -1862,8 +1834,7 @@ void main() { 'testAnimateCameraWithoutDuration', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; @@ -1956,16 +1927,15 @@ void main() { 'testAnimateCameraWithDuration', (WidgetTester tester) async { final Key key = GlobalKey(); - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; /// Completer to track when the camera has come to rest. Completer? cameraIdleCompleter; - const int shortCameraAnimationDurationMS = 200; - const int longCameraAnimationDurationMS = 1000; + const shortCameraAnimationDurationMS = 200; + const longCameraAnimationDurationMS = 1000; /// Calculate the midpoint duration of the animation test, which will /// serve as a reference to verify that animations complete more quickly @@ -1974,7 +1944,7 @@ void main() { (shortCameraAnimationDurationMS + longCameraAnimationDurationMS) ~/ 2; // Stopwatch to measure the time taken for the animation to complete. - final Stopwatch stopwatch = Stopwatch(); + final stopwatch = Stopwatch(); await tester.pumpWidget( Directionality( @@ -2116,10 +2086,10 @@ class _DebugTileProvider implements TileProvider { @override Future getTile(int x, int y, int? zoom) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final TextSpan textSpan = TextSpan(text: '$x,$y', style: textStyle); - final TextPainter textPainter = TextPainter( + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final textSpan = TextSpan(text: '$x,$y', style: textStyle); + final textPainter = TextPainter( text: textSpan, textDirection: TextDirection.ltr, ); @@ -2199,7 +2169,7 @@ Future _checkCameraUpdateByType( ) async { // As the target might differ a bit from the expected target, a threshold is // used. - const double latLngThreshold = 0.05; + const latLngThreshold = 0.05; switch (type) { case CameraUpdateType.newCameraPosition: diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/clustering.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/clustering.dart index e7ed25a3043..5757717c215 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/clustering.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/clustering.dart @@ -116,14 +116,11 @@ class ClusteringBodyState extends State { return; } - final String clusterManagerIdVal = - 'cluster_manager_id_$_clusterManagerIdCounter'; + final clusterManagerIdVal = 'cluster_manager_id_$_clusterManagerIdCounter'; _clusterManagerIdCounter++; - final ClusterManagerId clusterManagerId = ClusterManagerId( - clusterManagerIdVal, - ); + final clusterManagerId = ClusterManagerId(clusterManagerIdVal); - final ClusterManager clusterManager = ClusterManager( + final clusterManager = ClusterManager( clusterManagerId: clusterManagerId, onClusterTap: (Cluster cluster) => setState(() { lastCluster = cluster; @@ -149,11 +146,11 @@ class ClusteringBodyState extends State { } void _addMarkersToCluster(ClusterManager clusterManager) { - for (int i = 0; i < _markersToAddToClusterManagerCount; i++) { - final String markerIdVal = + for (var i = 0; i < _markersToAddToClusterManagerCount; i++) { + final markerIdVal = '${clusterManager.clusterManagerId.value}_marker_id_$_markerIdCounter'; _markerIdCounter++; - final MarkerId markerId = MarkerId(markerIdVal); + final markerId = MarkerId(markerIdVal); final int clusterManagerIndex = clusterManagers.values.toList().indexOf( clusterManager, @@ -164,7 +161,7 @@ class ClusteringBodyState extends State { final double clusterManagerLongitudeOffset = clusterManagerIndex * _clusterManagerLongitudeOffset; - final Marker marker = Marker( + final marker = Marker( clusterManagerId: clusterManager.clusterManagerId, markerId: markerId, position: LatLng( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/custom_marker_icon.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/custom_marker_icon.dart index 6206787f347..548146c6206 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/custom_marker_icon.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/custom_marker_icon.dart @@ -9,9 +9,9 @@ import 'package:flutter/material.dart'; /// Returns a generated png image in [ByteData] format with the requested size. Future createCustomMarkerIconImage({required Size size}) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final _MarkerPainter painter = _MarkerPainter(); + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final painter = _MarkerPainter(); painter.paint(canvas, size); @@ -30,7 +30,7 @@ class _MarkerPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final Rect rect = Offset.zero & size; - const RadialGradient gradient = RadialGradient( + const gradient = RadialGradient( colors: [Colors.yellow, Colors.red], stops: [0.4, 1.0], ); diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/ground_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/ground_overlay.dart index 8c8f5dcf159..d8f474eb7d5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/ground_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/ground_overlay.dart @@ -93,9 +93,7 @@ class GroundOverlayBodyState extends State { _groundOverlayIndex += 1; - final GroundOverlayId id = GroundOverlayId( - 'ground_overlay_$_groundOverlayIndex', - ); + final id = GroundOverlayId('ground_overlay_$_groundOverlayIndex'); final GroundOverlay groundOverlay = switch (_placingType) { _GroundOverlayPlacing.position => GroundOverlay.fromPosition( @@ -144,9 +142,7 @@ class GroundOverlayBodyState extends State { void _changeTransparency() { assert(_groundOverlay != null); setState(() { - final double transparency = _groundOverlay!.transparency == 0.0 - ? 0.5 - : 0.0; + final transparency = _groundOverlay!.transparency == 0.0 ? 0.5 : 0.0; _groundOverlay = _groundOverlay!.copyWith( transparencyParam: transparency, ); @@ -227,7 +223,7 @@ class GroundOverlayBodyState extends State { @override Widget build(BuildContext context) { - final Set overlays = { + final overlays = { if (_groundOverlay != null) _groundOverlay!, }; return Column( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_click.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_click.dart index a2cbca5c7e0..4d45e961d63 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_click.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_click.dart @@ -41,7 +41,7 @@ class _MapClickBodyState extends State<_MapClickBody> { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, onTap: (LatLng pos) { @@ -56,7 +56,7 @@ class _MapClickBodyState extends State<_MapClickBody> { }, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( @@ -66,8 +66,8 @@ class _MapClickBodyState extends State<_MapClickBody> { ]; if (mapController != null) { - final String lastTap = 'Tap:\n${_lastTap ?? ""}\n'; - final String lastLongPress = 'Long press:\n${_lastLongPress ?? ""}'; + final lastTap = 'Tap:\n${_lastTap ?? ""}\n'; + final lastLongPress = 'Long press:\n${_lastLongPress ?? ""}'; columnChildren.add( Center(child: Text(lastTap, textAlign: TextAlign.center)), ); diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_coordinates.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_coordinates.dart index 59858c4d321..3a93b0db93b 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_coordinates.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_coordinates.dart @@ -43,7 +43,7 @@ class _MapCoordinatesBodyState extends State<_MapCoordinatesBody> { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, onCameraIdle: diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_map_id.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_map_id.dart index 79e983d8a21..d4dd922b060 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_map_id.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_map_id.dart @@ -47,7 +47,7 @@ class MapIdBodyState extends State { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: _kMapCenter, @@ -57,7 +57,7 @@ class MapIdBodyState extends State { cloudMapId: _mapId, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_ui.dart index 53109eeac4d..46fa320ad3a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_ui.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/map_ui.dart @@ -253,7 +253,7 @@ class MapUiBodyState extends State { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: onMapCreated, initialCameraPosition: _kInitialPosition, compassEnabled: _compassEnabled, @@ -273,7 +273,7 @@ class MapUiBodyState extends State { onCameraMove: _updateCameraPosition, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/marker_icons.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/marker_icons.dart index 40df30c94ac..2959c7c0dcf 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/marker_icons.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/marker_icons.dart @@ -210,7 +210,7 @@ class MarkerIconsBodyState extends State { } Marker _createAssetMarker(int index) { - final LatLng position = LatLng( + final position = LatLng( _kMapCenter.latitude - (index * 0.5), _kMapCenter.longitude - 1, ); @@ -223,7 +223,7 @@ class MarkerIconsBodyState extends State { } Marker _createBytesMarker(int index) { - final LatLng position = LatLng( + final position = LatLng( _kMapCenter.latitude - (index * 0.5), _kMapCenter.longitude + 1, ); @@ -236,8 +236,8 @@ class MarkerIconsBodyState extends State { } void _updateMarkers() { - final Set markers = {}; - for (int i = 0; i < _markersAmountPerType; i++) { + final markers = {}; + for (var i = 0; i < _markersAmountPerType; i++) { if (_markerIconAsset != null) { markers.add(_createAssetMarker(i)); } @@ -299,7 +299,7 @@ class MarkerIconsBodyState extends State { final double? imagePixelRatio = _scalingEnabled ? devicePixelRatio : null; // Create canvasSize with physical marker size - final Size canvasSize = Size( + final canvasSize = Size( bitmapLogicalSize.width * (imagePixelRatio ?? 1.0), bitmapLogicalSize.height * (imagePixelRatio ?? 1.0), ); @@ -314,7 +314,7 @@ class MarkerIconsBodyState extends State { ? _getCurrentMarkerSize() : (null, null); - final BytesMapBitmap bitmap = BytesMapBitmap( + final bitmap = BytesMapBitmap( bytes.buffer.asUint8List(), imagePixelRatio: imagePixelRatio, width: width, diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/padding.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/padding.dart index 5154b88782b..beb39b305f5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/padding.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/padding.dart @@ -36,7 +36,7 @@ class MarkerIconsBodyState extends State { @override Widget build(BuildContext context) { - final ExampleGoogleMap googleMap = ExampleGoogleMap( + final googleMap = ExampleGoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: _kMapCenter, @@ -45,7 +45,7 @@ class MarkerIconsBodyState extends State { padding: _padding, ); - final List columnChildren = [ + final columnChildren = [ Padding( padding: const EdgeInsets.all(10.0), child: Center( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_circle.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_circle.dart index d45ec7e5c27..88c84c79e12 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_circle.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_circle.dart @@ -83,11 +83,11 @@ class PlaceCircleBodyState extends State { return; } - final String circleIdVal = 'circle_id_$_circleIdCounter'; + final circleIdVal = 'circle_id_$_circleIdCounter'; _circleIdCounter++; - final CircleId circleId = CircleId(circleIdVal); + final circleId = CircleId(circleIdVal); - final Circle circle = Circle( + final circle = Circle( circleId: circleId, consumeTapEvents: true, strokeColor: Colors.orange, diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_marker.dart index 9674927fe37..926c2db2e42 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_marker.dart @@ -141,11 +141,11 @@ class PlaceMarkerBodyState extends State { return; } - final String markerIdVal = 'marker_id_$_markerIdCounter'; + final markerIdVal = 'marker_id_$_markerIdCounter'; _markerIdCounter++; - final MarkerId markerId = MarkerId(markerIdVal); + final markerId = MarkerId(markerIdVal); - final Marker marker = Marker( + final marker = Marker( markerId: markerId, position: LatLng( center.latitude + sin(_markerIdCounter * pi / 6.0) / 20.0, @@ -174,7 +174,7 @@ class PlaceMarkerBodyState extends State { void _changePosition(MarkerId markerId) { final Marker marker = markers[markerId]!; final LatLng current = marker.position; - final Offset offset = Offset( + final offset = Offset( center.latitude - current.latitude, center.longitude - current.longitude, ); @@ -191,7 +191,7 @@ class PlaceMarkerBodyState extends State { void _changeAnchor(MarkerId markerId) { final Marker marker = markers[markerId]!; final Offset currentAnchor = marker.anchor; - final Offset newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); + final newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); setState(() { markers[markerId] = marker.copyWith(anchorParam: newAnchor); }); @@ -200,7 +200,7 @@ class PlaceMarkerBodyState extends State { Future _changeInfoAnchor(MarkerId markerId) async { final Marker marker = markers[markerId]!; final Offset currentAnchor = marker.infoWindow.anchor; - final Offset newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); + final newAnchor = Offset(1.0 - currentAnchor.dy, currentAnchor.dx); setState(() { markers[markerId] = marker.copyWith( infoWindowParam: marker.infoWindow.copyWith(anchorParam: newAnchor), @@ -224,7 +224,7 @@ class PlaceMarkerBodyState extends State { Future _changeInfo(MarkerId markerId) async { final Marker marker = markers[markerId]!; - final String newSnippet = '${marker.infoWindow.snippet!}*'; + final newSnippet = '${marker.infoWindow.snippet!}*'; setState(() { markers[markerId] = marker.copyWith( infoWindowParam: marker.infoWindow.copyWith(snippetParam: newSnippet), @@ -277,7 +277,7 @@ class PlaceMarkerBodyState extends State { } Future _getMarkerIcon(BuildContext context) async { - const Size canvasSize = Size(48, 48); + const canvasSize = Size(48, 48); final ByteData bytes = await createCustomMarkerIconImage(size: canvasSize); return BytesMapBitmap(bytes.buffer.asUint8List()); } diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polygon.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polygon.dart index 79475381c15..ff9eac82210 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polygon.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polygon.dart @@ -82,10 +82,10 @@ class PlacePolygonBodyState extends State { return; } - final String polygonIdVal = 'polygon_id_$_polygonIdCounter'; - final PolygonId polygonId = PolygonId(polygonIdVal); + final polygonIdVal = 'polygon_id_$_polygonIdCounter'; + final polygonId = PolygonId(polygonIdVal); - final Polygon polygon = Polygon( + final polygon = Polygon( polygonId: polygonId, consumeTapEvents: true, strokeColor: Colors.orange, @@ -262,7 +262,7 @@ class PlacePolygonBodyState extends State { } List _createPoints() { - final List points = []; + final points = []; final double offset = _polygonIdCounter.ceilToDouble(); points.add(_createLatLng(51.2395 + offset, -3.4314)); points.add(_createLatLng(53.5234 + offset, -3.5314)); @@ -272,17 +272,17 @@ class PlacePolygonBodyState extends State { } List> _createHoles(PolygonId polygonId) { - final List> holes = >[]; + final holes = >[]; final double offset = polygonOffsets[polygonId]!; - final List hole1 = []; + final hole1 = []; hole1.add(_createLatLng(51.8395 + offset, -3.8814)); hole1.add(_createLatLng(52.0234 + offset, -3.9914)); hole1.add(_createLatLng(52.1351 + offset, -4.4435)); hole1.add(_createLatLng(52.0231 + offset, -4.5829)); holes.add(hole1); - final List hole2 = []; + final hole2 = []; hole2.add(_createLatLng(52.2395 + offset, -3.6814)); hole2.add(_createLatLng(52.4234 + offset, -3.7914)); hole2.add(_createLatLng(52.5351 + offset, -4.2435)); diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polyline.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polyline.dart index 854046b3053..f749cac5f26 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polyline.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/place_polyline.dart @@ -110,11 +110,11 @@ class PlacePolylineBodyState extends State { return; } - final String polylineIdVal = 'polyline_id_$_polylineIdCounter'; + final polylineIdVal = 'polyline_id_$_polylineIdCounter'; _polylineIdCounter++; - final PolylineId polylineId = PolylineId(polylineIdVal); + final polylineId = PolylineId(polylineIdVal); - final Polyline polyline = Polyline( + final polyline = Polyline( polylineId: polylineId, consumeTapEvents: true, color: Colors.orange, @@ -307,7 +307,7 @@ class PlacePolylineBodyState extends State { } List _createPoints() { - final List points = []; + final points = []; final double offset = _polylineIdCounter.ceilToDouble(); points.add(_createLatLng(51.4816 + offset, -3.1791)); points.add(_createLatLng(53.0430 + offset, -2.9925)); diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/tile_overlay.dart index 340ac4ce48d..bcce3b5f387 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/tile_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/lib/tile_overlay.dart @@ -53,7 +53,7 @@ class TileOverlayBodyState extends State { } void _addTileOverlay() { - final TileOverlay tileOverlay = TileOverlay( + final tileOverlay = TileOverlay( tileOverlayId: const TileOverlayId('tile_overlay_1'), tileProvider: _DebugTileProvider(), ); @@ -70,9 +70,7 @@ class TileOverlayBodyState extends State { @override Widget build(BuildContext context) { - final Set overlays = { - if (_tileOverlay != null) _tileOverlay!, - }; + final overlays = {if (_tileOverlay != null) _tileOverlay!}; return Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceEvenly, @@ -124,10 +122,10 @@ class _DebugTileProvider implements TileProvider { @override Future getTile(int x, int y, int? zoom) async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final Canvas canvas = Canvas(recorder); - final TextSpan textSpan = TextSpan(text: '$x,$y', style: textStyle); - final TextPainter textPainter = TextPainter( + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + final textSpan = TextSpan(text: '$x,$y', style: textStyle); + final textPainter = TextPainter( text: textSpan, textDirection: TextDirection.ltr, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/test/example_google_map_test.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/test/example_google_map_test.dart index 8cb555d3d54..74ba4fc9ac0 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/test/example_google_map_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/test/example_google_map_test.dart @@ -40,10 +40,10 @@ void main() { testWidgets('circle updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Circle c1 = Circle(circleId: CircleId('circle_1')); - const Circle c2 = Circle(circleId: CircleId('circle_2')); - const Circle c3 = Circle(circleId: CircleId('circle_3'), radius: 1); - const Circle c3updated = Circle(circleId: CircleId('circle_3'), radius: 10); + const c1 = Circle(circleId: CircleId('circle_1')); + const c2 = Circle(circleId: CircleId('circle_2')); + const c3 = Circle(circleId: CircleId('circle_3'), radius: 1); + const c3updated = Circle(circleId: CircleId('circle_3'), radius: 10); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithObjects(circles: {c1, c2})); @@ -72,13 +72,10 @@ void main() { testWidgets('marker updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Marker m1 = Marker(markerId: MarkerId('marker_1')); - const Marker m2 = Marker(markerId: MarkerId('marker_2')); - const Marker m3 = Marker(markerId: MarkerId('marker_3')); - const Marker m3updated = Marker( - markerId: MarkerId('marker_3'), - draggable: true, - ); + const m1 = Marker(markerId: MarkerId('marker_1')); + const m2 = Marker(markerId: MarkerId('marker_2')); + const m3 = Marker(markerId: MarkerId('marker_3')); + const m3updated = Marker(markerId: MarkerId('marker_3'), draggable: true); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithObjects(markers: {m1, m2})); @@ -107,13 +104,10 @@ void main() { testWidgets('polygon updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Polygon p1 = Polygon(polygonId: PolygonId('polygon_1')); - const Polygon p2 = Polygon(polygonId: PolygonId('polygon_2')); - const Polygon p3 = Polygon( - polygonId: PolygonId('polygon_3'), - strokeWidth: 1, - ); - const Polygon p3updated = Polygon( + const p1 = Polygon(polygonId: PolygonId('polygon_1')); + const p2 = Polygon(polygonId: PolygonId('polygon_2')); + const p3 = Polygon(polygonId: PolygonId('polygon_3'), strokeWidth: 1); + const p3updated = Polygon( polygonId: PolygonId('polygon_3'), strokeWidth: 2, ); @@ -147,16 +141,10 @@ void main() { testWidgets('polyline updates with delays', (WidgetTester tester) async { platform.simulatePlatformDelay = true; - const Polyline p1 = Polyline(polylineId: PolylineId('polyline_1')); - const Polyline p2 = Polyline(polylineId: PolylineId('polyline_2')); - const Polyline p3 = Polyline( - polylineId: PolylineId('polyline_3'), - width: 1, - ); - const Polyline p3updated = Polyline( - polylineId: PolylineId('polyline_3'), - width: 2, - ); + const p1 = Polyline(polylineId: PolylineId('polyline_1')); + const p2 = Polyline(polylineId: PolylineId('polyline_2')); + const p3 = Polyline(polylineId: PolylineId('polyline_3'), width: 1); + const p3updated = Polyline(polylineId: PolylineId('polyline_3'), width: 2); // First remove one and add another, then update the new one. await tester.pumpWidget(_mapWithObjects(polylines: {p1, p2})); diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_map_inspector_ios.dart b/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_map_inspector_ios.dart index b00703f7204..9ab35fc6aae 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_map_inspector_ios.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_map_inspector_ios.dart @@ -128,7 +128,7 @@ class GoogleMapsInspectorIOS extends GoogleMapsInspectorPlatform { } // Create dummy image to represent the image of the ground overlay. - final BytesMapBitmap dummyImage = BytesMapBitmap( + final dummyImage = BytesMapBitmap( Uint8List.fromList([0]), bitmapScaling: MapBitmapScaling.none, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_maps_flutter_ios.dart b/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_maps_flutter_ios.dart index 1794c914855..123e39246c0 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_maps_flutter_ios.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_maps_flutter_ios.dart @@ -310,10 +310,7 @@ class GoogleMapsFlutterIOS extends GoogleMapsFlutterPlatform { final Set previousSet = currentTileOverlays != null ? currentTileOverlays.values.toSet() : {}; - final _TileOverlayUpdates updates = _TileOverlayUpdates.from( - previousSet, - newTileOverlays, - ); + final updates = _TileOverlayUpdates.from(previousSet, newTileOverlays); _tileOverlays[mapId] = keyTileOverlayId(newTileOverlays); return _hostApi(mapId).updateTileOverlays( updates.tileOverlaysToAdd @@ -494,37 +491,36 @@ class GoogleMapsFlutterIOS extends GoogleMapsFlutterPlatform { 'On iOS zoom level must be set when position is set for ground overlays.', ); - final PlatformMapViewCreationParams creationParams = - PlatformMapViewCreationParams( - initialCameraPosition: _platformCameraPositionFromCameraPosition( - widgetConfiguration.initialCameraPosition, - ), - mapConfiguration: mapConfiguration, - initialMarkers: mapObjects.markers - .map(_platformMarkerFromMarker) - .toList(), - initialPolygons: mapObjects.polygons - .map(_platformPolygonFromPolygon) - .toList(), - initialPolylines: mapObjects.polylines - .map(_platformPolylineFromPolyline) - .toList(), - initialCircles: mapObjects.circles - .map(_platformCircleFromCircle) - .toList(), - initialHeatmaps: mapObjects.heatmaps - .map(_platformHeatmapFromHeatmap) - .toList(), - initialTileOverlays: mapObjects.tileOverlays - .map(_platformTileOverlayFromTileOverlay) - .toList(), - initialClusterManagers: mapObjects.clusterManagers - .map(_platformClusterManagerFromClusterManager) - .toList(), - initialGroundOverlays: mapObjects.groundOverlays - .map(_platformGroundOverlayFromGroundOverlay) - .toList(), - ); + final creationParams = PlatformMapViewCreationParams( + initialCameraPosition: _platformCameraPositionFromCameraPosition( + widgetConfiguration.initialCameraPosition, + ), + mapConfiguration: mapConfiguration, + initialMarkers: mapObjects.markers + .map(_platformMarkerFromMarker) + .toList(), + initialPolygons: mapObjects.polygons + .map(_platformPolygonFromPolygon) + .toList(), + initialPolylines: mapObjects.polylines + .map(_platformPolylineFromPolyline) + .toList(), + initialCircles: mapObjects.circles + .map(_platformCircleFromCircle) + .toList(), + initialHeatmaps: mapObjects.heatmaps + .map(_platformHeatmapFromHeatmap) + .toList(), + initialTileOverlays: mapObjects.tileOverlays + .map(_platformTileOverlayFromTileOverlay) + .toList(), + initialClusterManagers: mapObjects.clusterManagers + .map(_platformClusterManagerFromClusterManager) + .toList(), + initialGroundOverlays: mapObjects.groundOverlays + .map(_platformGroundOverlayFromGroundOverlay) + .toList(), + ); return UiKitView( viewType: 'plugins.flutter.dev/google_maps_ios', @@ -1234,7 +1230,7 @@ PlatformMapConfiguration _platformMapConfigurationFromOptionsJson( // to support this legacy API that relied on cross-package magic strings. final List? padding = (options['padding'] as List?) ?.cast(); - final int? mapType = options['mapType'] as int?; + final mapType = options['mapType'] as int?; return PlatformMapConfiguration( compassEnabled: options['compassEnabled'] as bool?, cameraTargetBounds: _platformCameraTargetBoundsFromCameraTargetBoundsJson( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/serialization.dart b/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/serialization.dart index aa94f6c12b2..7c0d9f50c49 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/serialization.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/lib/src/serialization.dart @@ -25,7 +25,7 @@ void _addIfNonNull(Map map, String fieldName, Object? value) { /// Serialize [Heatmap] Object serializeHeatmap(Heatmap heatmap) { - final Map json = {}; + final json = {}; _addIfNonNull(json, _heatmapIdKey, heatmap.heatmapId.value); _addIfNonNull( @@ -69,7 +69,7 @@ WeightedLatLng? deserializeWeightedLatLng(Object? json) { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; final LatLng latLng = deserializeLatLng(list[0])!; return WeightedLatLng(latLng, weight: list[1] as double); } @@ -85,13 +85,13 @@ LatLng? deserializeLatLng(Object? json) { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; return LatLng(list[0]! as double, list[1]! as double); } /// Serialize [HeatmapGradient] Object serializeHeatmapGradient(HeatmapGradient gradient) { - final Map json = {}; + final json = {}; _addIfNonNull( json, @@ -123,8 +123,8 @@ HeatmapGradient? deserializeHeatmapGradient(Object? json) { (map[_heatmapGradientStartPointsKey]! as List) .whereType() .toList(); - final List gradientColors = []; - for (int i = 0; i < colors.length; i++) { + final gradientColors = []; + for (var i = 0; i < colors.length; i++) { gradientColors.add(HeatmapGradientColor(colors[i], startPoints[i])); } return HeatmapGradient( diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/test/google_maps_flutter_ios_test.dart b/packages/google_maps_flutter/google_maps_flutter_ios/test/google_maps_flutter_ios_test.dart index 84890f6f883..6abca680460 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/test/google_maps_flutter_ios_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/test/google_maps_flutter_ios_test.dart @@ -20,10 +20,8 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); (GoogleMapsFlutterIOS, MockMapsApi) setUpMockMap({required int mapId}) { - final MockMapsApi api = MockMapsApi(); - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS( - apiProvider: (_) => api, - ); + final api = MockMapsApi(); + final maps = GoogleMapsFlutterIOS(apiProvider: (_) => api); maps.ensureApiInitialized(mapId); return (maps, api); } @@ -34,10 +32,8 @@ void main() { }); test('init calls waitForMap', () async { - final MockMapsApi api = MockMapsApi(); - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS( - apiProvider: (_) => api, - ); + final api = MockMapsApi(); + final maps = GoogleMapsFlutterIOS(apiProvider: (_) => api); await maps.init(1); @@ -45,14 +41,14 @@ void main() { }); test('getScreenCoordinate converts and passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Arbitrary values that are all different from each other. - const LatLng latLng = LatLng(10, 20); - const ScreenCoordinate expectedCoord = ScreenCoordinate(x: 30, y: 40); + const latLng = LatLng(10, 20); + const expectedCoord = ScreenCoordinate(x: 30, y: 40); when(api.getScreenCoordinate(any)).thenAnswer( (_) async => PlatformPoint( x: expectedCoord.x.toDouble(), @@ -68,21 +64,20 @@ void main() { final VerificationResult verification = verify( api.getScreenCoordinate(captureAny), ); - final PlatformLatLng passedLatLng = - verification.captured[0] as PlatformLatLng; + final passedLatLng = verification.captured[0] as PlatformLatLng; expect(passedLatLng.latitude, latLng.latitude); expect(passedLatLng.longitude, latLng.longitude); }); test('getLatLng converts and passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Arbitrary values that are all different from each other. - const LatLng expectedLatLng = LatLng(10, 20); - const ScreenCoordinate coord = ScreenCoordinate(x: 30, y: 40); + const expectedLatLng = LatLng(10, 20); + const coord = ScreenCoordinate(x: 30, y: 40); when(api.getLatLng(any)).thenAnswer( (_) async => PlatformLatLng( latitude: expectedLatLng.latitude, @@ -93,19 +88,19 @@ void main() { final LatLng latLng = await maps.getLatLng(coord, mapId: mapId); expect(latLng, expectedLatLng); final VerificationResult verification = verify(api.getLatLng(captureAny)); - final PlatformPoint passedCoord = verification.captured[0] as PlatformPoint; + final passedCoord = verification.captured[0] as PlatformPoint; expect(passedCoord.x, coord.x); expect(passedCoord.y, coord.y); }); test('getVisibleRegion converts and passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Arbitrary values that are all different from each other. - final LatLngBounds expectedBounds = LatLngBounds( + final expectedBounds = LatLngBounds( southwest: const LatLng(10, 20), northeast: const LatLng(30, 40), ); @@ -127,7 +122,7 @@ void main() { }); test('moveCamera calls through with expected scrollBy', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -136,17 +131,15 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateScrollBy scroll = - passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final scroll = passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; update as CameraUpdateScrollBy; expect(scroll.dx, update.dx); expect(scroll.dy, update.dy); }); test('animateCamera calls through with expected scrollBy', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -157,10 +150,8 @@ void main() { final VerificationResult verification = verify( api.animateCamera(captureAny, captureAny), ); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateScrollBy scroll = - passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final scroll = passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; update as CameraUpdateScrollBy; expect(scroll.dx, update.dx); expect(scroll.dy, update.dy); @@ -168,14 +159,15 @@ void main() { }); test('animateCameraWithConfiguration calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); final CameraUpdate update = CameraUpdate.scrollBy(10, 20); - const CameraUpdateAnimationConfiguration configuration = - CameraUpdateAnimationConfiguration(duration: Duration(seconds: 1)); + const configuration = CameraUpdateAnimationConfiguration( + duration: Duration(seconds: 1), + ); expect(configuration.duration?.inSeconds, 1); await maps.animateCameraWithConfiguration( update, @@ -186,25 +178,23 @@ void main() { final VerificationResult verification = verify( api.animateCamera(captureAny, captureAny), ); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateScrollBy scroll = - passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final scroll = passedUpdate.cameraUpdate as PlatformCameraUpdateScrollBy; update as CameraUpdateScrollBy; expect(scroll.dx, update.dx); expect(scroll.dy, update.dy); - final int? passedDuration = verification.captured[1] as int?; + final passedDuration = verification.captured[1] as int?; expect(passedDuration, configuration.duration?.inMilliseconds); }); test('getZoomLevel passes values correctly', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const double expectedZoom = 4.2; + const expectedZoom = 4.2; when(api.getZoomLevel()).thenAnswer((_) async => expectedZoom); final double zoom = await maps.getZoomLevel(mapId: mapId); @@ -212,36 +202,36 @@ void main() { }); test('showInfoWindow calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String markedId = 'a_marker'; + const markedId = 'a_marker'; await maps.showMarkerInfoWindow(const MarkerId(markedId), mapId: mapId); verify(api.showInfoWindow(markedId)); }); test('hideInfoWindow calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String markedId = 'a_marker'; + const markedId = 'a_marker'; await maps.hideMarkerInfoWindow(const MarkerId(markedId), mapId: mapId); verify(api.hideInfoWindow(markedId)); }); test('isInfoWindowShown calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String markedId = 'a_marker'; + const markedId = 'a_marker'; when(api.isInfoWindowShown(markedId)).thenAnswer((_) async => true); expect( @@ -254,43 +244,43 @@ void main() { }); test('takeSnapshot calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final Uint8List fakeSnapshot = Uint8List(10); + final fakeSnapshot = Uint8List(10); when(api.takeSnapshot()).thenAnswer((_) async => fakeSnapshot); expect(await maps.takeSnapshot(mapId: mapId), fakeSnapshot); }); test('clearTileCache calls through', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const String tileOverlayId = 'overlay'; + const tileOverlayId = 'overlay'; await maps.clearTileCache(const TileOverlayId(tileOverlayId), mapId: mapId); verify(api.clearTileCache(tileOverlayId)); }); test('updateMapConfiguration passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Set some arbitrary options. - final CameraTargetBounds cameraBounds = CameraTargetBounds( + final cameraBounds = CameraTargetBounds( LatLngBounds( southwest: const LatLng(10, 20), northeast: const LatLng(30, 40), ), ); - final MapConfiguration config = MapConfiguration( + final config = MapConfiguration( compassEnabled: true, mapType: MapType.terrain, cameraTargetBounds: cameraBounds, @@ -300,8 +290,7 @@ void main() { final VerificationResult verification = verify( api.updateMapConfiguration(captureAny), ); - final PlatformMapConfiguration passedConfig = - verification.captured[0] as PlatformMapConfiguration; + final passedConfig = verification.captured[0] as PlatformMapConfiguration; // Each set option should be present. expect(passedConfig.compassEnabled, true); expect(passedConfig.mapType, PlatformMapType.terrain); @@ -328,19 +317,19 @@ void main() { }); test('updateMapOptions passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); // Set some arbitrary options. - final CameraTargetBounds cameraBounds = CameraTargetBounds( + final cameraBounds = CameraTargetBounds( LatLngBounds( southwest: const LatLng(10, 20), northeast: const LatLng(30, 40), ), ); - final Map config = { + final config = { 'compassEnabled': true, 'mapType': MapType.terrain.index, 'cameraTargetBounds': cameraBounds.toJson(), @@ -350,8 +339,7 @@ void main() { final VerificationResult verification = verify( api.updateMapConfiguration(captureAny), ); - final PlatformMapConfiguration passedConfig = - verification.captured[0] as PlatformMapConfiguration; + final passedConfig = verification.captured[0] as PlatformMapConfiguration; // Each set option should be present. expect(passedConfig.compassEnabled, true); expect(passedConfig.mapType, PlatformMapType.terrain); @@ -378,15 +366,15 @@ void main() { }); test('updateCircles passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Circle object1 = Circle(circleId: CircleId('1')); - const Circle object2old = Circle(circleId: CircleId('2')); + const object1 = Circle(circleId: CircleId('1')); + const object2old = Circle(circleId: CircleId('2')); final Circle object2new = object2old.copyWith(radiusParam: 42); - const Circle object3 = Circle(circleId: CircleId('3')); + const object3 = Circle(circleId: CircleId('3')); await maps.updateCircles( CircleUpdates.from( {object1, object2old}, @@ -398,11 +386,9 @@ void main() { final VerificationResult verification = verify( api.updateCircles(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.circleId.value); @@ -439,17 +425,13 @@ void main() { }); test('updateClusterManagers passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const ClusterManager object1 = ClusterManager( - clusterManagerId: ClusterManagerId('1'), - ); - const ClusterManager object3 = ClusterManager( - clusterManagerId: ClusterManagerId('3'), - ); + const object1 = ClusterManager(clusterManagerId: ClusterManagerId('1')); + const object3 = ClusterManager(clusterManagerId: ClusterManagerId('3')); await maps.updateClusterManagers( ClusterManagerUpdates.from( {object1}, @@ -461,9 +443,8 @@ void main() { final VerificationResult verification = verify( api.updateClusterManagers(captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toRemove = verification.captured[1] as List; + final toAdd = verification.captured[0] as List; + final toRemove = verification.captured[1] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.clusterManagerId.value); @@ -475,15 +456,15 @@ void main() { }); test('updateMarkers passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Marker object1 = Marker(markerId: MarkerId('1')); - const Marker object2old = Marker(markerId: MarkerId('2')); + const object1 = Marker(markerId: MarkerId('1')); + const object2old = Marker(markerId: MarkerId('2')); final Marker object2new = object2old.copyWith(rotationParam: 42); - const Marker object3 = Marker(markerId: MarkerId('3')); + const object3 = Marker(markerId: MarkerId('3')); await maps.updateMarkers( MarkerUpdates.from( {object1, object2old}, @@ -495,11 +476,9 @@ void main() { final VerificationResult verification = verify( api.updateMarkers(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.markerId.value); @@ -562,15 +541,15 @@ void main() { }); test('updatePolygons passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Polygon object1 = Polygon(polygonId: PolygonId('1')); - const Polygon object2old = Polygon(polygonId: PolygonId('2')); + const object1 = Polygon(polygonId: PolygonId('1')); + const object2old = Polygon(polygonId: PolygonId('2')); final Polygon object2new = object2old.copyWith(strokeWidthParam: 42); - const Polygon object3 = Polygon(polygonId: PolygonId('3')); + const object3 = Polygon(polygonId: PolygonId('3')); await maps.updatePolygons( PolygonUpdates.from( {object1, object2old}, @@ -582,11 +561,9 @@ void main() { final VerificationResult verification = verify( api.updatePolygons(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.polygonId.value); @@ -623,13 +600,13 @@ void main() { }); test('updatePolylines passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Polyline object1 = Polyline(polylineId: PolylineId('1')); - const Polyline object2old = Polyline(polylineId: PolylineId('2')); + const object1 = Polyline(polylineId: PolylineId('1')); + const object2old = Polyline(polylineId: PolylineId('2')); final Polyline object2new = object2old.copyWith( widthParam: 42, startCapParam: Cap.squareCap, @@ -639,7 +616,7 @@ void main() { BitmapDescriptor.defaultMarker, refWidth: 15, ); - final Polyline object3 = Polyline( + final object3 = Polyline( polylineId: const PolylineId('3'), startCap: customCap, endCap: Cap.roundCap, @@ -655,11 +632,9 @@ void main() { final VerificationResult verification = verify( api.updatePolylines(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; void expectPolyline(PlatformPolyline actual, Polyline expected) { expect(actual.polylineId, expected.polylineId.value); expect(actual.consumesTapEvents, expected.consumeTapEvents); @@ -699,17 +674,15 @@ void main() { }); test('updateTileOverlays passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const TileOverlay object1 = TileOverlay(tileOverlayId: TileOverlayId('1')); - const TileOverlay object2old = TileOverlay( - tileOverlayId: TileOverlayId('2'), - ); + const object1 = TileOverlay(tileOverlayId: TileOverlayId('1')); + const object2old = TileOverlay(tileOverlayId: TileOverlayId('2')); final TileOverlay object2new = object2old.copyWith(zIndexParam: 42); - const TileOverlay object3 = TileOverlay(tileOverlayId: TileOverlayId('3')); + const object3 = TileOverlay(tileOverlayId: TileOverlayId('3')); // Pre-set the initial state, since this update method doesn't take the old // state. await maps.updateTileOverlays( @@ -726,11 +699,9 @@ void main() { final VerificationResult verification = verify( api.updateTileOverlays(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; void expectTileOverlay(PlatformTileOverlay actual, TileOverlay expected) { expect(actual.tileOverlayId, expected.tileOverlayId.value); expect(actual.fadeIn, expected.fadeIn); @@ -752,18 +723,18 @@ void main() { }); test('updateGroundOverlays passes expected arguments', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final AssetMapBitmap image = AssetMapBitmap( + final image = AssetMapBitmap( 'assets/red_square.png', imagePixelRatio: 1.0, bitmapScaling: MapBitmapScaling.none, ); - final GroundOverlay object1 = GroundOverlay.fromBounds( + final object1 = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('1'), bounds: LatLngBounds( southwest: const LatLng(10, 20), @@ -771,7 +742,7 @@ void main() { ), image: image, ); - final GroundOverlay object2old = GroundOverlay.fromBounds( + final object2old = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('2'), bounds: LatLngBounds( southwest: const LatLng(10, 20), @@ -786,7 +757,7 @@ void main() { transparencyParam: 0.5, zIndexParam: 100, ); - final GroundOverlay object3 = GroundOverlay.fromPosition( + final object3 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('3'), position: const LatLng(10, 20), width: 100, @@ -805,11 +776,9 @@ void main() { api.updateGroundOverlays(captureAny, captureAny, captureAny), ); - final List toAdd = - verification.captured[0] as List; - final List toChange = - verification.captured[1] as List; - final List toRemove = verification.captured[2] as List; + final toAdd = verification.captured[0] as List; + final toChange = verification.captured[1] as List; + final toRemove = verification.captured[2] as List; // Object one should be removed. expect(toRemove.length, 1); expect(toRemove.first, object1.groundOverlayId.value); @@ -892,18 +861,18 @@ void main() { test( 'updateGroundOverlays throws assertion error on unsupported ground overlays', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final AssetMapBitmap image = AssetMapBitmap( + final image = AssetMapBitmap( 'assets/red_square.png', imagePixelRatio: 1.0, bitmapScaling: MapBitmapScaling.none, ); - final GroundOverlay object3 = GroundOverlay.fromPosition( + final object3 = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('1'), position: const LatLng(10, 20), // Assert should be thrown because zoomLevel is not set for position-based @@ -926,26 +895,26 @@ void main() { ); test('markers send drag event to correct streams', () async { - const int mapId = 1; - const String dragStartId = 'drag-start-marker'; - const String dragId = 'drag-marker'; - const String dragEndId = 'drag-end-marker'; - final PlatformLatLng fakePosition = PlatformLatLng( - latitude: 1.0, - longitude: 1.0, - ); + const mapId = 1; + const dragStartId = 'drag-start-marker'; + const dragId = 'drag-marker'; + const dragEndId = 'drag-end-marker'; + final fakePosition = PlatformLatLng(latitude: 1.0, longitude: 1.0); - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue markerDragStartStream = - StreamQueue(maps.onMarkerDragStart(mapId: mapId)); - final StreamQueue markerDragStream = - StreamQueue(maps.onMarkerDrag(mapId: mapId)); - final StreamQueue markerDragEndStream = - StreamQueue(maps.onMarkerDragEnd(mapId: mapId)); + final markerDragStartStream = StreamQueue( + maps.onMarkerDragStart(mapId: mapId), + ); + final markerDragStream = StreamQueue( + maps.onMarkerDrag(mapId: mapId), + ); + final markerDragEndStream = StreamQueue( + maps.onMarkerDragEnd(mapId: mapId), + ); // Simulate messages from the native side. callbackHandler.onMarkerDragStart(dragStartId, fakePosition); @@ -958,17 +927,15 @@ void main() { }); test('markers send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( - maps.onMarkerTap(mapId: mapId), - ); + final stream = StreamQueue(maps.onMarkerTap(mapId: mapId)); // Simulate message from the native side. callbackHandler.onMarkerTap(objectId); @@ -977,17 +944,15 @@ void main() { }); test('circles send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( - maps.onCircleTap(mapId: mapId), - ); + final stream = StreamQueue(maps.onCircleTap(mapId: mapId)); // Simulate message from the native side. callbackHandler.onCircleTap(objectId); @@ -996,30 +961,27 @@ void main() { }); test('clusters send tap events to correct stream', () async { - const int mapId = 1; - const String managerId = 'manager-id'; - final PlatformLatLng fakePosition = PlatformLatLng( - latitude: 10, - longitude: 20, - ); - final PlatformLatLngBounds fakeBounds = PlatformLatLngBounds( + const mapId = 1; + const managerId = 'manager-id'; + final fakePosition = PlatformLatLng(latitude: 10, longitude: 20); + final fakeBounds = PlatformLatLngBounds( southwest: PlatformLatLng(latitude: 30, longitude: 40), northeast: PlatformLatLng(latitude: 50, longitude: 60), ); - const List markerIds = ['marker-1', 'marker-2']; - final PlatformCluster cluster = PlatformCluster( + const markerIds = ['marker-1', 'marker-2']; + final cluster = PlatformCluster( clusterManagerId: managerId, position: fakePosition, bounds: fakeBounds, markerIds: markerIds, ); - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( + final stream = StreamQueue( maps.onClusterTap(mapId: mapId), ); @@ -1045,15 +1007,15 @@ void main() { }); test('polygons send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( + final stream = StreamQueue( maps.onPolygonTap(mapId: mapId), ); @@ -1064,15 +1026,15 @@ void main() { }); test('polylines send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = StreamQueue( + final stream = StreamQueue( maps.onPolylineTap(mapId: mapId), ); @@ -1083,18 +1045,17 @@ void main() { }); test('ground overlays send tap events to correct stream', () async { - const int mapId = 1; - const String objectId = 'object-id'; + const mapId = 1; + const objectId = 'object-id'; - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); final HostMapMessageHandler callbackHandler = maps.ensureHandlerInitialized( mapId, ); - final StreamQueue stream = - StreamQueue( - maps.onGroundOverlayTap(mapId: mapId), - ); + final stream = StreamQueue( + maps.onGroundOverlayTap(mapId: mapId), + ); // Simulate message from the native side. callbackHandler.onGroundOverlayTap(objectId); @@ -1103,20 +1064,19 @@ void main() { }); test('moveCamera calls through with expected newCameraPosition', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const LatLng latLng = LatLng(10.0, 20.0); - const CameraPosition position = CameraPosition(target: latLng); + const latLng = LatLng(10.0, 20.0); + const position = CameraPosition(target: latLng); final CameraUpdate update = CameraUpdate.newCameraPosition(position); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewCameraPosition typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewCameraPosition; update as CameraUpdateNewCameraPosition; expect( @@ -1130,19 +1090,18 @@ void main() { }); test('moveCamera calls through with expected newLatLng', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const LatLng latLng = LatLng(10.0, 20.0); + const latLng = LatLng(10.0, 20.0); final CameraUpdate update = CameraUpdate.newLatLng(latLng); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewLatLng typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewLatLng; update as CameraUpdateNewLatLng; expect(typedUpdate.latLng.latitude, update.latLng.latitude); @@ -1150,12 +1109,12 @@ void main() { }); test('moveCamera calls through with expected newLatLngBounds', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - final LatLngBounds latLng = LatLngBounds( + final latLng = LatLngBounds( northeast: const LatLng(10.0, 20.0), southwest: const LatLng(9.0, 21.0), ); @@ -1163,9 +1122,8 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewLatLngBounds typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewLatLngBounds; update as CameraUpdateNewLatLngBounds; expect( @@ -1188,19 +1146,18 @@ void main() { }); test('moveCamera calls through with expected newLatLngZoom', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const LatLng latLng = LatLng(10.0, 20.0); + const latLng = LatLng(10.0, 20.0); final CameraUpdate update = CameraUpdate.newLatLngZoom(latLng, 2.0); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateNewLatLngZoom typedUpdate = + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateNewLatLngZoom; update as CameraUpdateNewLatLngZoom; expect(typedUpdate.latLng.latitude, update.latLng.latitude); @@ -1209,20 +1166,18 @@ void main() { }); test('moveCamera calls through with expected zoomBy', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); - const Offset focus = Offset(10.0, 20.0); + const focus = Offset(10.0, 20.0); final CameraUpdate update = CameraUpdate.zoomBy(2.0, focus); await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoomBy typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoomBy; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoomBy; update as CameraUpdateZoomBy; expect(typedUpdate.focus?.x, update.focus?.dx); expect(typedUpdate.focus?.y, update.focus?.dy); @@ -1230,7 +1185,7 @@ void main() { }); test('moveCamera calls through with expected zoomTo', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -1239,16 +1194,14 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoomTo typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoomTo; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoomTo; update as CameraUpdateZoomTo; expect(typedUpdate.zoom, update.zoom); }); test('moveCamera calls through with expected zoomIn', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -1257,15 +1210,13 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoom typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; expect(typedUpdate.out, false); }); test('moveCamera calls through with expected zoomOut', () async { - const int mapId = 1; + const mapId = 1; final (GoogleMapsFlutterIOS maps, MockMapsApi api) = setUpMockMap( mapId: mapId, ); @@ -1274,10 +1225,8 @@ void main() { await maps.moveCamera(update, mapId: mapId); final VerificationResult verification = verify(api.moveCamera(captureAny)); - final PlatformCameraUpdate passedUpdate = - verification.captured[0] as PlatformCameraUpdate; - final PlatformCameraUpdateZoom typedUpdate = - passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; + final passedUpdate = verification.captured[0] as PlatformCameraUpdate; + final typedUpdate = passedUpdate.cameraUpdate as PlatformCameraUpdateZoom; expect(typedUpdate.out, true); }); @@ -1301,13 +1250,12 @@ void main() { final PlatformBitmap platformBitmap = GoogleMapsFlutterIOS.platformBitmapFromBitmapDescriptor(bitmap); expect(platformBitmap.bitmap, isA()); - final PlatformBitmapDefaultMarker typedBitmap = - platformBitmap.bitmap as PlatformBitmapDefaultMarker; + final typedBitmap = platformBitmap.bitmap as PlatformBitmapDefaultMarker; expect(typedBitmap.hue, 10.0); }); test('BytesMapBitmap bitmap to PlatformBitmap', () { - final Uint8List data = Uint8List.fromList([1, 2, 3, 4]); + final data = Uint8List.fromList([1, 2, 3, 4]); final BytesMapBitmap bitmap = BitmapDescriptor.bytes( data, imagePixelRatio: 2.0, @@ -1317,8 +1265,7 @@ void main() { final PlatformBitmap platformBitmap = GoogleMapsFlutterIOS.platformBitmapFromBitmapDescriptor(bitmap); expect(platformBitmap.bitmap, isA()); - final PlatformBitmapBytesMap typedBitmap = - platformBitmap.bitmap as PlatformBitmapBytesMap; + final typedBitmap = platformBitmap.bitmap as PlatformBitmapBytesMap; expect(typedBitmap.byteData, data); expect(typedBitmap.bitmapScaling, PlatformMapBitmapScaling.auto); expect(typedBitmap.imagePixelRatio, 2.0); @@ -1327,8 +1274,8 @@ void main() { }); test('AssetMapBitmap bitmap to PlatformBitmap', () { - const String assetName = 'fake_asset_name'; - final AssetMapBitmap bitmap = AssetMapBitmap( + const assetName = 'fake_asset_name'; + final bitmap = AssetMapBitmap( assetName, imagePixelRatio: 2.0, width: 100.0, @@ -1337,8 +1284,7 @@ void main() { final PlatformBitmap platformBitmap = GoogleMapsFlutterIOS.platformBitmapFromBitmapDescriptor(bitmap); expect(platformBitmap.bitmap, isA()); - final PlatformBitmapAssetMap typedBitmap = - platformBitmap.bitmap as PlatformBitmapAssetMap; + final typedBitmap = platformBitmap.bitmap as PlatformBitmapAssetMap; expect(typedBitmap.assetName, assetName); expect(typedBitmap.bitmapScaling, PlatformMapBitmapScaling.auto); expect(typedBitmap.imagePixelRatio, 2.0); @@ -1347,21 +1293,21 @@ void main() { }); testWidgets('cloudMapId is passed', (WidgetTester tester) async { - const String cloudMapId = '000000000000000'; // Dummy map ID. - final Completer passedCloudMapIdCompleter = Completer(); + const cloudMapId = '000000000000000'; // Dummy map ID. + final passedCloudMapIdCompleter = Completer(); TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMethodCallHandler(SystemChannels.platform_views, ( MethodCall methodCall, ) { if (methodCall.method == 'create') { - final Map args = Map.from( + final args = Map.from( methodCall.arguments as Map, ); if (args.containsKey('params')) { - final Uint8List paramsUint8List = args['params'] as Uint8List; - final ByteData byteData = ByteData.sublistView(paramsUint8List); - final PlatformMapViewCreationParams? creationParams = + final paramsUint8List = args['params'] as Uint8List; + final byteData = ByteData.sublistView(paramsUint8List); + final creationParams = MapsApi.pigeonChannelCodec.decodeMessage(byteData) as PlatformMapViewCreationParams?; if (creationParams != null) { @@ -1376,7 +1322,7 @@ void main() { return null; }); - final GoogleMapsFlutterIOS maps = GoogleMapsFlutterIOS(); + final maps = GoogleMapsFlutterIOS(); await tester.pumpWidget( Directionality( diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart index 67c8d78570e..f9ad5d8def7 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart @@ -256,7 +256,7 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { final Map arguments = _getArgumentDictionary(call); final Map? tileOverlaysForThisMap = _tileOverlays[mapId]; - final String tileOverlayId = arguments['tileOverlayId']! as String; + final tileOverlayId = arguments['tileOverlayId']! as String; final TileOverlay? tileOverlay = tileOverlaysForThisMap?[TileOverlayId(tileOverlayId)]; final TileProvider? tileProvider = tileOverlay?.tileProvider; @@ -271,7 +271,7 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { return tile.toJson(); case 'cluster#onTap': final Map arguments = _getArgumentDictionary(call); - final ClusterManagerId clusterManagerId = ClusterManagerId( + final clusterManagerId = ClusterManagerId( arguments['clusterManagerId']! as String, ); final LatLng position = LatLng.fromJson(arguments['position'])!; @@ -284,7 +284,7 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { ), ); - final LatLngBounds bounds = LatLngBounds( + final bounds = LatLngBounds( northeast: LatLng.fromJson(latLngData['northeast'])!, southwest: LatLng.fromJson(latLngData['southwest'])!, ); @@ -389,10 +389,7 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { final Set previousSet = currentTileOverlays != null ? currentTileOverlays.values.toSet() : {}; - final TileOverlayUpdates updates = TileOverlayUpdates.from( - previousSet, - newTileOverlays, - ); + final updates = TileOverlayUpdates.from(previousSet, newTileOverlays); _tileOverlays[mapId] = keyTileOverlayId(newTileOverlays); return channel( mapId, @@ -440,7 +437,7 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { final List successAndError = (await channel( mapId, ).invokeMethod>('map#setStyle', mapStyle))!; - final bool success = successAndError[0] as bool; + final success = successAndError[0] as bool; if (!success) { throw MapStyleException(successAndError[1] as String); } @@ -540,7 +537,7 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { MapObjects mapObjects = const MapObjects(), Map mapOptions = const {}, }) { - final Map creationParams = { + final creationParams = { 'initialCameraPosition': widgetConfiguration.initialCameraPosition .toMap(), 'options': mapOptions, diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/serialization.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/serialization.dart index 5c3cf395141..8b3b6317b4e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/serialization.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/serialization.dart @@ -32,7 +32,7 @@ Object serializeMapsObjectUpdates>( MapsObjectUpdates updates, Object Function(T) serialize, ) { - final Map json = {}; + final json = {}; _addIfNonNull( json, @@ -57,7 +57,7 @@ Object serializeMapsObjectUpdates>( /// Serialize [Heatmap] Object serializeHeatmap(Heatmap heatmap) { - final Map json = {}; + final json = {}; _addIfNonNull(json, _heatmapIdKey, heatmap.heatmapId.value); _addIfNonNull( @@ -103,7 +103,7 @@ WeightedLatLng? deserializeWeightedLatLng(Object? json) { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; final LatLng latLng = deserializeLatLng(list[0])!; return WeightedLatLng(latLng, weight: list[1] as double); } @@ -119,13 +119,13 @@ LatLng? deserializeLatLng(Object? json) { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; return LatLng(list[0]! as double, list[1]! as double); } /// Serialize [HeatmapGradient] Object serializeHeatmapGradient(HeatmapGradient gradient) { - final Map json = {}; + final json = {}; _addIfNonNull( json, @@ -159,8 +159,8 @@ HeatmapGradient? deserializeHeatmapGradient(Object? json) { (map[_heatmapGradientStartPointsKey]! as List) .whereType() .toList(); - final List gradientColors = []; - for (int i = 0; i < colors.length; i++) { + final gradientColors = []; + for (var i = 0; i < colors.length; i++) { gradientColors.add(HeatmapGradientColor(colors[i], startPoints[i])); } return HeatmapGradient( diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/bitmap.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/bitmap.dart index 8ad4752685f..c6dc06292e6 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/bitmap.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/bitmap.dart @@ -63,14 +63,14 @@ abstract class BitmapDescriptor { @Deprecated('No longer supported') static BitmapDescriptor fromJson(Object json) { assert(json is List); - final List jsonList = json as List; + final jsonList = json as List; assert(_validTypes.contains(jsonList[0])); switch (jsonList[0]) { case _defaultMarker: assert(jsonList.length <= 2); if (jsonList.length == 2) { assert(jsonList[1] is num); - final num secondElement = jsonList[1] as num; + final secondElement = jsonList[1] as num; assert(0 <= secondElement && secondElement < 360); return DefaultMarker(hue: secondElement); } @@ -101,7 +101,7 @@ abstract class BitmapDescriptor { if (jsonList.length == 4) { assert(jsonList[3] != null && jsonList[3] is List); assert((jsonList[3] as List).length == 2); - final List sizeList = jsonList[3] as List; + final sizeList = jsonList[3] as List; return AssetImageBitmap( name: jsonList[1] as String, scale: jsonList[2] as double, @@ -118,8 +118,7 @@ abstract class BitmapDescriptor { case AssetMapBitmap.type: assert(jsonList.length == 2); assert(jsonList[1] != null && jsonList[1] is Map); - final Map jsonMap = - jsonList[1] as Map; + final jsonMap = jsonList[1] as Map; assert(jsonMap.containsKey('assetName')); assert(jsonMap.containsKey('bitmapScaling')); assert(jsonMap.containsKey('imagePixelRatio')); @@ -146,8 +145,7 @@ abstract class BitmapDescriptor { case BytesMapBitmap.type: assert(jsonList.length == 2); assert(jsonList[1] != null && jsonList[1] is Map); - final Map jsonMap = - jsonList[1] as Map; + final jsonMap = jsonList[1] as Map; assert(jsonMap.containsKey('byteData')); assert(jsonMap.containsKey('bitmapScaling')); assert(jsonMap.containsKey('imagePixelRatio')); @@ -256,11 +254,7 @@ abstract class BitmapDescriptor { if (!mipmaps && devicePixelRatio != null) { return AssetImageBitmap(name: assetName, scale: devicePixelRatio); } - final AssetImage assetImage = AssetImage( - assetName, - package: package, - bundle: bundle, - ); + final assetImage = AssetImage(assetName, package: package, bundle: bundle); final AssetBundleImageKey assetBundleImageKey = await assetImage.obtainKey( configuration, ); @@ -811,11 +805,7 @@ class AssetMapBitmap extends MapBitmap { MapBitmapScaling bitmapScaling = MapBitmapScaling.auto, }) async { assert(assetName.isNotEmpty, 'The asset name must not be empty.'); - final AssetImage assetImage = AssetImage( - assetName, - package: package, - bundle: bundle, - ); + final assetImage = AssetImage(assetName, package: package, bundle: bundle); final AssetBundleImageKey assetBundleImageKey = await assetImage.obtainKey( configuration, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/callbacks.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/callbacks.dart index 2bf92bec7e6..76dd69455c4 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/callbacks.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/callbacks.dart @@ -35,9 +35,7 @@ class ArgumentCallbacks { if (length == 1) { _callbacks[0].call(argument); } else if (0 < length) { - for (final ArgumentCallback callback in List>.from( - _callbacks, - )) { + for (final callback in List>.from(_callbacks)) { callback(argument); } } diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart index 3dc0161d953..b20222748ef 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/circle.dart @@ -111,7 +111,7 @@ class Circle implements MapsObject { /// Converts this object to something serializable in JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster_manager.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster_manager.dart index 67df384078d..db6cc0e455e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster_manager.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster_manager.dart @@ -46,7 +46,7 @@ class ClusterManager implements MapsObject { /// Converts this object to something serializable in JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/ground_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/ground_overlay.dart index bf712c71ab6..62d77a98c25 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/ground_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/ground_overlay.dart @@ -310,7 +310,7 @@ class GroundOverlay implements MapsObject { /// Converts this object to something serializable in JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/heatmap.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/heatmap.dart index 1eb10292aa8..88f33b8ab82 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/heatmap.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/heatmap.dart @@ -166,7 +166,7 @@ class Heatmap implements MapsObject { /// Converts this object to something serializable in JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { @@ -283,7 +283,7 @@ class HeatmapGradient { /// Converts this object to something serializable in JSON. Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/location.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/location.dart index 6879757087f..9c193950a3a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/location.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/location.dart @@ -39,7 +39,7 @@ class LatLng { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; return LatLng(list[0]! as double, list[1]! as double); } @@ -111,7 +111,7 @@ class LatLngBounds { return null; } assert(json is List && json.length == 2); - final List list = json as List; + final list = json as List; return LatLngBounds( southwest: LatLng.fromJson(list[0])!, northeast: LatLng.fromJson(list[1])!, diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/maps_object_updates.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/maps_object_updates.dart index 85f9d2da4c1..33bf6efdc7e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/maps_object_updates.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/maps_object_updates.dart @@ -82,7 +82,7 @@ class MapsObjectUpdates> { /// Converts this object to JSON. Object toJson() { - final Map updateMap = {}; + final updateMap = {}; void addIfNonNull(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart index 3de612c04e5..7756ce42295 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/marker.dart @@ -66,7 +66,7 @@ class InfoWindow { /// Converts this object to something serializable in JSON. Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { @@ -317,7 +317,7 @@ class Marker implements MapsObject { /// Converts this object to something serializable in JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart index fed4a2c9e48..9d84e1317c5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polygon.dart @@ -131,7 +131,7 @@ class Polygon implements MapsObject { /// Converts this object to something serializable in JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { @@ -180,7 +180,7 @@ class Polygon implements MapsObject { int get hashCode => polygonId.hashCode; Object _pointsToJson() { - final List result = []; + final result = []; for (final LatLng point in points) { result.add(point.toJson()); } @@ -188,10 +188,10 @@ class Polygon implements MapsObject { } List> _holesToJson() { - final List> result = >[]; + final result = >[]; for (final List hole in holes) { - final List jsonHole = []; - for (final LatLng point in hole) { + final jsonHole = []; + for (final point in hole) { jsonHole.add(point.toJson()); } result.add(jsonHole); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart index 085ed9e34be..970ffdb35a2 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/polyline.dart @@ -161,7 +161,7 @@ class Polyline implements MapsObject { /// Converts this object to something serializable in JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { @@ -214,7 +214,7 @@ class Polyline implements MapsObject { int get hashCode => polylineId.hashCode; Object _pointsToJson() { - final List result = []; + final result = []; for (final LatLng point in points) { result.add(point.toJson()); } @@ -222,7 +222,7 @@ class Polyline implements MapsObject { } Object _patternToJson() { - final List result = []; + final result = []; for (final PatternItem patternItem in patterns) { result.add(patternItem.toJson()); } diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile.dart index 6a14cfbc685..654095b7ae2 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile.dart @@ -25,7 +25,7 @@ class Tile { /// Converts this object to JSON. Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart index e12458d83a0..7732b841306 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/tile_overlay.dart @@ -112,7 +112,7 @@ class TileOverlay implements MapsObject { /// Converts this object to JSON. @override Object toJson() { - final Map json = {}; + final json = {}; void addIfPresent(String fieldName, Object? value) { if (value != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/method_channel/method_channel_google_maps_flutter_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/method_channel/method_channel_google_maps_flutter_test.dart index 6a998465c42..83d9adfe247 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/method_channel/method_channel_google_maps_flutter_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/method_channel/method_channel_google_maps_flutter_test.dart @@ -54,9 +54,8 @@ void main() { // TODO(stuartmorgan): Remove this once there is real test coverage of // each method, since that would cover this issue. test('non-void invokeMethods handle types correctly', () async { - const int mapId = 0; - final MethodChannelGoogleMapsFlutter maps = - MethodChannelGoogleMapsFlutter(); + const mapId = 0; + final maps = MethodChannelGoogleMapsFlutter(); configureMockMap( maps, mapId: mapId, @@ -87,35 +86,35 @@ void main() { ]); }); test('markers send drag event to correct streams', () async { - const int mapId = 1; - final Map jsonMarkerDragStartEvent = { + const mapId = 1; + final jsonMarkerDragStartEvent = { 'mapId': mapId, 'markerId': 'drag-start-marker', 'position': [1.0, 1.0], }; - final Map jsonMarkerDragEvent = { + final jsonMarkerDragEvent = { 'mapId': mapId, 'markerId': 'drag-marker', 'position': [1.0, 1.0], }; - final Map jsonMarkerDragEndEvent = { + final jsonMarkerDragEndEvent = { 'mapId': mapId, 'markerId': 'drag-end-marker', 'position': [1.0, 1.0], }; - final MethodChannelGoogleMapsFlutter maps = - MethodChannelGoogleMapsFlutter(); + final maps = MethodChannelGoogleMapsFlutter(); maps.ensureChannelInitialized(mapId); - final StreamQueue markerDragStartStream = - StreamQueue( - maps.onMarkerDragStart(mapId: mapId), - ); - final StreamQueue markerDragStream = - StreamQueue(maps.onMarkerDrag(mapId: mapId)); - final StreamQueue markerDragEndStream = - StreamQueue(maps.onMarkerDragEnd(mapId: mapId)); + final markerDragStartStream = StreamQueue( + maps.onMarkerDragStart(mapId: mapId), + ); + final markerDragStream = StreamQueue( + maps.onMarkerDrag(mapId: mapId), + ); + final markerDragEndStream = StreamQueue( + maps.onMarkerDragEnd(mapId: mapId), + ); await sendPlatformMessage( mapId, diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/platform_interface/google_maps_flutter_platform_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/platform_interface/google_maps_flutter_platform_test.dart index 033421ea014..1f72413a948 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/platform_interface/google_maps_flutter_platform_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/platform_interface/google_maps_flutter_platform_test.dart @@ -38,8 +38,7 @@ void main() { }); test('Can be mocked with `implements`', () { - final GoogleMapsFlutterPlatformMock mock = - GoogleMapsFlutterPlatformMock(); + final mock = GoogleMapsFlutterPlatformMock(); GoogleMapsFlutterPlatform.instance = mock; }); @@ -131,8 +130,9 @@ void main() { ExtendsGoogleMapsFlutterPlatform(); GoogleMapsFlutterPlatform.instance = platform; - const CameraUpdateAnimationConfiguration animationConfig = - CameraUpdateAnimationConfiguration(duration: Duration(seconds: 2)); + const animationConfig = CameraUpdateAnimationConfiguration( + duration: Duration(seconds: 2), + ); final CameraUpdate cameraUpdate = CameraUpdate.newCameraPosition( const CameraPosition(target: LatLng(10.0, 15.0)), ); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/advanced_marker_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/advanced_marker_test.dart index a794cd5986f..1db90a8dd14 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/advanced_marker_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/advanced_marker_test.dart @@ -9,9 +9,7 @@ void main() { group('$AdvancedMarker', () { test('constructor defaults', () { - final AdvancedMarker marker = AdvancedMarker( - markerId: const MarkerId('ABC123'), - ); + final marker = AdvancedMarker(markerId: const MarkerId('ABC123')); expect(marker.alpha, equals(1.0)); expect(marker.anchor, equals(const Offset(0.5, 1.0))); @@ -46,7 +44,7 @@ void main() { test('toJson', () { final BitmapDescriptor testDescriptor = BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan); - final AdvancedMarker marker = AdvancedMarker( + final marker = AdvancedMarker( markerId: const MarkerId('ABC123'), alpha: 0.12345, anchor: const Offset(100, 100), @@ -70,7 +68,7 @@ void main() { collisionBehavior: MarkerCollisionBehavior.requiredAndHidesOptional, ); - final Map json = marker.toJson() as Map; + final json = marker.toJson() as Map; expect(json, { 'markerId': 'ABC123', @@ -104,26 +102,24 @@ void main() { }); test('copyWith', () { - const MarkerId markerId = MarkerId('ABC123'); - final AdvancedMarker marker = AdvancedMarker(markerId: markerId); + const markerId = MarkerId('ABC123'); + final marker = AdvancedMarker(markerId: markerId); final BitmapDescriptor testDescriptor = BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan); - const double testAlphaParam = 0.12345; - const Offset testAnchorParam = Offset(100, 100); + const testAlphaParam = 0.12345; + const testAnchorParam = Offset(100, 100); final bool testConsumeTapEventsParam = !marker.consumeTapEvents; final bool testDraggableParam = !marker.draggable; final bool testFlatParam = !marker.flat; - final BitmapDescriptor testIconParam = testDescriptor; - const InfoWindow testInfoWindowParam = InfoWindow(title: 'Test'); - const LatLng testPositionParam = LatLng(100, 100); + final testIconParam = testDescriptor; + const testInfoWindowParam = InfoWindow(title: 'Test'); + const testPositionParam = LatLng(100, 100); const double testRotationParam = 100; final bool testVisibleParam = !marker.visible; const double testZIndexParam = 100; - const ClusterManagerId testClusterManagerIdParam = ClusterManagerId( - 'DEF123', - ); - final List log = []; + const testClusterManagerIdParam = ClusterManagerId('DEF123'); + final log = []; const MarkerCollisionBehavior testCollisionBehavior = MarkerCollisionBehavior.requiredAndHidesOptional; @@ -184,7 +180,7 @@ void main() { }); test('zIndex param', () { - final AdvancedMarker marker = AdvancedMarker( + final marker = AdvancedMarker( markerId: const MarkerId('ABC123'), zIndex: 5, ); @@ -194,7 +190,7 @@ void main() { }); test('zIndexInt param copyWith', () { - final AdvancedMarker marker = AdvancedMarker( + final marker = AdvancedMarker( markerId: const MarkerId('ABC123'), zIndex: 5, ); @@ -204,7 +200,7 @@ void main() { }); test('zIndex param copyWith', () { - final AdvancedMarker marker = AdvancedMarker( + final marker = AdvancedMarker( markerId: const MarkerId('ABC123'), zIndex: 5, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/bitmap_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/bitmap_test.dart index 16aa10d28ee..815476f3797 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/bitmap_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/bitmap_test.dart @@ -219,9 +219,7 @@ void main() { test( 'mipmaps determines dpi', () async { - const ImageConfiguration imageConfiguration = ImageConfiguration( - devicePixelRatio: 3, - ); + const imageConfiguration = ImageConfiguration(devicePixelRatio: 3); final BitmapDescriptor mip = await BitmapDescriptor.fromAssetImage( imageConfiguration, @@ -592,10 +590,8 @@ void main() { ); test('create with size', () async { - const Size size = Size(100, 200); - const ImageConfiguration imageConfiguration = ImageConfiguration( - size: size, - ); + const size = Size(100, 200); + const imageConfiguration = ImageConfiguration(size: size); final BitmapDescriptor descriptor = await AssetMapBitmap.create( imageConfiguration, 'red_square.png', @@ -774,7 +770,7 @@ void main() { }); test('construct', () { - const PinConfig pinConfig = PinConfig( + const pinConfig = PinConfig( backgroundColor: Colors.green, borderColor: Colors.blue, ); @@ -791,7 +787,7 @@ void main() { }); test('construct with glyph text', () { - const PinConfig pinConfig = PinConfig( + const pinConfig = PinConfig( backgroundColor: Colors.green, borderColor: Colors.blue, glyph: TextGlyph(text: 'Hello', textColor: Colors.red), @@ -817,7 +813,7 @@ void main() { test('construct with glyph bitmap', () async { const BitmapDescriptor bitmap = AssetBitmap(name: 'red_square.png'); - const PinConfig pinConfig = PinConfig( + const pinConfig = PinConfig( backgroundColor: Colors.black, borderColor: Colors.red, glyph: BitmapGlyph(bitmap: bitmap), diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/camera_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/camera_test.dart index 7a7449ea213..0ecb775e2cf 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/camera_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/camera_test.dart @@ -9,7 +9,7 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); test('toMap / fromMap', () { - const CameraPosition cameraPosition = CameraPosition( + const cameraPosition = CameraPosition( target: LatLng(10.0, 15.0), bearing: 0.5, tilt: 30.0, @@ -26,7 +26,7 @@ void main() { }); test('CameraUpdate.newCameraPosition', () { - const CameraPosition cameraPosition = CameraPosition( + const cameraPosition = CameraPosition( target: LatLng(10.0, 15.0), bearing: 0.5, tilt: 30.0, @@ -39,27 +39,27 @@ void main() { expect(cameraUpdate.updateType, CameraUpdateType.newCameraPosition); cameraUpdate as CameraUpdateNewCameraPosition; expect(cameraUpdate.cameraPosition, cameraPosition); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'newCameraPosition'); }); test('CameraUpdate.newLatLng', () { - const LatLng latLng = LatLng(1.0, 2.0); + const latLng = LatLng(1.0, 2.0); final CameraUpdate cameraUpdate = CameraUpdate.newLatLng(latLng); expect(cameraUpdate.runtimeType, CameraUpdateNewLatLng); expect(cameraUpdate.updateType, CameraUpdateType.newLatLng); cameraUpdate as CameraUpdateNewLatLng; expect(cameraUpdate.latLng, latLng); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'newLatLng'); }); test('CameraUpdate.newLatLngBounds', () { - final LatLngBounds latLngBounds = LatLngBounds( + final latLngBounds = LatLngBounds( northeast: const LatLng(1.0, 2.0), southwest: const LatLng(-2.0, -3.0), ); - const double padding = 1.0; + const padding = 1.0; final CameraUpdate cameraUpdate = CameraUpdate.newLatLngBounds( latLngBounds, padding, @@ -69,46 +69,46 @@ void main() { cameraUpdate as CameraUpdateNewLatLngBounds; expect(cameraUpdate.bounds, latLngBounds); expect(cameraUpdate.padding, padding); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'newLatLngBounds'); }); test('CameraUpdate.newLatLngZoom', () { - const LatLng latLng = LatLng(1.0, 2.0); - const double zoom = 2.0; + const latLng = LatLng(1.0, 2.0); + const zoom = 2.0; final CameraUpdate cameraUpdate = CameraUpdate.newLatLngZoom(latLng, zoom); expect(cameraUpdate.runtimeType, CameraUpdateNewLatLngZoom); expect(cameraUpdate.updateType, CameraUpdateType.newLatLngZoom); cameraUpdate as CameraUpdateNewLatLngZoom; expect(cameraUpdate.latLng, latLng); expect(cameraUpdate.zoom, zoom); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'newLatLngZoom'); }); test('CameraUpdate.scrollBy', () { - const double dx = 2.0; - const double dy = 5.0; + const dx = 2.0; + const dy = 5.0; final CameraUpdate cameraUpdate = CameraUpdate.scrollBy(dx, dy); expect(cameraUpdate.runtimeType, CameraUpdateScrollBy); expect(cameraUpdate.updateType, CameraUpdateType.scrollBy); cameraUpdate as CameraUpdateScrollBy; expect(cameraUpdate.dx, dx); expect(cameraUpdate.dy, dy); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'scrollBy'); }); test('CameraUpdate.zoomBy', () { - const double amount = 1.5; - const Offset focus = Offset(-1.0, -2.0); + const amount = 1.5; + const focus = Offset(-1.0, -2.0); final CameraUpdate cameraUpdate = CameraUpdate.zoomBy(amount, focus); expect(cameraUpdate.runtimeType, CameraUpdateZoomBy); expect(cameraUpdate.updateType, CameraUpdateType.zoomBy); cameraUpdate as CameraUpdateZoomBy; expect(cameraUpdate.amount, amount); expect(cameraUpdate.focus, focus); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'zoomBy'); }); @@ -116,7 +116,7 @@ void main() { final CameraUpdate cameraUpdate = CameraUpdate.zoomIn(); expect(cameraUpdate.runtimeType, CameraUpdateZoomIn); expect(cameraUpdate.updateType, CameraUpdateType.zoomIn); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'zoomIn'); }); @@ -124,7 +124,7 @@ void main() { final CameraUpdate cameraUpdate = CameraUpdate.zoomOut(); expect(cameraUpdate.runtimeType, CameraUpdateZoomOut); expect(cameraUpdate.updateType, CameraUpdateType.zoomOut); - final List jsonList = cameraUpdate.toJson() as List; + final jsonList = cameraUpdate.toJson() as List; expect(jsonList[0], 'zoomOut'); }); } diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_manager_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_manager_test.dart index 31aed908b9c..a842eed38df 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_manager_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_manager_test.dart @@ -11,7 +11,7 @@ void main() { group('$ClusterManager', () { test('constructor defaults', () { - const ClusterManager manager = ClusterManager( + const manager = ClusterManager( clusterManagerId: ClusterManagerId('1234'), ); @@ -19,16 +19,16 @@ void main() { }); test('toJson', () { - const ClusterManager manager = ClusterManager( + const manager = ClusterManager( clusterManagerId: ClusterManagerId('1234'), ); - final Map json = manager.toJson() as Map; + final json = manager.toJson() as Map; expect(json, {'clusterManagerId': '1234'}); }); test('clone', () { - const ClusterManager manager = ClusterManager( + const manager = ClusterManager( clusterManagerId: ClusterManagerId('1234'), ); final ClusterManager clone = manager.clone(); @@ -37,10 +37,10 @@ void main() { expect(clone, equals(manager)); }); test('copyWith', () { - const ClusterManager manager = ClusterManager( + const manager = ClusterManager( clusterManagerId: ClusterManagerId('1234'), ); - final List log = []; + final log = []; final ClusterManager copy = manager.copyWith( onClusterTapParam: (Cluster cluster) { diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_test.dart index 0cd37b2d40f..8641cb5fc85 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/cluster_test.dart @@ -11,7 +11,7 @@ void main() { group('$Cluster', () { test('constructor', () { - final Cluster cluster = Cluster( + final cluster = Cluster( const ClusterManagerId('3456787654'), const [MarkerId('23456')], position: const LatLng(55.0, 66.0), diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/ground_overlay_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/ground_overlay_test.dart index 471b60412fb..0b756643dcd 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/ground_overlay_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/ground_overlay_test.dart @@ -9,29 +9,29 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('GroundOverlay', () { - const GroundOverlayId kID = GroundOverlayId('groundOverlay'); - final LatLngBounds kBounds = LatLngBounds( + const kID = GroundOverlayId('groundOverlay'); + final kBounds = LatLngBounds( southwest: const LatLng(37.42, -122.08), northeast: const LatLng(37.43, -122.09), ); - const LatLng kPosition = LatLng(37.42, -122.08); + const kPosition = LatLng(37.42, -122.08); final MapBitmap kMapBitmap = AssetMapBitmap( 'assets/asset.png', imagePixelRatio: 1.0, bitmapScaling: MapBitmapScaling.none, ); - const Offset kAnchor = Offset(0.3, 0.7); - const double kBearing = 45.0; - const double kTransparency = 0.5; - const int kZIndex = 1; - const bool kVisible = false; - const bool kClickable = false; + const kAnchor = Offset(0.3, 0.7); + const kBearing = 45.0; + const kTransparency = 0.5; + const kZIndex = 1; + const kVisible = false; + const kClickable = false; const double kWidth = 200; const double kHeight = 300; - const double kZoomLevel = 10.0; + const kZoomLevel = 10.0; test('fromBounds constructor defaults', () { - final GroundOverlay groundOverlay = GroundOverlay.fromBounds( + final groundOverlay = GroundOverlay.fromBounds( groundOverlayId: kID, image: kMapBitmap, bounds: kBounds, @@ -50,7 +50,7 @@ void main() { }); test('fromBounds construct with values', () { - final GroundOverlay groundOverlay = GroundOverlay.fromBounds( + final groundOverlay = GroundOverlay.fromBounds( groundOverlayId: kID, image: kMapBitmap, bounds: kBounds, @@ -74,7 +74,7 @@ void main() { }); test('fromPosition constructor defaults', () { - final GroundOverlay groundOverlay = GroundOverlay.fromPosition( + final groundOverlay = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, @@ -97,7 +97,7 @@ void main() { }); test('fromPosition construct with values', () { - final GroundOverlay groundOverlay = GroundOverlay.fromPosition( + final groundOverlay = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, @@ -127,7 +127,7 @@ void main() { }); test('copyWith fromPosition', () { - final GroundOverlay groundOverlay1 = GroundOverlay.fromPosition( + final groundOverlay1 = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, @@ -159,7 +159,7 @@ void main() { }); test('copyWith fromBounds', () { - final GroundOverlay groundOverlay1 = GroundOverlay.fromBounds( + final groundOverlay1 = GroundOverlay.fromBounds( groundOverlayId: kID, image: kMapBitmap, bounds: kBounds, @@ -189,7 +189,7 @@ void main() { }); test('fromPosition clone', () { - final GroundOverlay groundOverlay1 = GroundOverlay.fromPosition( + final groundOverlay1 = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, @@ -203,7 +203,7 @@ void main() { }); test('fromBounds clone', () { - final GroundOverlay groundOverlay1 = GroundOverlay.fromBounds( + final groundOverlay1 = GroundOverlay.fromBounds( groundOverlayId: kID, image: kMapBitmap, bounds: kBounds, @@ -215,7 +215,7 @@ void main() { }); test('==', () { - final GroundOverlay groundOverlayPosition1 = GroundOverlay.fromPosition( + final groundOverlayPosition1 = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, @@ -230,7 +230,7 @@ void main() { zoomLevel: kZoomLevel, ); - final GroundOverlay groundOverlayPosition2 = GroundOverlay.fromPosition( + final groundOverlayPosition2 = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, @@ -245,7 +245,7 @@ void main() { zoomLevel: kZoomLevel, ); - final GroundOverlay groundOverlayPosition3 = GroundOverlay.fromPosition( + final groundOverlayPosition3 = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, @@ -260,7 +260,7 @@ void main() { zoomLevel: kZoomLevel + 1, ); - final GroundOverlay groundOverlayBounds1 = GroundOverlay.fromBounds( + final groundOverlayBounds1 = GroundOverlay.fromBounds( groundOverlayId: kID, image: kMapBitmap, bounds: kBounds, @@ -272,7 +272,7 @@ void main() { clickable: kClickable, ); - final GroundOverlay groundOverlayBounds2 = GroundOverlay.fromBounds( + final groundOverlayBounds2 = GroundOverlay.fromBounds( groundOverlayId: kID, image: kMapBitmap, bounds: kBounds, @@ -284,7 +284,7 @@ void main() { clickable: kClickable, ); - final GroundOverlay groundOverlayBounds3 = GroundOverlay.fromBounds( + final groundOverlayBounds3 = GroundOverlay.fromBounds( groundOverlayId: kID, image: kMapBitmap, bounds: kBounds, @@ -304,7 +304,7 @@ void main() { }); test('hashCode', () { - final GroundOverlay groundOverlay = GroundOverlay.fromPosition( + final groundOverlay = GroundOverlay.fromPosition( groundOverlayId: kID, image: kMapBitmap, position: kPosition, diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/heatmap_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/heatmap_test.dart index 93329adbdf3..f93e4d27e6a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/heatmap_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/heatmap_test.dart @@ -11,37 +11,31 @@ void main() { group('$HeatmapRadius', () { test('fromPixels', () { - const HeatmapRadius radius = HeatmapRadius.fromPixels(10); + const radius = HeatmapRadius.fromPixels(10); expect(radius.radius, 10); }); test('==', () { - const HeatmapRadius radius1 = HeatmapRadius.fromPixels(10); - const HeatmapRadius radius2 = HeatmapRadius.fromPixels(10); - const HeatmapRadius radius3 = HeatmapRadius.fromPixels(20); + const radius1 = HeatmapRadius.fromPixels(10); + const radius2 = HeatmapRadius.fromPixels(10); + const radius3 = HeatmapRadius.fromPixels(20); expect(radius1, radius2); expect(radius1, isNot(radius3)); }); test('hashCode', () { - const int radius = 10; - const HeatmapRadius heatmapRadius = HeatmapRadius.fromPixels(radius); + const radius = 10; + const heatmapRadius = HeatmapRadius.fromPixels(radius); expect(heatmapRadius.hashCode, radius.hashCode); }); }); group('$Heatmap', () { test('constructor defaults', () { - const HeatmapId id = HeatmapId('heatmap'); - const List data = [ - WeightedLatLng(LatLng(1, 1)), - ]; - const HeatmapRadius radius = HeatmapRadius.fromPixels(10); - const Heatmap heatmap = Heatmap( - heatmapId: id, - data: data, - radius: radius, - ); + const id = HeatmapId('heatmap'); + const data = [WeightedLatLng(LatLng(1, 1))]; + const radius = HeatmapRadius.fromPixels(10); + const heatmap = Heatmap(heatmapId: id, data: data, radius: radius); expect(heatmap.heatmapId, id); expect(heatmap.data, data); @@ -57,19 +51,17 @@ void main() { }); test('construct with values', () { - const HeatmapId id = HeatmapId('heatmap'); - const List data = [ - WeightedLatLng(LatLng(1, 1)), - ]; - const HeatmapGradient gradient = HeatmapGradient([ + const id = HeatmapId('heatmap'); + const data = [WeightedLatLng(LatLng(1, 1))]; + const gradient = HeatmapGradient([ HeatmapGradientColor(Colors.red, 0.0), ]); - const double maxIntensity = 1.0; - const double opacity = 0.5; - const HeatmapRadius radius = HeatmapRadius.fromPixels(10); - const int minimumZoomIntensity = 1; - const int maximumZoomIntensity = 20; - const Heatmap heatmap = Heatmap( + const maxIntensity = 1.0; + const opacity = 0.5; + const radius = HeatmapRadius.fromPixels(10); + const minimumZoomIntensity = 1; + const maximumZoomIntensity = 20; + const heatmap = Heatmap( heatmapId: id, data: data, dissipating: false, @@ -93,23 +85,21 @@ void main() { }); test('copyWith', () { - const Heatmap heatmap1 = Heatmap( + const heatmap1 = Heatmap( heatmapId: HeatmapId('heatmap'), data: [], radius: HeatmapRadius.fromPixels(10), ); - const List data = [ - WeightedLatLng(LatLng(1, 1)), - ]; - const HeatmapGradient gradient = HeatmapGradient([ + const data = [WeightedLatLng(LatLng(1, 1))]; + const gradient = HeatmapGradient([ HeatmapGradientColor(Colors.red, 0.0), ]); - const double maxIntensity = 1.0; - const double opacity = 0.5; - const HeatmapRadius radius = HeatmapRadius.fromPixels(20); - const int minimumZoomIntensity = 1; - const int maximumZoomIntensity = 20; + const maxIntensity = 1.0; + const opacity = 0.5; + const radius = HeatmapRadius.fromPixels(20); + const minimumZoomIntensity = 1; + const maximumZoomIntensity = 20; final Heatmap heatmap2 = heatmap1.copyWith( dataParam: data, @@ -133,7 +123,7 @@ void main() { }); test('clone', () { - const Heatmap heatmap1 = Heatmap( + const heatmap1 = Heatmap( heatmapId: HeatmapId('heatmap'), data: [], radius: HeatmapRadius.fromPixels(10), @@ -145,22 +135,12 @@ void main() { }); test('==', () { - const HeatmapId id = HeatmapId('heatmap'); - const List data = [ - WeightedLatLng(LatLng(1, 1)), - ]; - const HeatmapRadius radius = HeatmapRadius.fromPixels(10); - const Heatmap heatmap1 = Heatmap( - heatmapId: id, - data: data, - radius: radius, - ); - const Heatmap heatmap2 = Heatmap( - heatmapId: id, - data: data, - radius: radius, - ); - const Heatmap heatmap3 = Heatmap( + const id = HeatmapId('heatmap'); + const data = [WeightedLatLng(LatLng(1, 1))]; + const radius = HeatmapRadius.fromPixels(10); + const heatmap1 = Heatmap(heatmapId: id, data: data, radius: radius); + const heatmap2 = Heatmap(heatmapId: id, data: data, radius: radius); + const heatmap3 = Heatmap( heatmapId: id, data: data, radius: HeatmapRadius.fromPixels(20), @@ -171,8 +151,8 @@ void main() { }); test('hashCode', () { - const HeatmapId id = HeatmapId('heatmap'); - const Heatmap heatmap = Heatmap( + const id = HeatmapId('heatmap'); + const heatmap = Heatmap( heatmapId: id, data: [], radius: HeatmapRadius.fromPixels(10), @@ -184,26 +164,26 @@ void main() { group('$WeightedLatLng', () { test('constructor defaults', () { - const LatLng point = LatLng(1, 1); - const WeightedLatLng wll = WeightedLatLng(point); + const point = LatLng(1, 1); + const wll = WeightedLatLng(point); expect(wll.point, point); expect(wll.weight, 1.0); }); test('construct with values', () { - const LatLng point = LatLng(1, 1); - const double weight = 2.0; - const WeightedLatLng wll = WeightedLatLng(point, weight: weight); + const point = LatLng(1, 1); + const weight = 2.0; + const wll = WeightedLatLng(point, weight: weight); expect(wll.point, point); expect(wll.weight, weight); }); test('toJson', () { - const LatLng point = LatLng(1, 1); - const double weight = 2.0; - const WeightedLatLng wll = WeightedLatLng(point, weight: weight); + const point = LatLng(1, 1); + const weight = 2.0; + const wll = WeightedLatLng(point, weight: weight); expect(wll.toJson(), [ [point.latitude, point.longitude], @@ -212,28 +192,28 @@ void main() { }); test('toString', () { - const LatLng point = LatLng(1, 1); - const double weight = 2.0; - const WeightedLatLng wll = WeightedLatLng(point, weight: weight); + const point = LatLng(1, 1); + const weight = 2.0; + const wll = WeightedLatLng(point, weight: weight); expect(wll.toString(), 'WeightedLatLng($point, $weight)'); }); test('==', () { - const LatLng point = LatLng(1, 1); - const double weight = 2.0; - const WeightedLatLng wll1 = WeightedLatLng(point, weight: weight); - const WeightedLatLng wll2 = WeightedLatLng(point, weight: weight); - const WeightedLatLng wll3 = WeightedLatLng(point, weight: 3.0); + const point = LatLng(1, 1); + const weight = 2.0; + const wll1 = WeightedLatLng(point, weight: weight); + const wll2 = WeightedLatLng(point, weight: weight); + const wll3 = WeightedLatLng(point, weight: 3.0); expect(wll1, wll2); expect(wll1, isNot(wll3)); }); test('hashCode', () { - const LatLng point = LatLng(1, 1); - const double weight = 2.0; - const WeightedLatLng wll = WeightedLatLng(point, weight: weight); + const point = LatLng(1, 1); + const weight = 2.0; + const wll = WeightedLatLng(point, weight: weight); expect(wll.hashCode, Object.hash(point, weight)); }); @@ -241,38 +221,35 @@ void main() { group('$HeatmapGradient', () { test('constructor defaults', () { - const List colors = [ + const colors = [ HeatmapGradientColor(Colors.red, 0.0), ]; - const HeatmapGradient gradient = HeatmapGradient(colors); + const gradient = HeatmapGradient(colors); expect(gradient.colors, colors); expect(gradient.colorMapSize, 256); }); test('construct with values', () { - const List colors = [ + const colors = [ HeatmapGradientColor(Colors.red, 0.0), ]; - const int colorMapSize = 512; - const HeatmapGradient gradient = HeatmapGradient( - colors, - colorMapSize: colorMapSize, - ); + const colorMapSize = 512; + const gradient = HeatmapGradient(colors, colorMapSize: colorMapSize); expect(gradient.colors, colors); expect(gradient.colorMapSize, colorMapSize); }); test('copyWith', () { - const HeatmapGradient gradient1 = HeatmapGradient([ + const gradient1 = HeatmapGradient([ HeatmapGradientColor(Colors.red, 0.0), ]); - const List colors = [ + const colors = [ HeatmapGradientColor(Colors.blue, 0.0), ]; - const int colorMapSize = 512; + const colorMapSize = 512; final HeatmapGradient gradient2 = gradient1.copyWith( colorsParam: colors, colorMapSizeParam: colorMapSize, @@ -283,7 +260,7 @@ void main() { }); test('clone', () { - const HeatmapGradient gradient1 = HeatmapGradient([ + const gradient1 = HeatmapGradient([ HeatmapGradientColor(Colors.red, 0.0), ], colorMapSize: 512); @@ -292,14 +269,11 @@ void main() { }); test('toJson', () { - const List colors = [ + const colors = [ HeatmapGradientColor(Colors.red, 0.0), ]; - const int colorMapSize = 512; - const HeatmapGradient gradient = HeatmapGradient( - colors, - colorMapSize: colorMapSize, - ); + const colorMapSize = 512; + const gradient = HeatmapGradient(colors, colorMapSize: colorMapSize); expect(gradient.toJson(), { 'colors': colors @@ -313,12 +287,12 @@ void main() { }); test('==', () { - const List colors = [ + const colors = [ HeatmapGradientColor(Colors.red, 0.0), ]; - const HeatmapGradient gradient1 = HeatmapGradient(colors); - const HeatmapGradient gradient2 = HeatmapGradient(colors); - const HeatmapGradient gradient3 = HeatmapGradient([ + const gradient1 = HeatmapGradient(colors); + const gradient2 = HeatmapGradient(colors); + const gradient3 = HeatmapGradient([ HeatmapGradientColor(Colors.blue, 0.0), ], colorMapSize: 512); @@ -327,14 +301,11 @@ void main() { }); test('hashCode', () { - const List colors = [ + const colors = [ HeatmapGradientColor(Colors.red, 0.0), ]; - const int colorMapSize = 512; - const HeatmapGradient gradient = HeatmapGradient( - colors, - colorMapSize: colorMapSize, - ); + const colorMapSize = 512; + const gradient = HeatmapGradient(colors, colorMapSize: colorMapSize); expect(gradient.hashCode, Object.hash(colors, colorMapSize)); }); @@ -343,24 +314,18 @@ void main() { group('$HeatmapGradientColor', () { test('construct with values', () { const Color color = Colors.red; - const double startPoint = 0.0; - const HeatmapGradientColor gradientColor = HeatmapGradientColor( - color, - startPoint, - ); + const startPoint = 0.0; + const gradientColor = HeatmapGradientColor(color, startPoint); expect(gradientColor.color, color); expect(gradientColor.startPoint, startPoint); }); test('copyWith', () { - const HeatmapGradientColor gradientColor1 = HeatmapGradientColor( - Colors.red, - 0.0, - ); + const gradientColor1 = HeatmapGradientColor(Colors.red, 0.0); const Color color = Colors.blue; - const double startPoint = 0.5; + const startPoint = 0.5; final HeatmapGradientColor gradientColor2 = gradientColor1.copyWith( colorParam: color, startPointParam: startPoint, @@ -371,38 +336,23 @@ void main() { }); test('clone', () { - const HeatmapGradientColor gradientColor1 = HeatmapGradientColor( - Colors.red, - 0.0, - ); + const gradientColor1 = HeatmapGradientColor(Colors.red, 0.0); final HeatmapGradientColor gradientColor2 = gradientColor1.clone(); expect(gradientColor2, gradientColor1); }); test('==', () { - const HeatmapGradientColor gradientColor1 = HeatmapGradientColor( - Colors.red, - 0.0, - ); - const HeatmapGradientColor gradientColor2 = HeatmapGradientColor( - Colors.red, - 0.0, - ); - const HeatmapGradientColor gradientColor3 = HeatmapGradientColor( - Colors.blue, - 0.0, - ); + const gradientColor1 = HeatmapGradientColor(Colors.red, 0.0); + const gradientColor2 = HeatmapGradientColor(Colors.red, 0.0); + const gradientColor3 = HeatmapGradientColor(Colors.blue, 0.0); expect(gradientColor1, gradientColor2); expect(gradientColor1, isNot(gradientColor3)); }); test('hashCode', () { - const HeatmapGradientColor gradientColor = HeatmapGradientColor( - Colors.red, - 0.0, - ); + const gradientColor = HeatmapGradientColor(Colors.red, 0.0); expect( gradientColor.hashCode, @@ -411,10 +361,7 @@ void main() { }); test('toString', () { - const HeatmapGradientColor gradientColor = HeatmapGradientColor( - Colors.red, - 0.0, - ); + const gradientColor = HeatmapGradientColor(Colors.red, 0.0); expect( gradientColor.toString(), diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/location_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/location_test.dart index f7c9461fe66..55d8740fb3f 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/location_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/location_test.dart @@ -10,50 +10,50 @@ void main() { group('LanLng constructor', () { test('Maintains longitude precision if within acceptable range', () async { - const double lat = -34.509981; - const double lng = 150.792384; + const lat = -34.509981; + const lng = 150.792384; - const LatLng latLng = LatLng(lat, lng); + const latLng = LatLng(lat, lng); expect(latLng.latitude, equals(lat)); expect(latLng.longitude, equals(lng)); }); test('Normalizes longitude that is below lower limit', () async { - const double lat = -34.509981; - const double lng = -270.0; + const lat = -34.509981; + const lng = -270.0; - const LatLng latLng = LatLng(lat, lng); + const latLng = LatLng(lat, lng); expect(latLng.latitude, equals(lat)); expect(latLng.longitude, equals(90.0)); }); test('Normalizes longitude that is above upper limit', () async { - const double lat = -34.509981; - const double lng = 270.0; + const lat = -34.509981; + const lng = 270.0; - const LatLng latLng = LatLng(lat, lng); + const latLng = LatLng(lat, lng); expect(latLng.latitude, equals(lat)); expect(latLng.longitude, equals(-90.0)); }); test('Includes longitude set to lower limit', () async { - const double lat = -34.509981; - const double lng = -180.0; + const lat = -34.509981; + const lng = -180.0; - const LatLng latLng = LatLng(lat, lng); + const latLng = LatLng(lat, lng); expect(latLng.latitude, equals(lat)); expect(latLng.longitude, equals(-180.0)); }); test('Normalizes longitude set to upper limit', () async { - const double lat = -34.509981; - const double lng = 180.0; + const lat = -34.509981; + const lng = 180.0; - const LatLng latLng = LatLng(lat, lng); + const latLng = LatLng(lat, lng); expect(latLng.latitude, equals(lat)); expect(latLng.longitude, equals(-180.0)); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/map_configuration_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/map_configuration_test.dart index e06d5daccf7..493f5cc1393 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/map_configuration_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/map_configuration_test.dart @@ -11,7 +11,7 @@ const String _kMapId = '000000000000000'; // Dummy map ID. void main() { group('diffs', () { // A options instance with every field set, to test diffs against. - final MapConfiguration diffBase = MapConfiguration( + final diffBase = MapConfiguration( webCameraControlPosition: WebCameraControlPosition.topRight, webCameraControlEnabled: false, webGestureHandling: WebGestureHandling.auto, @@ -43,14 +43,14 @@ void main() { ); test('only include changed fields', () async { - const MapConfiguration nullOptions = MapConfiguration(); + const nullOptions = MapConfiguration(); // Everything should be null since nothing changed. expect(diffBase.diffFrom(diffBase), nullOptions); }); test('only apply non-null fields', () async { - const MapConfiguration smallDiff = MapConfiguration(compassEnabled: true); + const smallDiff = MapConfiguration(compassEnabled: true); final MapConfiguration updated = diffBase.applyDiff(smallDiff); @@ -70,11 +70,11 @@ void main() { }); test('handle webGestureHandling', () async { - const MapConfiguration diff = MapConfiguration( + const diff = MapConfiguration( webGestureHandling: WebGestureHandling.none, ); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -88,11 +88,11 @@ void main() { }); test('handle webCameraControlPosition', () async { - const MapConfiguration diff = MapConfiguration( + const diff = MapConfiguration( webCameraControlPosition: WebCameraControlPosition.blockEndInlineEnd, ); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -109,11 +109,9 @@ void main() { }); test('handle webCameraControlEnabled', () async { - const MapConfiguration diff = MapConfiguration( - webCameraControlEnabled: true, - ); + const diff = MapConfiguration(webCameraControlEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -127,9 +125,9 @@ void main() { }); test('handle compassEnabled', () async { - const MapConfiguration diff = MapConfiguration(compassEnabled: true); + const diff = MapConfiguration(compassEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -143,9 +141,9 @@ void main() { }); test('handle mapToolbarEnabled', () async { - const MapConfiguration diff = MapConfiguration(mapToolbarEnabled: true); + const diff = MapConfiguration(mapToolbarEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -159,17 +157,15 @@ void main() { }); test('handle cameraTargetBounds', () async { - final CameraTargetBounds newBounds = CameraTargetBounds( + final newBounds = CameraTargetBounds( LatLngBounds( northeast: const LatLng(55, 15), southwest: const LatLng(5, 15), ), ); - final MapConfiguration diff = MapConfiguration( - cameraTargetBounds: newBounds, - ); + final diff = MapConfiguration(cameraTargetBounds: newBounds); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -183,11 +179,9 @@ void main() { }); test('handle mapType', () async { - const MapConfiguration diff = MapConfiguration( - mapType: MapType.satellite, - ); + const diff = MapConfiguration(mapType: MapType.satellite); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -201,12 +195,10 @@ void main() { }); test('handle minMaxZoomPreference', () async { - const MinMaxZoomPreference newZoomPref = MinMaxZoomPreference(3.3, 4.5); - const MapConfiguration diff = MapConfiguration( - minMaxZoomPreference: newZoomPref, - ); + const newZoomPref = MinMaxZoomPreference(3.3, 4.5); + const diff = MapConfiguration(minMaxZoomPreference: newZoomPref); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -220,11 +212,9 @@ void main() { }); test('handle rotateGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration( - rotateGesturesEnabled: true, - ); + const diff = MapConfiguration(rotateGesturesEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -238,11 +228,9 @@ void main() { }); test('handle scrollGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration( - scrollGesturesEnabled: true, - ); + const diff = MapConfiguration(scrollGesturesEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -256,9 +244,9 @@ void main() { }); test('handle tiltGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration(tiltGesturesEnabled: true); + const diff = MapConfiguration(tiltGesturesEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -272,11 +260,9 @@ void main() { }); test('handle fortyFiveDegreeImageryEnabled', () async { - const MapConfiguration diff = MapConfiguration( - fortyFiveDegreeImageryEnabled: true, - ); + const diff = MapConfiguration(fortyFiveDegreeImageryEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -290,9 +276,9 @@ void main() { }); test('handle trackCameraPosition', () async { - const MapConfiguration diff = MapConfiguration(trackCameraPosition: true); + const diff = MapConfiguration(trackCameraPosition: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -306,9 +292,9 @@ void main() { }); test('handle zoomControlsEnabled', () async { - const MapConfiguration diff = MapConfiguration(zoomControlsEnabled: true); + const diff = MapConfiguration(zoomControlsEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -322,9 +308,9 @@ void main() { }); test('handle zoomGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration(zoomGesturesEnabled: true); + const diff = MapConfiguration(zoomGesturesEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -338,9 +324,9 @@ void main() { }); test('handle liteModeEnabled', () async { - const MapConfiguration diff = MapConfiguration(liteModeEnabled: true); + const diff = MapConfiguration(liteModeEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -354,9 +340,9 @@ void main() { }); test('handle myLocationEnabled', () async { - const MapConfiguration diff = MapConfiguration(myLocationEnabled: true); + const diff = MapConfiguration(myLocationEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -370,11 +356,9 @@ void main() { }); test('handle myLocationButtonEnabled', () async { - const MapConfiguration diff = MapConfiguration( - myLocationButtonEnabled: true, - ); + const diff = MapConfiguration(myLocationButtonEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -388,13 +372,10 @@ void main() { }); test('handle padding', () async { - const EdgeInsets newPadding = EdgeInsets.symmetric( - vertical: 1.0, - horizontal: 3.0, - ); - const MapConfiguration diff = MapConfiguration(padding: newPadding); + const newPadding = EdgeInsets.symmetric(vertical: 1.0, horizontal: 3.0); + const diff = MapConfiguration(padding: newPadding); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -408,9 +389,9 @@ void main() { }); test('handle indoorViewEnabled', () async { - const MapConfiguration diff = MapConfiguration(indoorViewEnabled: true); + const diff = MapConfiguration(indoorViewEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -424,9 +405,9 @@ void main() { }); test('handle trafficEnabled', () async { - const MapConfiguration diff = MapConfiguration(trafficEnabled: true); + const diff = MapConfiguration(trafficEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -440,9 +421,9 @@ void main() { }); test('handle buildingsEnabled', () async { - const MapConfiguration diff = MapConfiguration(buildingsEnabled: true); + const diff = MapConfiguration(buildingsEnabled: true); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -456,9 +437,9 @@ void main() { }); test('handle cloudMapId', () async { - const MapConfiguration diff = MapConfiguration(cloudMapId: _kMapId); + const diff = MapConfiguration(cloudMapId: _kMapId); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -473,9 +454,9 @@ void main() { }); test('handle mapId', () async { - const MapConfiguration diff = MapConfiguration(mapId: _kMapId); + const diff = MapConfiguration(mapId: _kMapId); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -489,10 +470,10 @@ void main() { }); test('handle style', () async { - const String aStlye = 'a style'; - const MapConfiguration diff = MapConfiguration(style: aStlye); + const aStlye = 'a style'; + const diff = MapConfiguration(style: aStlye); - const MapConfiguration empty = MapConfiguration(); + const empty = MapConfiguration(); final MapConfiguration updated = diffBase.applyDiff(diff); // A diff applied to empty options should be the diff itself. @@ -508,21 +489,19 @@ void main() { group('isEmpty', () { test('is true for empty', () async { - const MapConfiguration nullOptions = MapConfiguration(); + const nullOptions = MapConfiguration(); expect(nullOptions.isEmpty, true); }); test('is false with webCameraControlEnabled', () async { - const MapConfiguration diff = MapConfiguration( - webCameraControlEnabled: true, - ); + const diff = MapConfiguration(webCameraControlEnabled: true); expect(diff.isEmpty, false); }); test('is false with webCameraControlPosition', () async { - const MapConfiguration diff = MapConfiguration( + const diff = MapConfiguration( webCameraControlPosition: WebCameraControlPosition.blockEndInlineCenter, ); @@ -530,150 +509,135 @@ void main() { }); test('is false with compassEnabled', () async { - const MapConfiguration diff = MapConfiguration(compassEnabled: true); + const diff = MapConfiguration(compassEnabled: true); expect(diff.isEmpty, false); }); test('is false with mapToolbarEnabled', () async { - const MapConfiguration diff = MapConfiguration(mapToolbarEnabled: true); + const diff = MapConfiguration(mapToolbarEnabled: true); expect(diff.isEmpty, false); }); test('is false with cameraTargetBounds', () async { - final CameraTargetBounds newBounds = CameraTargetBounds( + final newBounds = CameraTargetBounds( LatLngBounds( northeast: const LatLng(55, 15), southwest: const LatLng(5, 15), ), ); - final MapConfiguration diff = MapConfiguration( - cameraTargetBounds: newBounds, - ); + final diff = MapConfiguration(cameraTargetBounds: newBounds); expect(diff.isEmpty, false); }); test('is false with mapType', () async { - const MapConfiguration diff = MapConfiguration( - mapType: MapType.satellite, - ); + const diff = MapConfiguration(mapType: MapType.satellite); expect(diff.isEmpty, false); }); test('is false with minMaxZoomPreference', () async { - const MinMaxZoomPreference newZoomPref = MinMaxZoomPreference(3.3, 4.5); - const MapConfiguration diff = MapConfiguration( - minMaxZoomPreference: newZoomPref, - ); + const newZoomPref = MinMaxZoomPreference(3.3, 4.5); + const diff = MapConfiguration(minMaxZoomPreference: newZoomPref); expect(diff.isEmpty, false); }); test('is false with rotateGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration( - rotateGesturesEnabled: true, - ); + const diff = MapConfiguration(rotateGesturesEnabled: true); expect(diff.isEmpty, false); }); test('is false with scrollGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration( - scrollGesturesEnabled: true, - ); + const diff = MapConfiguration(scrollGesturesEnabled: true); expect(diff.isEmpty, false); }); test('is false with tiltGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration(tiltGesturesEnabled: true); + const diff = MapConfiguration(tiltGesturesEnabled: true); expect(diff.isEmpty, false); }); test('is false with trackCameraPosition', () async { - const MapConfiguration diff = MapConfiguration(trackCameraPosition: true); + const diff = MapConfiguration(trackCameraPosition: true); expect(diff.isEmpty, false); }); test('is false with zoomControlsEnabled', () async { - const MapConfiguration diff = MapConfiguration(zoomControlsEnabled: true); + const diff = MapConfiguration(zoomControlsEnabled: true); expect(diff.isEmpty, false); }); test('is false with zoomGesturesEnabled', () async { - const MapConfiguration diff = MapConfiguration(zoomGesturesEnabled: true); + const diff = MapConfiguration(zoomGesturesEnabled: true); expect(diff.isEmpty, false); }); test('is false with liteModeEnabled', () async { - const MapConfiguration diff = MapConfiguration(liteModeEnabled: true); + const diff = MapConfiguration(liteModeEnabled: true); expect(diff.isEmpty, false); }); test('is false with myLocationEnabled', () async { - const MapConfiguration diff = MapConfiguration(myLocationEnabled: true); + const diff = MapConfiguration(myLocationEnabled: true); expect(diff.isEmpty, false); }); test('is false with myLocationButtonEnabled', () async { - const MapConfiguration diff = MapConfiguration( - myLocationButtonEnabled: true, - ); + const diff = MapConfiguration(myLocationButtonEnabled: true); expect(diff.isEmpty, false); }); test('is false with padding', () async { - const EdgeInsets newPadding = EdgeInsets.symmetric( - vertical: 1.0, - horizontal: 3.0, - ); - const MapConfiguration diff = MapConfiguration(padding: newPadding); + const newPadding = EdgeInsets.symmetric(vertical: 1.0, horizontal: 3.0); + const diff = MapConfiguration(padding: newPadding); expect(diff.isEmpty, false); }); test('is false with indoorViewEnabled', () async { - const MapConfiguration diff = MapConfiguration(indoorViewEnabled: true); + const diff = MapConfiguration(indoorViewEnabled: true); expect(diff.isEmpty, false); }); test('is false with trafficEnabled', () async { - const MapConfiguration diff = MapConfiguration(trafficEnabled: true); + const diff = MapConfiguration(trafficEnabled: true); expect(diff.isEmpty, false); }); test('is false with buildingsEnabled', () async { - const MapConfiguration diff = MapConfiguration(buildingsEnabled: true); + const diff = MapConfiguration(buildingsEnabled: true); expect(diff.isEmpty, false); }); test('is false with cloudMapId', () async { - const MapConfiguration diff = MapConfiguration(mapId: _kMapId); + const diff = MapConfiguration(mapId: _kMapId); expect(diff.isEmpty, false); }); test('is false with mapId', () async { - const MapConfiguration diff = MapConfiguration(mapId: _kMapId); + const diff = MapConfiguration(mapId: _kMapId); expect(diff.isEmpty, false); }); test('is false with style', () async { - const MapConfiguration diff = MapConfiguration(style: 'a style'); + const diff = MapConfiguration(style: 'a style'); expect(diff.isEmpty, false); }); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_test.dart index 37d5e9430c0..4dadb84ef9f 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_test.dart @@ -12,12 +12,12 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); test('keyByMapsObjectId', () async { - const MapsObjectId id1 = MapsObjectId('1'); - const MapsObjectId id2 = MapsObjectId('2'); - const MapsObjectId id3 = MapsObjectId('3'); - const TestMapsObject object1 = TestMapsObject(id1); - const TestMapsObject object2 = TestMapsObject(id2, data: 2); - const TestMapsObject object3 = TestMapsObject(id3); + const id1 = MapsObjectId('1'); + const id2 = MapsObjectId('2'); + const id3 = MapsObjectId('3'); + const object1 = TestMapsObject(id1); + const object2 = TestMapsObject(id2, data: 2); + const object3 = TestMapsObject(id3); expect( keyByMapsObjectId({object1, object2, object3}), , TestMapsObject>{ @@ -29,12 +29,12 @@ void main() { }); test('serializeMapsObjectSet', () async { - const MapsObjectId id1 = MapsObjectId('1'); - const MapsObjectId id2 = MapsObjectId('2'); - const MapsObjectId id3 = MapsObjectId('3'); - const TestMapsObject object1 = TestMapsObject(id1); - const TestMapsObject object2 = TestMapsObject(id2, data: 2); - const TestMapsObject object3 = TestMapsObject(id3); + const id1 = MapsObjectId('1'); + const id2 = MapsObjectId('2'); + const id3 = MapsObjectId('3'); + const object1 = TestMapsObject(id1); + const object2 = TestMapsObject(id2, data: 2); + const object3 = TestMapsObject(id3); expect( serializeMapsObjectSet({object1, object2, object3}), >[ diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart index c2fb440eb5e..8b70c2f22ec 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/maps_object_updates_test.dart @@ -19,73 +19,42 @@ void main() { group('tile overlay updates tests', () { test('Correctly set toRemove, toAdd and toChange', () async { - const TestMapsObject to1 = TestMapsObject( - MapsObjectId('id1'), - ); - const TestMapsObject to2 = TestMapsObject( - MapsObjectId('id2'), - ); - const TestMapsObject to3 = TestMapsObject( - MapsObjectId('id3'), - ); - const TestMapsObject to3Changed = TestMapsObject( + const to1 = TestMapsObject(MapsObjectId('id1')); + const to2 = TestMapsObject(MapsObjectId('id2')); + const to3 = TestMapsObject(MapsObjectId('id3')); + const to3Changed = TestMapsObject( MapsObjectId('id3'), data: 2, ); - const TestMapsObject to4 = TestMapsObject( - MapsObjectId('id4'), - ); - final Set previous = {to1, to2, to3}; - final Set current = { - to2, - to3Changed, - to4, - }; - final TestMapsObjectUpdate updates = TestMapsObjectUpdate.from( - previous, - current, - ); + const to4 = TestMapsObject(MapsObjectId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TestMapsObjectUpdate.from(previous, current); - final Set> toRemove = - >{ - const MapsObjectId('id1'), - }; + final toRemove = >{ + const MapsObjectId('id1'), + }; expect(updates.objectIdsToRemove, toRemove); - final Set toAdd = {to4}; + final toAdd = {to4}; expect(updates.objectsToAdd, toAdd); - final Set toChange = {to3Changed}; + final toChange = {to3Changed}; expect(updates.objectsToChange, toChange); }); test('toJson', () async { - const TestMapsObject to1 = TestMapsObject( - MapsObjectId('id1'), - ); - const TestMapsObject to2 = TestMapsObject( - MapsObjectId('id2'), - ); - const TestMapsObject to3 = TestMapsObject( - MapsObjectId('id3'), - ); - const TestMapsObject to3Changed = TestMapsObject( + const to1 = TestMapsObject(MapsObjectId('id1')); + const to2 = TestMapsObject(MapsObjectId('id2')); + const to3 = TestMapsObject(MapsObjectId('id3')); + const to3Changed = TestMapsObject( MapsObjectId('id3'), data: 2, ); - const TestMapsObject to4 = TestMapsObject( - MapsObjectId('id4'), - ); - final Set previous = {to1, to2, to3}; - final Set current = { - to2, - to3Changed, - to4, - }; - final TestMapsObjectUpdate updates = TestMapsObjectUpdate.from( - previous, - current, - ); + const to4 = TestMapsObject(MapsObjectId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TestMapsObjectUpdate.from(previous, current); final Object json = updates.toJson(); expect(json, { @@ -98,77 +67,37 @@ void main() { }); test('equality', () async { - const TestMapsObject to1 = TestMapsObject( - MapsObjectId('id1'), - ); - const TestMapsObject to2 = TestMapsObject( - MapsObjectId('id2'), - ); - const TestMapsObject to3 = TestMapsObject( - MapsObjectId('id3'), - ); - const TestMapsObject to3Changed = TestMapsObject( + const to1 = TestMapsObject(MapsObjectId('id1')); + const to2 = TestMapsObject(MapsObjectId('id2')); + const to3 = TestMapsObject(MapsObjectId('id3')); + const to3Changed = TestMapsObject( MapsObjectId('id3'), data: 2, ); - const TestMapsObject to4 = TestMapsObject( - MapsObjectId('id4'), - ); - final Set previous = {to1, to2, to3}; - final Set current1 = { - to2, - to3Changed, - to4, - }; - final Set current2 = { - to2, - to3Changed, - to4, - }; - final Set current3 = {to2, to4}; - final TestMapsObjectUpdate updates1 = TestMapsObjectUpdate.from( - previous, - current1, - ); - final TestMapsObjectUpdate updates2 = TestMapsObjectUpdate.from( - previous, - current2, - ); - final TestMapsObjectUpdate updates3 = TestMapsObjectUpdate.from( - previous, - current3, - ); + const to4 = TestMapsObject(MapsObjectId('id4')); + final previous = {to1, to2, to3}; + final current1 = {to2, to3Changed, to4}; + final current2 = {to2, to3Changed, to4}; + final current3 = {to2, to4}; + final updates1 = TestMapsObjectUpdate.from(previous, current1); + final updates2 = TestMapsObjectUpdate.from(previous, current2); + final updates3 = TestMapsObjectUpdate.from(previous, current3); expect(updates1, updates2); expect(updates1, isNot(updates3)); }); test('hashCode', () async { - const TestMapsObject to1 = TestMapsObject( - MapsObjectId('id1'), - ); - const TestMapsObject to2 = TestMapsObject( - MapsObjectId('id2'), - ); - const TestMapsObject to3 = TestMapsObject( - MapsObjectId('id3'), - ); - const TestMapsObject to3Changed = TestMapsObject( + const to1 = TestMapsObject(MapsObjectId('id1')); + const to2 = TestMapsObject(MapsObjectId('id2')); + const to3 = TestMapsObject(MapsObjectId('id3')); + const to3Changed = TestMapsObject( MapsObjectId('id3'), data: 2, ); - const TestMapsObject to4 = TestMapsObject( - MapsObjectId('id4'), - ); - final Set previous = {to1, to2, to3}; - final Set current = { - to2, - to3Changed, - to4, - }; - final TestMapsObjectUpdate updates = TestMapsObjectUpdate.from( - previous, - current, - ); + const to4 = TestMapsObject(MapsObjectId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TestMapsObjectUpdate.from(previous, current); expect( updates.hashCode, Object.hash( @@ -180,32 +109,17 @@ void main() { }); test('toString', () async { - const TestMapsObject to1 = TestMapsObject( - MapsObjectId('id1'), - ); - const TestMapsObject to2 = TestMapsObject( - MapsObjectId('id2'), - ); - const TestMapsObject to3 = TestMapsObject( - MapsObjectId('id3'), - ); - const TestMapsObject to3Changed = TestMapsObject( + const to1 = TestMapsObject(MapsObjectId('id1')); + const to2 = TestMapsObject(MapsObjectId('id2')); + const to3 = TestMapsObject(MapsObjectId('id3')); + const to3Changed = TestMapsObject( MapsObjectId('id3'), data: 2, ); - const TestMapsObject to4 = TestMapsObject( - MapsObjectId('id4'), - ); - final Set previous = {to1, to2, to3}; - final Set current = { - to2, - to3Changed, - to4, - }; - final TestMapsObjectUpdate updates = TestMapsObjectUpdate.from( - previous, - current, - ); + const to4 = TestMapsObject(MapsObjectId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TestMapsObjectUpdate.from(previous, current); expect( updates.toString(), 'TestMapsObjectUpdate(add: ${updates.objectsToAdd}, ' diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/marker_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/marker_test.dart index 18475b541f8..9b684bc6fa3 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/marker_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/marker_test.dart @@ -10,7 +10,7 @@ void main() { group('$Marker', () { test('constructor defaults', () { - const Marker marker = Marker(markerId: MarkerId('ABC123')); + const marker = Marker(markerId: MarkerId('ABC123')); expect(marker.alpha, equals(1.0)); expect(marker.anchor, equals(const Offset(0.5, 1.0))); @@ -44,7 +44,7 @@ void main() { test('toJson', () { final BitmapDescriptor testDescriptor = BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan); - final Marker marker = Marker( + final marker = Marker( markerId: const MarkerId('ABC123'), alpha: 0.12345, anchor: const Offset(100, 100), @@ -67,7 +67,7 @@ void main() { onDragEnd: (LatLng latLng) {}, ); - final Map json = marker.toJson() as Map; + final json = marker.toJson() as Map; expect(json, { 'markerId': 'ABC123', @@ -90,33 +90,31 @@ void main() { }); }); test('clone', () { - const Marker marker = Marker(markerId: MarkerId('ABC123')); + const marker = Marker(markerId: MarkerId('ABC123')); final Marker clone = marker.clone(); expect(identical(clone, marker), isFalse); expect(clone, equals(marker)); }); test('copyWith', () { - const MarkerId markerId = MarkerId('ABC123'); - const Marker marker = Marker(markerId: markerId); + const markerId = MarkerId('ABC123'); + const marker = Marker(markerId: markerId); final BitmapDescriptor testDescriptor = BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan); - const double testAlphaParam = 0.12345; - const Offset testAnchorParam = Offset(100, 100); + const testAlphaParam = 0.12345; + const testAnchorParam = Offset(100, 100); final bool testConsumeTapEventsParam = !marker.consumeTapEvents; final bool testDraggableParam = !marker.draggable; final bool testFlatParam = !marker.flat; - final BitmapDescriptor testIconParam = testDescriptor; - const InfoWindow testInfoWindowParam = InfoWindow(title: 'Test'); - const LatLng testPositionParam = LatLng(100, 100); + final testIconParam = testDescriptor; + const testInfoWindowParam = InfoWindow(title: 'Test'); + const testPositionParam = LatLng(100, 100); const double testRotationParam = 100; final bool testVisibleParam = !marker.visible; const double testZIndexParam = 100; - const ClusterManagerId testClusterManagerIdParam = ClusterManagerId( - 'DEF123', - ); - final List log = []; + const testClusterManagerIdParam = ClusterManagerId('DEF123'); + final log = []; final Marker copy = marker.copyWith( alphaParam: testAlphaParam, @@ -184,28 +182,28 @@ void main() { }); test('zIndex param', () { - const Marker marker = Marker(markerId: MarkerId('ABC123'), zIndex: 5.00); + const marker = Marker(markerId: MarkerId('ABC123'), zIndex: 5.00); expect(marker.zIndexInt, 5); expect(marker.zIndex, 5.00); }); test('zIndexInt param', () { - const Marker marker = Marker(markerId: MarkerId('ABC123'), zIndexInt: 5); + const marker = Marker(markerId: MarkerId('ABC123'), zIndexInt: 5); expect(marker.zIndexInt, 5); expect(marker.zIndex, 5.00); }); test('zIndexInt param copyWith', () { - const Marker marker = Marker(markerId: MarkerId('ABC123'), zIndexInt: 5); + const marker = Marker(markerId: MarkerId('ABC123'), zIndexInt: 5); final Marker copy = marker.copyWith(zIndexIntParam: 10); expect(copy.zIndexInt, 10); expect(copy.zIndex, 10.0); }); test('zIndex param copyWith', () { - const Marker marker = Marker(markerId: MarkerId('ABC123'), zIndexInt: 5); + const marker = Marker(markerId: MarkerId('ABC123'), zIndexInt: 5); final Marker copy = marker.copyWith(zIndexParam: 10.0); expect(copy.zIndexInt, 10); expect(copy.zIndex, 10.0); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_test.dart index c60d4d8b4d8..e4092ac385e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_test.dart @@ -17,22 +17,22 @@ void main() { group('tile overlay id tests', () { test('equality', () async { - const TileOverlayId id1 = TileOverlayId('1'); - const TileOverlayId id2 = TileOverlayId('1'); - const TileOverlayId id3 = TileOverlayId('2'); + const id1 = TileOverlayId('1'); + const id2 = TileOverlayId('1'); + const id3 = TileOverlayId('2'); expect(id1, id2); expect(id1, isNot(id3)); }); test('toString', () async { - const TileOverlayId id1 = TileOverlayId('1'); + const id1 = TileOverlayId('1'); expect(id1.toString(), 'TileOverlayId(1)'); }); }); group('tile overlay tests', () { test('toJson returns correct format', () async { - const TileOverlay tileOverlay = TileOverlay( + const tileOverlay = TileOverlay( tileOverlayId: TileOverlayId('id'), fadeIn: false, transparency: 0.1, @@ -70,7 +70,7 @@ void main() { test('equality', () async { final TileProvider tileProvider = _TestTileProvider(); - final TileOverlay tileOverlay1 = TileOverlay( + final tileOverlay1 = TileOverlay( tileOverlayId: const TileOverlayId('id1'), fadeIn: false, tileProvider: tileProvider, @@ -79,7 +79,7 @@ void main() { visible: false, tileSize: 128, ); - final TileOverlay tileOverlaySameValues = TileOverlay( + final tileOverlaySameValues = TileOverlay( tileOverlayId: const TileOverlayId('id1'), fadeIn: false, tileProvider: tileProvider, @@ -88,7 +88,7 @@ void main() { visible: false, tileSize: 128, ); - final TileOverlay tileOverlayDifferentId = TileOverlay( + final tileOverlayDifferentId = TileOverlay( tileOverlayId: const TileOverlayId('id2'), fadeIn: false, tileProvider: tileProvider, @@ -97,7 +97,7 @@ void main() { visible: false, tileSize: 128, ); - const TileOverlay tileOverlayDifferentProvider = TileOverlay( + const tileOverlayDifferentProvider = TileOverlay( tileOverlayId: TileOverlayId('id1'), fadeIn: false, transparency: 0.1, @@ -113,7 +113,7 @@ void main() { test('clone', () async { final TileProvider tileProvider = _TestTileProvider(); // Set non-default values for every parameter. - final TileOverlay tileOverlay = TileOverlay( + final tileOverlay = TileOverlay( tileOverlayId: const TileOverlayId('id1'), fadeIn: false, tileProvider: tileProvider, @@ -127,8 +127,8 @@ void main() { test('hashCode', () async { final TileProvider tileProvider = _TestTileProvider(); - const TileOverlayId id = TileOverlayId('id1'); - final TileOverlay tileOverlay = TileOverlay( + const id = TileOverlayId('id1'); + final tileOverlay = TileOverlay( tileOverlayId: id, fadeIn: false, tileProvider: tileProvider, diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_updates_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_updates_test.dart index b7f91c06c75..3811a865a85 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_updates_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_overlay_updates_test.dart @@ -12,48 +12,40 @@ void main() { group('tile overlay updates tests', () { test('Correctly set toRemove, toAdd and toChange', () async { - const TileOverlay to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); - const TileOverlay to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); - const TileOverlay to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); - const TileOverlay to3Changed = TileOverlay( + const to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); + const to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); + const to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); + const to3Changed = TileOverlay( tileOverlayId: TileOverlayId('id3'), transparency: 0.5, ); - const TileOverlay to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); - final Set previous = {to1, to2, to3}; - final Set current = {to2, to3Changed, to4}; - final TileOverlayUpdates updates = TileOverlayUpdates.from( - previous, - current, - ); + const to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TileOverlayUpdates.from(previous, current); - final Set toRemove = { - const TileOverlayId('id1'), - }; + final toRemove = {const TileOverlayId('id1')}; expect(updates.tileOverlayIdsToRemove, toRemove); - final Set toAdd = {to4}; + final toAdd = {to4}; expect(updates.tileOverlaysToAdd, toAdd); - final Set toChange = {to3Changed}; + final toChange = {to3Changed}; expect(updates.tileOverlaysToChange, toChange); }); test('toJson', () async { - const TileOverlay to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); - const TileOverlay to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); - const TileOverlay to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); - const TileOverlay to3Changed = TileOverlay( + const to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); + const to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); + const to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); + const to3Changed = TileOverlay( tileOverlayId: TileOverlayId('id3'), transparency: 0.5, ); - const TileOverlay to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); - final Set previous = {to1, to2, to3}; - final Set current = {to2, to3Changed, to4}; - final TileOverlayUpdates updates = TileOverlayUpdates.from( - previous, - current, - ); + const to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TileOverlayUpdates.from(previous, current); final Object json = updates.toJson(); expect(json, { @@ -68,49 +60,37 @@ void main() { }); test('equality', () async { - const TileOverlay to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); - const TileOverlay to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); - const TileOverlay to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); - const TileOverlay to3Changed = TileOverlay( + const to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); + const to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); + const to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); + const to3Changed = TileOverlay( tileOverlayId: TileOverlayId('id3'), transparency: 0.5, ); - const TileOverlay to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); - final Set previous = {to1, to2, to3}; - final Set current1 = {to2, to3Changed, to4}; - final Set current2 = {to2, to3Changed, to4}; - final Set current3 = {to2, to4}; - final TileOverlayUpdates updates1 = TileOverlayUpdates.from( - previous, - current1, - ); - final TileOverlayUpdates updates2 = TileOverlayUpdates.from( - previous, - current2, - ); - final TileOverlayUpdates updates3 = TileOverlayUpdates.from( - previous, - current3, - ); + const to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); + final previous = {to1, to2, to3}; + final current1 = {to2, to3Changed, to4}; + final current2 = {to2, to3Changed, to4}; + final current3 = {to2, to4}; + final updates1 = TileOverlayUpdates.from(previous, current1); + final updates2 = TileOverlayUpdates.from(previous, current2); + final updates3 = TileOverlayUpdates.from(previous, current3); expect(updates1, updates2); expect(updates1, isNot(updates3)); }); test('hashCode', () async { - const TileOverlay to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); - const TileOverlay to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); - const TileOverlay to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); - const TileOverlay to3Changed = TileOverlay( + const to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); + const to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); + const to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); + const to3Changed = TileOverlay( tileOverlayId: TileOverlayId('id3'), transparency: 0.5, ); - const TileOverlay to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); - final Set previous = {to1, to2, to3}; - final Set current = {to2, to3Changed, to4}; - final TileOverlayUpdates updates = TileOverlayUpdates.from( - previous, - current, - ); + const to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TileOverlayUpdates.from(previous, current); expect( updates.hashCode, Object.hash( @@ -122,20 +102,17 @@ void main() { }); test('toString', () async { - const TileOverlay to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); - const TileOverlay to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); - const TileOverlay to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); - const TileOverlay to3Changed = TileOverlay( + const to1 = TileOverlay(tileOverlayId: TileOverlayId('id1')); + const to2 = TileOverlay(tileOverlayId: TileOverlayId('id2')); + const to3 = TileOverlay(tileOverlayId: TileOverlayId('id3')); + const to3Changed = TileOverlay( tileOverlayId: TileOverlayId('id3'), transparency: 0.5, ); - const TileOverlay to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); - final Set previous = {to1, to2, to3}; - final Set current = {to2, to3Changed, to4}; - final TileOverlayUpdates updates = TileOverlayUpdates.from( - previous, - current, - ); + const to4 = TileOverlay(tileOverlayId: TileOverlayId('id4')); + final previous = {to1, to2, to3}; + final current = {to2, to3Changed, to4}; + final updates = TileOverlayUpdates.from(previous, current); expect( updates.toString(), 'TileOverlayUpdates(add: ${updates.tileOverlaysToAdd}, ' diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_test.dart index 1c0e5359b85..4307a3597fc 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/types/tile_test.dart @@ -12,14 +12,14 @@ void main() { group('tile tests', () { test('toJson returns correct format', () async { - final Uint8List data = Uint8List.fromList([0, 1]); - final Tile tile = Tile(100, 200, data); + final data = Uint8List.fromList([0, 1]); + final tile = Tile(100, 200, data); final Object json = tile.toJson(); expect(json, {'width': 100, 'height': 200, 'data': data}); }); test('toJson handles null data', () async { - const Tile tile = Tile(0, 0, null); + const tile = Tile(0, 0, null); final Object json = tile.toJson(); expect(json, {'width': 0, 'height': 0}); }); diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/cluster_manager_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/cluster_manager_test.dart index 0f096a75307..4bb0d908feb 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/cluster_manager_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/cluster_manager_test.dart @@ -8,11 +8,11 @@ import 'package:google_maps_flutter_platform_interface/src/types/types.dart'; void main() { group('keyByClusterManagerId', () { test('returns a Map keyed by clusterManagerId', () { - const ClusterManagerId id1 = ClusterManagerId('id1'); - const ClusterManagerId id2 = ClusterManagerId('id2'); - const ClusterManagerId id3 = ClusterManagerId('id3'); + const id1 = ClusterManagerId('id1'); + const id2 = ClusterManagerId('id2'); + const id3 = ClusterManagerId('id3'); - final List clusterManagers = [ + final clusterManagers = [ const ClusterManager(clusterManagerId: id1), const ClusterManager(clusterManagerId: id2), const ClusterManager(clusterManagerId: id3), diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/map_configuration_serialization_test.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/map_configuration_serialization_test.dart index b52b977bb99..7777f2399fe 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/map_configuration_serialization_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/test/utils/map_configuration_serialization_test.dart @@ -11,7 +11,7 @@ const String _kMapId = '000000000000000'; // Dummy map ID. void main() { test('empty serialization', () async { - const MapConfiguration config = MapConfiguration(); + const config = MapConfiguration(); final Map json = jsonForMapConfiguration(config); @@ -19,7 +19,7 @@ void main() { }); test('complete serialization', () async { - final MapConfiguration config = MapConfiguration( + final config = MapConfiguration( compassEnabled: false, mapToolbarEnabled: false, cameraTargetBounds: CameraTargetBounds( @@ -84,7 +84,7 @@ void main() { }); test('mapId preferred over cloudMapId', () { - const MapConfiguration config = MapConfiguration( + const config = MapConfiguration( mapId: 'map-id', cloudMapId: 'cloud-map-id', ); @@ -93,9 +93,7 @@ void main() { }); test('mapId falls back to cloudMapId', () { - const MapConfiguration config = MapConfiguration( - cloudMapId: 'cloud-map-id', - ); + const config = MapConfiguration(cloudMapId: 'cloud-map-id'); final Map json = jsonForMapConfiguration(config); expect(json, { 'mapId': 'cloud-map-id', diff --git a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md index 0cb861a490f..149dba55020 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 0.5.14+3 diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/cloud_map_styles_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/cloud_map_styles_test.dart index 2c843752934..57555a51e45 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/cloud_map_styles_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/cloud_map_styles_test.dart @@ -29,23 +29,20 @@ void main() { testWidgets('cloudMapId present => mapId set & styles omitted', ( WidgetTester tester, ) async { - const MapConfiguration testMapConfig = MapConfiguration( - mapId: 'test-cloud-map-id', - ); + const testMapConfig = MapConfiguration(mapId: 'test-cloud-map-id'); await tester.pumpWidget( const Directionality(textDirection: TextDirection.ltr, child: SizedBox()), ); - final StreamController> stream = - StreamController>(); + final stream = StreamController>(); addTearDown(() { // Stream is closed by controller.dispose() }); gmaps.MapOptions? captured; - final GoogleMapController controller = GoogleMapController( + final controller = GoogleMapController( mapId: 1, // Internal controller ID streamController: stream, widgetConfiguration: cfg(), @@ -58,7 +55,7 @@ void main() { }, ); - final List styles = [ + final styles = [ gmaps.MapTypeStyle() ..featureType = 'road' ..elementType = 'geometry', @@ -84,14 +81,13 @@ void main() { const Directionality(textDirection: TextDirection.ltr, child: SizedBox()), ); - final StreamController> stream = - StreamController>(); + final stream = StreamController>(); addTearDown(() { // Stream is closed by controller.dispose() }); gmaps.MapOptions? captured; - final GoogleMapController controller = GoogleMapController( + final controller = GoogleMapController( mapId: 2, // Internal controller ID streamController: stream, widgetConfiguration: cfg(), @@ -103,7 +99,7 @@ void main() { }, ); - final List styles = [ + final styles = [ gmaps.MapTypeStyle() ..featureType = 'poi' ..elementType = 'labels', diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_controller_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_controller_test.dart index ce102173d4c..1649f40e7bb 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_controller_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_controller_test.dart @@ -50,7 +50,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('GoogleMapController', () { - const int mapId = 33930; + const mapId = 33930; late GoogleMapController controller; late StreamController> stream; @@ -374,7 +374,7 @@ void main() { }); testWidgets('renders initial geometry', (WidgetTester tester) async { - final MapObjects mapObjects = MapObjects( + final mapObjects = MapObjects( circles: { const Circle(circleId: CircleId('circle-1'), zIndex: 1234), }, @@ -614,7 +614,7 @@ void main() { testWidgets('translates cameraTargetBounds option', ( WidgetTester tester, ) async { - final LatLngBounds mockLatLngBounds = LatLngBounds( + final mockLatLngBounds = LatLngBounds( southwest: const LatLng(20, 30), northeast: const LatLng(25, 35), ); @@ -670,7 +670,7 @@ void main() { testWidgets('translates style option', (WidgetTester tester) async { gmaps.MapOptions? capturedOptions; - const String style = ''' + const style = ''' [{ "featureType": "poi.park", "elementType": "labels.text.fill", @@ -722,7 +722,7 @@ void main() { ) async { gmaps.MapOptions? initialCapturedOptions; gmaps.MapOptions? updatedCapturedOptions; - const String style = ''' + const style = ''' [{ "featureType": "poi.park", "elementType": "labels.text.fill", @@ -820,7 +820,7 @@ void main() { }); testWidgets('can update style', (WidgetTester tester) async { - const String style = ''' + const style = ''' [{ "featureType": "poi.park", "elementType": "labels.text.fill", @@ -846,7 +846,7 @@ void main() { group('viewport getters', () { testWidgets('getVisibleRegion', (WidgetTester tester) async { final gmaps.LatLng gmCenter = map.center; - final LatLng center = LatLng( + final center = LatLng( gmCenter.lat.toDouble(), gmCenter.lng.toDouble(), ); @@ -878,15 +878,15 @@ void main() { // These are the methods that get forwarded to other controllers, so we just verify calls. group('Pass-through methods', () { testWidgets('updateCircles', (WidgetTester tester) async { - final MockCirclesController mock = MockCirclesController(); + final mock = MockCirclesController(); controller = createController()..debugSetOverrides(circles: mock); - final Set previous = { + final previous = { const Circle(circleId: CircleId('to-be-updated')), const Circle(circleId: CircleId('to-be-removed')), }; - final Set current = { + final current = { const Circle(circleId: CircleId('to-be-updated'), visible: false), const Circle(circleId: CircleId('to-be-added')), }; @@ -907,10 +907,10 @@ void main() { }); testWidgets('updateHeatmaps', (WidgetTester tester) async { - final MockHeatmapsController mock = MockHeatmapsController(); + final mock = MockHeatmapsController(); controller.debugSetOverrides(heatmaps: mock); - const List heatmapPoints = [ + const heatmapPoints = [ WeightedLatLng(LatLng(37.782, -122.447)), WeightedLatLng(LatLng(37.782, -122.445)), WeightedLatLng(LatLng(37.782, -122.443)), @@ -927,7 +927,7 @@ void main() { WeightedLatLng(LatLng(37.785, -122.435)), ]; - final Set previous = { + final previous = { const Heatmap( heatmapId: HeatmapId('to-be-updated'), data: heatmapPoints, @@ -940,7 +940,7 @@ void main() { ), }; - final Set current = { + final current = { const Heatmap( heatmapId: HeatmapId('to-be-updated'), data: heatmapPoints, @@ -981,15 +981,15 @@ void main() { }); testWidgets('updateMarkers', (WidgetTester tester) async { - final MockMarkersController mock = MockMarkersController(); + final mock = MockMarkersController(); controller = createController()..debugSetOverrides(markers: mock); - final Set previous = { + final previous = { const Marker(markerId: MarkerId('to-be-updated')), const Marker(markerId: MarkerId('to-be-removed')), }; - final Set current = { + final current = { const Marker(markerId: MarkerId('to-be-updated'), visible: false), const Marker(markerId: MarkerId('to-be-added')), }; @@ -1010,15 +1010,15 @@ void main() { }); testWidgets('updatePolygons', (WidgetTester tester) async { - final MockPolygonsController mock = MockPolygonsController(); + final mock = MockPolygonsController(); controller = createController()..debugSetOverrides(polygons: mock); - final Set previous = { + final previous = { const Polygon(polygonId: PolygonId('to-be-updated')), const Polygon(polygonId: PolygonId('to-be-removed')), }; - final Set current = { + final current = { const Polygon(polygonId: PolygonId('to-be-updated'), visible: false), const Polygon(polygonId: PolygonId('to-be-added')), }; @@ -1044,15 +1044,15 @@ void main() { }); testWidgets('updatePolylines', (WidgetTester tester) async { - final MockPolylinesController mock = MockPolylinesController(); + final mock = MockPolylinesController(); controller = createController()..debugSetOverrides(polylines: mock); - final Set previous = { + final previous = { const Polyline(polylineId: PolylineId('to-be-updated')), const Polyline(polylineId: PolylineId('to-be-removed')), }; - final Set current = { + final current = { const Polyline( polylineId: PolylineId('to-be-updated'), visible: false, @@ -1081,7 +1081,7 @@ void main() { }); testWidgets('updateTileOverlays', (WidgetTester tester) async { - final MockTileOverlaysController mock = MockTileOverlaysController(); + final mock = MockTileOverlaysController(); controller = createController( mapObjects: MapObjects( tileOverlays: { @@ -1120,45 +1120,43 @@ void main() { }); testWidgets('updateGroundOverlays', (WidgetTester tester) async { - final MockGroundOverlaysController mock = - MockGroundOverlaysController(); + final mock = MockGroundOverlaysController(); controller = createController() ..debugSetOverrides(groundOverlays: mock); - final LatLngBounds bounds = LatLngBounds( + final bounds = LatLngBounds( northeast: const LatLng(100, 0), southwest: const LatLng(0, 100), ); - const LatLng position = LatLng(50, 50); - final AssetMapBitmap image = AssetMapBitmap( + const position = LatLng(50, 50); + final image = AssetMapBitmap( 'assets/red_square.png', imagePixelRatio: 1.0, bitmapScaling: MapBitmapScaling.none, ); - final GroundOverlay groundOverlayToBeUpdated = GroundOverlay.fromBounds( + final groundOverlayToBeUpdated = GroundOverlay.fromBounds( groundOverlayId: const GroundOverlayId('to-be-updated'), image: image, bounds: bounds, ); - final GroundOverlay groundOverlayToBeRemoved = - GroundOverlay.fromPosition( - groundOverlayId: const GroundOverlayId('to-be-removed'), - image: image, - position: position, - ); - final GroundOverlay groundOverlayToBeAdded = GroundOverlay.fromPosition( + final groundOverlayToBeRemoved = GroundOverlay.fromPosition( + groundOverlayId: const GroundOverlayId('to-be-removed'), + image: image, + position: position, + ); + final groundOverlayToBeAdded = GroundOverlay.fromPosition( groundOverlayId: const GroundOverlayId('to-be-added'), image: image, position: position, ); - final Set previous = { + final previous = { groundOverlayToBeUpdated, groundOverlayToBeRemoved, }; - final Set current = { + final current = { groundOverlayToBeUpdated.copyWith(visibleParam: false), groundOverlayToBeAdded, }; @@ -1181,8 +1179,8 @@ void main() { }); testWidgets('infoWindow visibility', (WidgetTester tester) async { - final MockMarkersController mock = MockMarkersController(); - const MarkerId markerId = MarkerId('marker-with-infowindow'); + final mock = MockMarkersController(); + const markerId = MarkerId('marker-with-infowindow'); when(mock.isInfoWindowShown(markerId)).thenReturn(true); controller = createController()..debugSetOverrides(markers: mock); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_plugin_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_plugin_test.dart index a70ef4e73c9..24cec1d5c3a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_plugin_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/google_maps_plugin_test.dart @@ -26,7 +26,7 @@ void main() { late MockGoogleMapController controller; late GoogleMapsPlugin plugin; late Completer reportedMapIdCompleter; - int numberOnPlatformViewCreatedCalls = 0; + var numberOnPlatformViewCreatedCalls = 0; void onPlatformViewCreated(int id) { reportedMapIdCompleter.complete(id); @@ -67,16 +67,13 @@ void main() { }); group('buildView', () { - const int testMapId = 33930; - const CameraPosition initialCameraPosition = CameraPosition( - target: LatLng(0, 0), - ); + const testMapId = 33930; + const initialCameraPosition = CameraPosition(target: LatLng(0, 0)); testWidgets( 'returns an HtmlElementView and caches the controller for later', (WidgetTester tester) async { - final Map cache = - {}; + final cache = {}; plugin.debugSetMapById(cache); final Widget widget = plugin.buildViewWithConfiguration( @@ -112,9 +109,7 @@ void main() { testWidgets('returns cached instance if it already exists', ( WidgetTester tester, ) async { - const HtmlElementView expected = HtmlElementView( - viewType: 'only-for-testing', - ); + const expected = HtmlElementView(viewType: 'only-for-testing'); when(controller.widget).thenReturn(expected); plugin.debugSetMapById({ testMapId: controller, @@ -135,8 +130,7 @@ void main() { testWidgets( 'asynchronously reports onPlatformViewCreated the first time it happens', (WidgetTester tester) async { - final Map cache = - {}; + final cache = {}; plugin.debugSetMapById(cache); plugin.buildViewWithConfiguration( @@ -175,7 +169,7 @@ void main() { }); group('setMapStyles', () { - const String mapStyle = ''' + const mapStyle = ''' [{ "featureType": "poi.park", "elementType": "labels.text.fill", @@ -193,8 +187,7 @@ void main() { controller.updateStyles(captureThat(isList)), ).captured[0]; - final List styles = - captured as List; + final styles = captured as List; expect(styles.length, 1); // Let's peek inside the styles... final gmaps.MapTypeStyle style = styles[0]; @@ -218,15 +211,13 @@ void main() { // These methods only pass-through values from the plugin to the controller // so we verify them all together here... group('Pass-through methods:', () { - const int mapId = 0; + const mapId = 0; setUp(() { plugin.debugSetMapById({mapId: controller}); }); // Options testWidgets('updateMapConfiguration', (WidgetTester tester) async { - const MapConfiguration configuration = MapConfiguration( - mapType: MapType.satellite, - ); + const configuration = MapConfiguration(mapType: MapType.satellite); await plugin.updateMapConfiguration(configuration, mapId: mapId); @@ -234,7 +225,7 @@ void main() { }); // Geometry testWidgets('updateMarkers', (WidgetTester tester) async { - final MarkerUpdates expectedUpdates = MarkerUpdates.from( + final expectedUpdates = MarkerUpdates.from( const {}, const {}, ); @@ -244,7 +235,7 @@ void main() { verify(controller.updateMarkers(expectedUpdates)); }); testWidgets('updatePolygons', (WidgetTester tester) async { - final PolygonUpdates expectedUpdates = PolygonUpdates.from( + final expectedUpdates = PolygonUpdates.from( const {}, const {}, ); @@ -254,7 +245,7 @@ void main() { verify(controller.updatePolygons(expectedUpdates)); }); testWidgets('updatePolylines', (WidgetTester tester) async { - final PolylineUpdates expectedUpdates = PolylineUpdates.from( + final expectedUpdates = PolylineUpdates.from( const {}, const {}, ); @@ -264,7 +255,7 @@ void main() { verify(controller.updatePolylines(expectedUpdates)); }); testWidgets('updateCircles', (WidgetTester tester) async { - final CircleUpdates expectedUpdates = CircleUpdates.from( + final expectedUpdates = CircleUpdates.from( const {}, const {}, ); @@ -274,7 +265,7 @@ void main() { verify(controller.updateCircles(expectedUpdates)); }); testWidgets('updateHeatmaps', (WidgetTester tester) async { - final HeatmapUpdates expectedUpdates = HeatmapUpdates.from( + final expectedUpdates = HeatmapUpdates.from( const {}, const {}, ); @@ -285,7 +276,7 @@ void main() { }); // Tile Overlays testWidgets('updateTileOverlays', (WidgetTester tester) async { - final Set expectedOverlays = { + final expectedOverlays = { const TileOverlay(tileOverlayId: TileOverlayId('overlay')), }; @@ -297,7 +288,7 @@ void main() { verify(controller.updateTileOverlays(expectedOverlays)); }); testWidgets('clearTileCache', (WidgetTester tester) async { - const TileOverlayId tileOverlayId = TileOverlayId('Dory'); + const tileOverlayId = TileOverlayId('Dory'); await plugin.clearTileCache(tileOverlayId, mapId: mapId); @@ -348,7 +339,7 @@ void main() { (_) async => const ScreenCoordinate(x: 320, y: 240), // fake return ); - const LatLng latLng = LatLng(43.3613, -5.8499); + const latLng = LatLng(43.3613, -5.8499); await plugin.getScreenCoordinate(latLng, mapId: mapId); @@ -360,7 +351,7 @@ void main() { (_) async => const LatLng(43.3613, -5.8499), // fake return ); - const ScreenCoordinate coordinates = ScreenCoordinate(x: 19, y: 26); + const coordinates = ScreenCoordinate(x: 19, y: 26); await plugin.getLatLng(coordinates, mapId: mapId); @@ -369,7 +360,7 @@ void main() { // InfoWindows testWidgets('showMarkerInfoWindow', (WidgetTester tester) async { - const MarkerId markerId = MarkerId('testing-123'); + const markerId = MarkerId('testing-123'); await plugin.showMarkerInfoWindow(markerId, mapId: mapId); @@ -377,7 +368,7 @@ void main() { }); testWidgets('hideMarkerInfoWindow', (WidgetTester tester) async { - const MarkerId markerId = MarkerId('testing-123'); + const markerId = MarkerId('testing-123'); await plugin.hideMarkerInfoWindow(markerId, mapId: mapId); @@ -385,7 +376,7 @@ void main() { }); testWidgets('isMarkerInfoWindowShown', (WidgetTester tester) async { - const MarkerId markerId = MarkerId('testing-123'); + const markerId = MarkerId('testing-123'); when(controller.isInfoWindowShown(markerId)).thenReturn(true); @@ -397,7 +388,7 @@ void main() { // Verify all event streams are filtered correctly from the main one... group('Event Streams', () { - const int mapId = 0; + const mapId = 0; late StreamController> streamController; setUp(() { streamController = StreamController>.broadcast(); @@ -427,7 +418,7 @@ void main() { // Camera events testWidgets('onCameraMoveStarted', (WidgetTester tester) async { - final CameraMoveStartedEvent event = CameraMoveStartedEvent(mapId); + final event = CameraMoveStartedEvent(mapId); final Stream stream = plugin .onCameraMoveStarted(mapId: mapId); @@ -435,7 +426,7 @@ void main() { await testStreamFiltering(stream, event); }); testWidgets('onCameraMoveStarted', (WidgetTester tester) async { - final CameraMoveEvent event = CameraMoveEvent( + final event = CameraMoveEvent( mapId, const CameraPosition(target: LatLng(43.3790, -5.8660)), ); @@ -447,7 +438,7 @@ void main() { await testStreamFiltering(stream, event); }); testWidgets('onCameraIdle', (WidgetTester tester) async { - final CameraIdleEvent event = CameraIdleEvent(mapId); + final event = CameraIdleEvent(mapId); final Stream stream = plugin.onCameraIdle( mapId: mapId, @@ -457,20 +448,14 @@ void main() { }); // Marker events testWidgets('onMarkerTap', (WidgetTester tester) async { - final MarkerTapEvent event = MarkerTapEvent( - mapId, - const MarkerId('test-123'), - ); + final event = MarkerTapEvent(mapId, const MarkerId('test-123')); final Stream stream = plugin.onMarkerTap(mapId: mapId); await testStreamFiltering(stream, event); }); testWidgets('onInfoWindowTap', (WidgetTester tester) async { - final InfoWindowTapEvent event = InfoWindowTapEvent( - mapId, - const MarkerId('test-123'), - ); + final event = InfoWindowTapEvent(mapId, const MarkerId('test-123')); final Stream stream = plugin.onInfoWindowTap( mapId: mapId, @@ -479,7 +464,7 @@ void main() { await testStreamFiltering(stream, event); }); testWidgets('onMarkerDragStart', (WidgetTester tester) async { - final MarkerDragStartEvent event = MarkerDragStartEvent( + final event = MarkerDragStartEvent( mapId, const LatLng(43.3677, -5.8372), const MarkerId('test-123'), @@ -492,7 +477,7 @@ void main() { await testStreamFiltering(stream, event); }); testWidgets('onMarkerDrag', (WidgetTester tester) async { - final MarkerDragEvent event = MarkerDragEvent( + final event = MarkerDragEvent( mapId, const LatLng(43.3677, -5.8372), const MarkerId('test-123'), @@ -505,7 +490,7 @@ void main() { await testStreamFiltering(stream, event); }); testWidgets('onMarkerDragEnd', (WidgetTester tester) async { - final MarkerDragEndEvent event = MarkerDragEndEvent( + final event = MarkerDragEndEvent( mapId, const LatLng(43.3677, -5.8372), const MarkerId('test-123'), @@ -519,10 +504,7 @@ void main() { }); // Geometry testWidgets('onPolygonTap', (WidgetTester tester) async { - final PolygonTapEvent event = PolygonTapEvent( - mapId, - const PolygonId('test-123'), - ); + final event = PolygonTapEvent(mapId, const PolygonId('test-123')); final Stream stream = plugin.onPolygonTap( mapId: mapId, @@ -531,10 +513,7 @@ void main() { await testStreamFiltering(stream, event); }); testWidgets('onPolylineTap', (WidgetTester tester) async { - final PolylineTapEvent event = PolylineTapEvent( - mapId, - const PolylineId('test-123'), - ); + final event = PolylineTapEvent(mapId, const PolylineId('test-123')); final Stream stream = plugin.onPolylineTap( mapId: mapId, @@ -543,10 +522,7 @@ void main() { await testStreamFiltering(stream, event); }); testWidgets('onCircleTap', (WidgetTester tester) async { - final CircleTapEvent event = CircleTapEvent( - mapId, - const CircleId('test-123'), - ); + final event = CircleTapEvent(mapId, const CircleId('test-123')); final Stream stream = plugin.onCircleTap(mapId: mapId); @@ -554,20 +530,14 @@ void main() { }); // Map taps testWidgets('onTap', (WidgetTester tester) async { - final MapTapEvent event = MapTapEvent( - mapId, - const LatLng(43.3597, -5.8458), - ); + final event = MapTapEvent(mapId, const LatLng(43.3597, -5.8458)); final Stream stream = plugin.onTap(mapId: mapId); await testStreamFiltering(stream, event); }); testWidgets('onLongPress', (WidgetTester tester) async { - final MapLongPressEvent event = MapLongPressEvent( - mapId, - const LatLng(43.3608, -5.8425), - ); + final event = MapLongPressEvent(mapId, const LatLng(43.3608, -5.8425)); final Stream stream = plugin.onLongPress( mapId: mapId, diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_clustering_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_clustering_test.dart index c2c650156b1..003934e6168 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_clustering_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_clustering_test.dart @@ -19,23 +19,21 @@ void main() { final GoogleMapsInspectorPlatform inspector = GoogleMapsInspectorPlatform.instance!; - const LatLng mapCenter = LatLng(20, 20); - const CameraPosition initialCameraPosition = CameraPosition( - target: mapCenter, - ); + const mapCenter = LatLng(20, 20); + const initialCameraPosition = CameraPosition(target: mapCenter); group('MarkersController', () { - const int testMapId = 33930; + const testMapId = 33930; testWidgets('Marker clustering', (WidgetTester tester) async { - const ClusterManagerId clusterManagerId = ClusterManagerId('cluster 1'); + const clusterManagerId = ClusterManagerId('cluster 1'); - final Set clusterManagers = { + final clusterManagers = { const ClusterManager(clusterManagerId: clusterManagerId), }; // Create the marker with clusterManagerId. - final Set initialMarkers = { + final initialMarkers = { const Marker( markerId: MarkerId('1'), position: mapCenter, @@ -48,7 +46,7 @@ void main() { ), }; - final Completer mapIdCompleter = Completer(); + final mapIdCompleter = Completer(); await _pumpMap( tester, @@ -87,14 +85,11 @@ void main() { // Copy only the first marker with null clusterManagerId. // This means that both markers should be removed from the cluster. - final Set updatedMarkers = { + final updatedMarkers = { _copyMarkerWithClusterManagerId(initialMarkers.first, null), }; - final MarkerUpdates markerUpdates = MarkerUpdates.from( - initialMarkers, - updatedMarkers, - ); + final markerUpdates = MarkerUpdates.from(initialMarkers, updatedMarkers); await plugin.updateMarkers(markerUpdates, mapId: mapId); final List updatedClusters = @@ -128,7 +123,7 @@ Future waitForValueMatchingPredicate( bool Function(T) predicate, { int maxTries = 100, }) async { - for (int i = 0; i < maxTries; i++) { + for (var i = 0; i < maxTries; i++) { final T value = await getValue(); if (predicate(value)) { return value; diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_test.dart index ad74c151d64..adf8f4e1ee4 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/marker_test.dart @@ -102,8 +102,8 @@ void main() { }); testWidgets('update', (WidgetTester tester) async { - final MarkerController controller = MarkerController(marker: marker); - final gmaps.MarkerOptions options = gmaps.MarkerOptions() + final controller = MarkerController(marker: marker); + final options = gmaps.MarkerOptions() ..draggable = true ..position = gmaps.LatLng(42, 54); @@ -119,7 +119,7 @@ void main() { testWidgets('infoWindow null, showInfoWindow.', ( WidgetTester tester, ) async { - final MarkerController controller = MarkerController(marker: marker); + final controller = MarkerController(marker: marker); controller.showInfoWindow(); @@ -127,10 +127,10 @@ void main() { }); testWidgets('showInfoWindow', (WidgetTester tester) async { - final gmaps.InfoWindow infoWindow = gmaps.InfoWindow(); - final gmaps.Map map = gmaps.Map(createDivElement()); + final infoWindow = gmaps.InfoWindow(); + final map = gmaps.Map(createDivElement()); marker.set('map', map); - final MarkerController controller = MarkerController( + final controller = MarkerController( marker: marker, infoWindow: infoWindow, ); @@ -142,10 +142,10 @@ void main() { }); testWidgets('hideInfoWindow', (WidgetTester tester) async { - final gmaps.InfoWindow infoWindow = gmaps.InfoWindow(); - final gmaps.Map map = gmaps.Map(createDivElement()); + final infoWindow = gmaps.InfoWindow(); + final map = gmaps.Map(createDivElement()); marker.set('map', map); - final MarkerController controller = MarkerController( + final controller = MarkerController( marker: marker, infoWindow: infoWindow, ); @@ -160,8 +160,8 @@ void main() { late MarkerController controller; setUp(() { - final gmaps.InfoWindow infoWindow = gmaps.InfoWindow(); - final gmaps.Map map = gmaps.Map(createDivElement()); + final infoWindow = gmaps.InfoWindow(); + final map = gmaps.Map(createDivElement()); marker.set('map', map); controller = MarkerController(marker: marker, infoWindow: infoWindow); }); @@ -175,8 +175,7 @@ void main() { testWidgets('cannot call update after remove', ( WidgetTester tester, ) async { - final gmaps.MarkerOptions options = gmaps.MarkerOptions() - ..draggable = true; + final options = gmaps.MarkerOptions()..draggable = true; controller.remove(); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/markers_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/markers_test.dart index b8f60ee24cd..2ddc2137978 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/markers_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/markers_test.dart @@ -43,7 +43,7 @@ void main() { }); testWidgets('addMarkers', (WidgetTester tester) async { - final Set markers = { + final markers = { const Marker(markerId: MarkerId('1')), const Marker(markerId: MarkerId('2')), }; @@ -60,9 +60,7 @@ void main() { gmaps.Marker? marker; gmaps.LatLng? position; - final Set markers = { - const Marker(markerId: MarkerId('1')), - }; + final markers = {const Marker(markerId: MarkerId('1'))}; await controller.addMarkers(markers); marker = controller.markers[const MarkerId('1')]?.marker; @@ -76,7 +74,7 @@ void main() { expect(position.lng, equals(0)); // Update the marker with draggable and position - final Set updatedMarkers = { + final updatedMarkers = { const Marker( markerId: MarkerId('1'), draggable: true, @@ -102,7 +100,7 @@ void main() { gmaps.Marker? marker; gmaps.LatLng? position; - final Set markers = { + final markers = { const Marker(markerId: MarkerId('1'), position: LatLng(42, 54)), }; await controller.addMarkers(markers); @@ -117,7 +115,7 @@ void main() { expect(position.lng, equals(54)); // Update the marker without position - final Set updatedMarkers = { + final updatedMarkers = { const Marker(markerId: MarkerId('1'), draggable: true), }; await controller.changeMarkers(updatedMarkers); @@ -135,7 +133,7 @@ void main() { ); testWidgets('removeMarkers', (WidgetTester tester) async { - final Set markers = { + final markers = { const Marker(markerId: MarkerId('1')), const Marker(markerId: MarkerId('2')), const Marker(markerId: MarkerId('3')), @@ -146,7 +144,7 @@ void main() { expect(controller.markers.length, 3); // Remove some markers... - final Set markerIdsToRemove = { + final markerIdsToRemove = { const MarkerId('1'), const MarkerId('3'), }; @@ -160,7 +158,7 @@ void main() { }); testWidgets('InfoWindow show/hide', (WidgetTester tester) async { - final Set markers = { + final markers = { const Marker( markerId: MarkerId('1'), infoWindow: InfoWindow(title: 'Title', snippet: 'Snippet'), @@ -184,7 +182,7 @@ void main() { testWidgets('only single InfoWindow is visible', ( WidgetTester tester, ) async { - final Set markers = { + final markers = { const Marker( markerId: MarkerId('1'), infoWindow: InfoWindow(title: 'Title', snippet: 'Snippet'), @@ -213,7 +211,7 @@ void main() { testWidgets('markers with custom asset icon work', ( WidgetTester tester, ) async { - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: AssetMapBitmap('assets/red_square.png', imagePixelRatio: 1.0), @@ -223,7 +221,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final gmaps.Icon? icon = + final icon = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon, isNotNull); @@ -243,7 +241,7 @@ void main() { testWidgets('markers with custom asset icon and pixelratio work', ( WidgetTester tester, ) async { - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: AssetMapBitmap('assets/red_square.png', imagePixelRatio: 2.0), @@ -253,7 +251,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final gmaps.Icon? icon = + final icon = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon, isNotNull); @@ -273,7 +271,7 @@ void main() { testWidgets('markers with custom asset icon with width and height work', ( WidgetTester tester, ) async { - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: AssetMapBitmap( @@ -288,7 +286,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final gmaps.Icon? icon = + final icon = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon, isNotNull); @@ -309,7 +307,7 @@ void main() { testWidgets('markers with missing asset icon should not set size', ( WidgetTester tester, ) async { - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: AssetMapBitmap( @@ -322,7 +320,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final gmaps.Icon? icon = + final icon = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon, isNotNull); @@ -339,7 +337,7 @@ void main() { WidgetTester tester, ) async { final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: BytesMapBitmap( @@ -352,7 +350,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final gmaps.Icon? icon = + final icon = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon, isNotNull); @@ -384,7 +382,7 @@ void main() { WidgetTester tester, ) async { final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: BytesMapBitmap(bytes, imagePixelRatio: 1), @@ -394,7 +392,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final gmaps.Icon? icon = + final icon = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon, isNotNull); @@ -415,7 +413,7 @@ void main() { WidgetTester tester, ) async { final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Set markers = { + final markers = { Marker( markerId: const MarkerId('1'), icon: BytesMapBitmap(bytes, width: 20, height: 30), @@ -425,7 +423,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final gmaps.Icon? icon = + final icon = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon, isNotNull); @@ -442,7 +440,7 @@ void main() { testWidgets('InfoWindow snippet can have links', ( WidgetTester tester, ) async { - final Set markers = { + final markers = { const Marker( markerId: MarkerId('1'), infoWindow: InfoWindow( @@ -455,7 +453,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final HTMLElement? content = + final content = controller.markers[const MarkerId('1')]?.infoWindow?.content as HTMLElement?; expect(content, isNotNull); @@ -472,7 +470,7 @@ void main() { // https://github.com/flutter/flutter/issues/67289 testWidgets('InfoWindow content is clickable', (WidgetTester tester) async { - final Set markers = { + final markers = { const Marker( markerId: MarkerId('1'), infoWindow: InfoWindow( @@ -485,7 +483,7 @@ void main() { await controller.addMarkers(markers); expect(controller.markers.length, 1); - final HTMLElement? content = + final content = controller.markers[const MarkerId('1')]?.infoWindow?.content as HTMLElement?; @@ -500,27 +498,27 @@ void main() { testWidgets('markers with anchor work', (WidgetTester tester) async { const double width = 20; const double height = 30; - const Offset defaultOffset = Offset(0.5, 1); - const Offset anchorOffset = Offset(0, 0.5); + const defaultOffset = Offset(0.5, 1); + const anchorOffset = Offset(0, 0.5); final Uint8List bytes = const Base64Decoder().convert(iconImageBase64); - final Marker marker1 = Marker( + final marker1 = Marker( markerId: const MarkerId('1'), icon: BytesMapBitmap(bytes, width: width, height: height), ); - final Marker marker2 = Marker( + final marker2 = Marker( markerId: const MarkerId('2'), icon: BytesMapBitmap(bytes, width: width, height: height), anchor: anchorOffset, ); - final Set markers = {marker1, marker2}; + final markers = {marker1, marker2}; await controller.addMarkers(markers); expect(controller.markers.length, 2); - final gmaps.Icon? icon1 = + final icon1 = controller.markers[const MarkerId('1')]?.marker?.icon as gmaps.Icon?; expect(icon1, isNotNull); - final gmaps.Icon? icon2 = + final icon2 = controller.markers[const MarkerId('2')]?.marker?.icon as gmaps.Icon?; expect(icon2, isNotNull); @@ -535,11 +533,9 @@ void main() { testWidgets('interpret correct zIndex in convertsion', ( WidgetTester tester, ) async { - const MarkerId markerId = MarkerId('1'); + const markerId = MarkerId('1'); - final Set markers = { - const Marker(markerId: markerId, zIndexInt: 4), - }; + final markers = {const Marker(markerId: markerId, zIndexInt: 4)}; await controller.addMarkers(markers); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlay_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlay_test.dart index d657c97e866..16a42d85b03 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlay_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlay_test.dart @@ -34,10 +34,10 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('TileOverlayController', () { - const TileOverlayId id = TileOverlayId(''); + const id = TileOverlayId(''); testWidgets('minimal initialization', (WidgetTester tester) async { - final TileOverlayController controller = TileOverlayController( + final controller = TileOverlayController( tileOverlay: const TileOverlay(tileOverlayId: id), ); @@ -51,14 +51,14 @@ void main() { }); testWidgets('produces image tiles', (WidgetTester tester) async { - final TileOverlayController controller = TileOverlayController( + final controller = TileOverlayController( tileOverlay: const TileOverlay( tileOverlayId: id, tileProvider: TestTileProvider(), ), ); - final HTMLImageElement img = + final img = controller.gmMapType.getTile(gmaps.Point(0, 0), 0, document)! as HTMLImageElement; expect(img.naturalWidth, 0); @@ -75,14 +75,14 @@ void main() { }); testWidgets('update', (WidgetTester tester) async { - final TileOverlayController controller = TileOverlayController( + final controller = TileOverlayController( tileOverlay: const TileOverlay( tileOverlayId: id, tileProvider: NoTileProvider(), ), ); { - final HTMLImageElement img = + final img = controller.gmMapType.getTile(gmaps.Point(0, 0), 0, document)! as HTMLImageElement; await null; // let `getTile` `then` complete @@ -97,7 +97,7 @@ void main() { const TileOverlay(tileOverlayId: id, tileProvider: TestTileProvider()), ); { - final HTMLImageElement img = + final img = controller.gmMapType.getTile(gmaps.Point(0, 0), 0, document)! as HTMLImageElement; diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlays_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlays_test.dart index 208d85f7883..6a1f23833b5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlays_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/overlays_test.dart @@ -22,7 +22,7 @@ import 'package:web/web.dart'; import 'overlays_test.mocks.dart'; MockTileProvider neverTileProvider() { - final MockTileProvider tileProvider = MockTileProvider(); + final tileProvider = MockTileProvider(); when( tileProvider.getTile(any, any, any), ).thenAnswer((_) => Completer().future); @@ -145,8 +145,7 @@ void main() { }); testWidgets('clearTileCache', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( MaterialApp( home: Scaffold( diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart index b3a61c4419d..8a8529379fa 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/projection_test.dart @@ -28,12 +28,9 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('Methods that require a proper Projection', () { - const LatLng center = LatLng(43.3078, -5.6958); - const Size size = Size(320, 240); - const CameraPosition initialCamera = CameraPosition( - target: center, - zoom: 14, - ); + const center = LatLng(43.3078, -5.6958); + const size = Size(320, 240); + const initialCamera = CameraPosition(target: center, zoom: 14); late Completer controllerCompleter; late void Function(GoogleMapController) onMapCreated; @@ -77,13 +74,13 @@ void main() { ); testWidgets('addPadding', (WidgetTester tester) async { - const LatLng initialMapCenter = LatLng(0, 0); + const initialMapCenter = LatLng(0, 0); const double initialZoomLevel = 5; - const CameraPosition initialCameraPosition = CameraPosition( + const initialCameraPosition = CameraPosition( target: initialMapCenter, zoom: initialZoomLevel, ); - final LatLngBounds zeroLatLngBounds = LatLngBounds( + final zeroLatLngBounds = LatLngBounds( southwest: const LatLng(0, 0), northeast: const LatLng(0, 0), ); @@ -109,7 +106,7 @@ void main() { expect(firstVisibleRegion, isNot(zeroLatLngBounds)); expect(firstVisibleRegion.contains(initialMapCenter), isTrue); - const double padding = 0.1; + const padding = 0.1; await controller.moveCamera( CameraUpdate.newLatLngBounds(firstVisibleRegion, padding), ); @@ -171,7 +168,7 @@ void main() { final GoogleMapController controller = await controllerCompleter.future; final LatLngBounds bounds = await controller.getVisibleRegion(); - final LatLng northWest = LatLng( + final northWest = LatLng( bounds.northeast.latitude, bounds.southwest.longitude, ); @@ -196,7 +193,7 @@ void main() { await controllerCompleter.future; final LatLngBounds bounds = await controller.getVisibleRegion(); - final LatLng southEast = LatLng( + final southEast = LatLng( bounds.southwest.latitude, bounds.northeast.longitude, ); @@ -249,7 +246,7 @@ void main() { final GoogleMapController controller = await controllerCompleter.future; final LatLngBounds bounds = await controller.getVisibleRegion(); - final LatLng northWest = LatLng( + final northWest = LatLng( bounds.northeast.latitude, bounds.southwest.longitude, ); @@ -280,7 +277,7 @@ void main() { final GoogleMapController controller = await controllerCompleter.future; final LatLngBounds bounds = await controller.getVisibleRegion(); - final LatLng southEast = LatLng( + final southEast = LatLng( bounds.southwest.latitude, bounds.northeast.longitude, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shape_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shape_test.dart index 2816fa9c2d3..c8f7f610d67 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shape_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shape_test.dart @@ -51,9 +51,8 @@ void main() { }); testWidgets('update', (WidgetTester tester) async { - final CircleController controller = CircleController(circle: circle); - final gmaps.CircleOptions options = gmaps.CircleOptions() - ..draggable = true; + final controller = CircleController(circle: circle); + final options = gmaps.CircleOptions()..draggable = true; expect(circle.isDraggableDefined(), isFalse); @@ -78,8 +77,7 @@ void main() { testWidgets('cannot call update after remove', ( WidgetTester tester, ) async { - final gmaps.CircleOptions options = gmaps.CircleOptions() - ..draggable = true; + final options = gmaps.CircleOptions()..draggable = true; controller.remove(); @@ -108,9 +106,8 @@ void main() { }); testWidgets('update', (WidgetTester tester) async { - final PolygonController controller = PolygonController(polygon: polygon); - final gmaps.PolygonOptions options = gmaps.PolygonOptions() - ..draggable = true; + final controller = PolygonController(polygon: polygon); + final options = gmaps.PolygonOptions()..draggable = true; expect(polygon.isDraggableDefined(), isFalse); @@ -135,8 +132,7 @@ void main() { testWidgets('cannot call update after remove', ( WidgetTester tester, ) async { - final gmaps.PolygonOptions options = gmaps.PolygonOptions() - ..draggable = true; + final options = gmaps.PolygonOptions()..draggable = true; controller.remove(); @@ -169,11 +165,8 @@ void main() { }); testWidgets('update', (WidgetTester tester) async { - final PolylineController controller = PolylineController( - polyline: polyline, - ); - final gmaps.PolylineOptions options = gmaps.PolylineOptions() - ..draggable = true; + final controller = PolylineController(polyline: polyline); + final options = gmaps.PolylineOptions()..draggable = true; expect(polyline.isDraggableDefined(), isFalse); @@ -198,8 +191,7 @@ void main() { testWidgets('cannot call update after remove', ( WidgetTester tester, ) async { - final gmaps.PolylineOptions options = gmaps.PolylineOptions() - ..draggable = true; + final options = gmaps.PolylineOptions()..draggable = true; controller.remove(); @@ -218,10 +210,9 @@ void main() { }); testWidgets('update', (WidgetTester tester) async { - final HeatmapController controller = HeatmapController(heatmap: heatmap); - final visualization.HeatmapLayerOptions options = - visualization.HeatmapLayerOptions() - ..data = [gmaps.LatLng(0, 0)].toJS; + final controller = HeatmapController(heatmap: heatmap); + final options = visualization.HeatmapLayerOptions() + ..data = [gmaps.LatLng(0, 0)].toJS; expect(heatmap.data.array.toDart, hasLength(0)); @@ -246,8 +237,7 @@ void main() { testWidgets('cannot call update after remove', ( WidgetTester tester, ) async { - final visualization.HeatmapLayerOptions options = - visualization.HeatmapLayerOptions()..dissipating = true; + final options = visualization.HeatmapLayerOptions()..dissipating = true; controller.remove(); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shapes_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shapes_test.dart index 8aa5fb52e49..62630275bae 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shapes_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/integration_test/shapes_test.dart @@ -46,7 +46,7 @@ void main() { }); testWidgets('addCircles', (WidgetTester tester) async { - final Set circles = { + final circles = { const Circle(circleId: CircleId('1')), const Circle(circleId: CircleId('2')), }; @@ -60,14 +60,12 @@ void main() { }); testWidgets('changeCircles', (WidgetTester tester) async { - final Set circles = { - const Circle(circleId: CircleId('1')), - }; + final circles = {const Circle(circleId: CircleId('1'))}; controller.addCircles(circles); expect(controller.circles[const CircleId('1')]?.circle?.visible, isTrue); - final Set updatedCircles = { + final updatedCircles = { const Circle(circleId: CircleId('1'), visible: false), }; controller.changeCircles(updatedCircles); @@ -77,7 +75,7 @@ void main() { }); testWidgets('removeCircles', (WidgetTester tester) async { - final Set circles = { + final circles = { const Circle(circleId: CircleId('1')), const Circle(circleId: CircleId('2')), const Circle(circleId: CircleId('3')), @@ -88,7 +86,7 @@ void main() { expect(controller.circles.length, 3); // Remove some circles... - final Set circleIdsToRemove = { + final circleIdsToRemove = { const CircleId('1'), const CircleId('3'), }; @@ -102,7 +100,7 @@ void main() { }); testWidgets('Converts colors to CSS', (WidgetTester tester) async { - final Set circles = { + final circles = { const Circle( circleId: CircleId('1'), fillColor: Color(0x7FFABADA), @@ -129,7 +127,7 @@ void main() { testWidgets('addCircles sets clickable according to consumeTapEvents', ( WidgetTester tester, ) async { - final Set circles = { + final circles = { const Circle(circleId: CircleId('1'), consumeTapEvents: true), const Circle(circleId: CircleId('2')), }; @@ -162,7 +160,7 @@ void main() { }); testWidgets('addPolygons', (WidgetTester tester) async { - final Set polygons = { + final polygons = { const Polygon(polygonId: PolygonId('1')), const Polygon(polygonId: PolygonId('2')), }; @@ -176,9 +174,7 @@ void main() { }); testWidgets('changePolygons', (WidgetTester tester) async { - final Set polygons = { - const Polygon(polygonId: PolygonId('1')), - }; + final polygons = {const Polygon(polygonId: PolygonId('1'))}; controller.addPolygons(polygons); expect( @@ -187,7 +183,7 @@ void main() { ); // Update the polygon - final Set updatedPolygons = { + final updatedPolygons = { const Polygon(polygonId: PolygonId('1'), visible: false), }; controller.changePolygons(updatedPolygons); @@ -200,7 +196,7 @@ void main() { }); testWidgets('removePolygons', (WidgetTester tester) async { - final Set polygons = { + final polygons = { const Polygon(polygonId: PolygonId('1')), const Polygon(polygonId: PolygonId('2')), const Polygon(polygonId: PolygonId('3')), @@ -211,7 +207,7 @@ void main() { expect(controller.polygons.length, 3); // Remove some polygons... - final Set polygonIdsToRemove = { + final polygonIdsToRemove = { const PolygonId('1'), const PolygonId('3'), }; @@ -225,7 +221,7 @@ void main() { }); testWidgets('Converts colors to CSS', (WidgetTester tester) async { - final Set polygons = { + final polygons = { const Polygon( polygonId: PolygonId('1'), fillColor: Color(0x7FFABADA), @@ -250,7 +246,7 @@ void main() { }); testWidgets('Handle Polygons with holes', (WidgetTester tester) async { - final Set polygons = { + final polygons = { const Polygon( polygonId: PolygonId('BermudaTriangle'), points: [ @@ -276,7 +272,7 @@ void main() { }); testWidgets('Polygon with hole has a hole', (WidgetTester tester) async { - final Set polygons = { + final polygons = { const Polygon( polygonId: PolygonId('BermudaTriangle'), points: [ @@ -297,7 +293,7 @@ void main() { controller.addPolygons(polygons); final gmaps.Polygon? polygon = controller.polygons.values.first.polygon; - final gmaps.LatLng pointInHole = gmaps.LatLng(28.632, -68.401); + final pointInHole = gmaps.LatLng(28.632, -68.401); expect(geometry.poly.containsLocation(pointInHole, polygon!), false); }); @@ -305,7 +301,7 @@ void main() { testWidgets('Hole Path gets reversed to display correctly', ( WidgetTester tester, ) async { - final Set polygons = { + final polygons = { const Polygon( polygonId: PolygonId('BermudaTriangle'), points: [ @@ -336,7 +332,7 @@ void main() { testWidgets('addPolygons sets clickable according to consumeTapEvents', ( WidgetTester tester, ) async { - final Set polygons = { + final polygons = { const Polygon(polygonId: PolygonId('1'), consumeTapEvents: true), const Polygon(polygonId: PolygonId('2')), }; @@ -369,7 +365,7 @@ void main() { }); testWidgets('addPolylines', (WidgetTester tester) async { - final Set polylines = { + final polylines = { const Polyline(polylineId: PolylineId('1')), const Polyline(polylineId: PolylineId('2')), }; @@ -383,14 +379,12 @@ void main() { }); testWidgets('changePolylines', (WidgetTester tester) async { - final Set polylines = { - const Polyline(polylineId: PolylineId('1')), - }; + final polylines = {const Polyline(polylineId: PolylineId('1'))}; controller.addPolylines(polylines); expect(controller.lines[const PolylineId('1')]?.line?.visible, isTrue); - final Set updatedPolylines = { + final updatedPolylines = { const Polyline(polylineId: PolylineId('1'), visible: false), }; controller.changePolylines(updatedPolylines); @@ -400,7 +394,7 @@ void main() { }); testWidgets('removePolylines', (WidgetTester tester) async { - final Set polylines = { + final polylines = { const Polyline(polylineId: PolylineId('1')), const Polyline(polylineId: PolylineId('2')), const Polyline(polylineId: PolylineId('3')), @@ -411,7 +405,7 @@ void main() { expect(controller.lines.length, 3); // Remove some polylines... - final Set polylineIdsToRemove = { + final polylineIdsToRemove = { const PolylineId('1'), const PolylineId('3'), }; @@ -425,7 +419,7 @@ void main() { }); testWidgets('Converts colors to CSS', (WidgetTester tester) async { - final Set lines = { + final lines = { const Polyline(polylineId: PolylineId('1'), color: Color(0x7FFABADA)), }; @@ -443,7 +437,7 @@ void main() { testWidgets('addPolylines sets clickable according to consumeTapEvents', ( WidgetTester tester, ) async { - final Set polylines = { + final polylines = { const Polyline(polylineId: PolylineId('1'), consumeTapEvents: true), const Polyline(polylineId: PolylineId('2')), }; @@ -468,7 +462,7 @@ void main() { group('HeatmapsController', () { late HeatmapsController controller; - const List heatmapPoints = [ + const heatmapPoints = [ WeightedLatLng(LatLng(37.782, -122.447)), WeightedLatLng(LatLng(37.782, -122.445)), WeightedLatLng(LatLng(37.782, -122.443)), @@ -491,7 +485,7 @@ void main() { }); testWidgets('addHeatmaps', (WidgetTester tester) async { - final Set heatmaps = { + final heatmaps = { const Heatmap( heatmapId: HeatmapId('1'), data: heatmapPoints, @@ -513,7 +507,7 @@ void main() { }); testWidgets('changeHeatmaps', (WidgetTester tester) async { - final Set heatmaps = { + final heatmaps = { const Heatmap( heatmapId: HeatmapId('1'), data: [], @@ -527,7 +521,7 @@ void main() { hasLength(0), ); - final Set updatedHeatmaps = { + final updatedHeatmaps = { const Heatmap( heatmapId: HeatmapId('1'), data: [WeightedLatLng(LatLng(0, 0))], @@ -544,7 +538,7 @@ void main() { }); testWidgets('removeHeatmaps', (WidgetTester tester) async { - final Set heatmaps = { + final heatmaps = { const Heatmap( heatmapId: HeatmapId('1'), data: heatmapPoints, @@ -567,7 +561,7 @@ void main() { expect(controller.heatmaps.length, 3); // Remove some polylines... - final Set heatmapIdsToRemove = { + final heatmapIdsToRemove = { const HeatmapId('1'), const HeatmapId('3'), }; @@ -581,7 +575,7 @@ void main() { }); testWidgets('Converts colors to CSS', (WidgetTester tester) async { - final Set heatmaps = { + final heatmaps = { const Heatmap( heatmapId: HeatmapId('1'), data: heatmapPoints, diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml index addf03ad32e..a82a05b9be1 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml @@ -2,8 +2,8 @@ name: google_maps_flutter_web_integration_tests publish_to: none environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circles.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circles.dart index 325489f0637..aa94f0adb24 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circles.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circles.dart @@ -30,8 +30,8 @@ class CirclesController extends GeometryController { void _addCircle(Circle circle) { final gmaps.CircleOptions circleOptions = _circleOptionsFromCircle(circle); - final gmaps.Circle gmCircle = gmaps.Circle(circleOptions)..map = googleMap; - final CircleController controller = CircleController( + final gmCircle = gmaps.Circle(circleOptions)..map = googleMap; + final controller = CircleController( circle: gmCircle, consumeTapEvents: circle.consumeTapEvents, onTap: () { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart index b647d95a988..fc4d0cd0069 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart @@ -62,7 +62,7 @@ gmaps.MapOptions _configurationAndStyleToGmapsOptions( MapConfiguration configuration, List styles, ) { - final gmaps.MapOptions options = gmaps.MapOptions(); + final options = gmaps.MapOptions(); if (configuration.mapType != null) { options.mapTypeId = _gmapTypeIDForPluginType(configuration.mapType!); @@ -182,7 +182,7 @@ bool _isJsonMapStyle(Map value) { // Converts an incoming JSON-encoded Style info, into the correct gmaps array. List _mapStyles(String? mapStyleJson) { - List styles = []; + var styles = []; if (mapStyleJson != null) { try { styles = @@ -191,7 +191,7 @@ List _mapStyles(String? mapStyleJson) { reviver: (Object? key, Object? value) { if (value is Map && _isJsonMapStyle(value as Map)) { - List stylers = []; + var stylers = []; if (value['stylers'] != null) { stylers = (value['stylers']! as List) .whereType>() @@ -273,10 +273,9 @@ gmaps.InfoWindowOptions? _infoWindowOptionsFromMarker(Marker marker) { ..id = 'gmaps-marker-${marker.markerId.value}-infowindow'; if (markerTitle.isNotEmpty) { - final HTMLHeadingElement title = - (document.createElement('h3') as HTMLHeadingElement) - ..className = 'infowindow-title' - ..innerText = markerTitle; + final title = (document.createElement('h3') as HTMLHeadingElement) + ..className = 'infowindow-title' + ..innerText = markerTitle; container.appendChild(title); } if (markerSnippet.isNotEmpty) { @@ -322,7 +321,7 @@ gmaps.InfoWindowOptions? _infoWindowOptionsFromMarker(Marker marker) { gmaps.Size? _gmSizeFromIconConfig(List iconConfig, int sizeIndex) { gmaps.Size? size; if (iconConfig.length >= sizeIndex + 1) { - final List? rawIconSize = iconConfig[sizeIndex] as List?; + final rawIconSize = iconConfig[sizeIndex] as List?; if (rawIconSize != null) { size = gmaps.Size(rawIconSize[0]! as double, rawIconSize[1]! as double); } @@ -332,7 +331,7 @@ gmaps.Size? _gmSizeFromIconConfig(List iconConfig, int sizeIndex) { /// Sets the size of the Google Maps icon. void _setIconSize({required Size size, required gmaps.Icon icon}) { - final gmaps.Size gmapsSize = gmaps.Size(size.width, size.height); + final gmapsSize = gmaps.Size(size.width, size.height); icon.size = gmapsSize; icon.scaledSize = gmapsSize; } @@ -342,7 +341,7 @@ void _setIconAnchor({ required Offset anchor, required gmaps.Icon icon, }) { - final gmaps.Point gmapsAnchor = gmaps.Point( + final gmapsAnchor = gmaps.Point( size.width * anchor.dx, size.height * anchor.dy, ); @@ -400,7 +399,7 @@ Future _getBitmapSize(MapBitmap mapBitmap, String url) async { /// /// This method attempts to fetch the image size for a given [url]. Future _fetchBitmapSize(String url) async { - final HTMLImageElement image = HTMLImageElement()..src = url; + final image = HTMLImageElement()..src = url; // Wait for the onLoad or onError event. await Future.any(>[image.onLoad.first, image.onError.first]); @@ -451,7 +450,7 @@ Future _gmIconFromBitmapDescriptor( // The following code is for the deprecated BitmapDescriptor.fromBytes // and BitmapDescriptor.fromAssetImage. - final List iconConfig = bitmapDescriptor.toJson() as List; + final iconConfig = bitmapDescriptor.toJson() as List; if (iconConfig[0] == 'fromAssetImage') { assert(iconConfig.length >= 2); // iconConfig[2] contains the DPIs of the screen, but that information is @@ -467,7 +466,7 @@ Future _gmIconFromBitmapDescriptor( } } else if (iconConfig[0] == 'fromBytes') { // Grab the bytes, and put them into a blob - final List bytes = iconConfig[1]! as List; + final bytes = iconConfig[1]! as List; // Create a Blob from bytes, but let the browser figure out the encoding final Blob blob; @@ -516,7 +515,7 @@ Future _markerOptionsFromMarker( } gmaps.CircleOptions _circleOptionsFromCircle(Circle circle) { - final gmaps.CircleOptions circleOptions = gmaps.CircleOptions() + final circleOptions = gmaps.CircleOptions() ..strokeColor = _getCssColor(circle.strokeColor) ..strokeOpacity = _getCssOpacity(circle.strokeColor) ..strokeWeight = circle.strokeWidth @@ -534,27 +533,26 @@ visualization.HeatmapLayerOptions _heatmapOptionsFromHeatmap(Heatmap heatmap) { final Iterable? gradientColors = heatmap.gradient?.colors.map( (HeatmapGradientColor e) => e.color, ); - final visualization.HeatmapLayerOptions heatmapOptions = - visualization.HeatmapLayerOptions() - ..data = heatmap.data - .map( - (WeightedLatLng e) => visualization.WeightedLocation() - ..location = gmaps.LatLng(e.point.latitude, e.point.longitude) - ..weight = e.weight, - ) - .toList() - .toJS - ..dissipating = heatmap.dissipating - ..gradient = gradientColors == null - ? null - : [ - // Web needs a first color with 0 alpha - gradientColors.first.withAlpha(0), - ...gradientColors, - ].map(_getCssColorWithAlpha).toList() - ..maxIntensity = heatmap.maxIntensity - ..opacity = heatmap.opacity - ..radius = heatmap.radius.radius; + final heatmapOptions = visualization.HeatmapLayerOptions() + ..data = heatmap.data + .map( + (WeightedLatLng e) => visualization.WeightedLocation() + ..location = gmaps.LatLng(e.point.latitude, e.point.longitude) + ..weight = e.weight, + ) + .toList() + .toJS + ..dissipating = heatmap.dissipating + ..gradient = gradientColors == null + ? null + : [ + // Web needs a first color with 0 alpha + gradientColors.first.withAlpha(0), + ...gradientColors, + ].map(_getCssColorWithAlpha).toList() + ..maxIntensity = heatmap.maxIntensity + ..opacity = heatmap.opacity + ..radius = heatmap.radius.radius; return heatmapOptions; } @@ -569,9 +567,9 @@ gmaps.PolygonOptions _polygonOptionsFromPolygon( final bool isClockwisePolygon = _isPolygonClockwise(path); - final List> paths = >[path]; + final paths = >[path]; - for (int i = 0; i < polygon.holes.length; i++) { + for (var i = 0; i < polygon.holes.length; i++) { final List hole = polygon.holes[i]; final List correctHole = _ensureHoleHasReverseWinding( hole, @@ -630,8 +628,8 @@ List _ensureHoleHasReverseWinding( /// the `path` is a transformed version of [Polygon.points] or each of the /// [Polygon.holes], guaranteeing that `lat` and `lng` can be accessed with `!`. bool _isPolygonClockwise(List path) { - double direction = 0.0; - for (int i = 0; i < path.length; i++) { + var direction = 0.0; + for (var i = 0; i < path.length; i++) { direction = direction + ((path[(i + 1) % path.length].lat - path[i].lat) * @@ -677,7 +675,7 @@ void _applyCameraUpdate(gmaps.Map map, CameraUpdate update) { return value as List; } - final List json = update.toJson() as List; + final json = update.toJson() as List; switch (json[0]) { case 'newCameraPosition': final Map position = asJsonObject(json[1]); @@ -697,7 +695,7 @@ void _applyCameraUpdate(gmaps.Map map, CameraUpdate update) { final List latLngPair = asJsonList(json[1]); final List latLng1 = asJsonList(latLngPair[0]); final List latLng2 = asJsonList(latLngPair[1]); - final double padding = json[2] as double; + final padding = json[2] as double; map.fitBounds( gmaps.LatLngBounds( gmaps.LatLng(latLng1[0]! as num, latLng1[1]! as num), @@ -749,9 +747,7 @@ String urlFromMapBitmap(MapBitmap mapBitmap) { (final BytesMapBitmap bytesMapBitmap) => _bitmapBlobUrlCache.putIfAbsent( bytesMapBitmap.byteData.hashCode, () { - final Blob blob = Blob( - [bytesMapBitmap.byteData.toJS].toJS, - ); + final blob = Blob([bytesMapBitmap.byteData.toJS].toJS); return URL.createObjectURL(blob as JSObject); }, ), @@ -792,7 +788,7 @@ gmaps.LatLng _pixelToLatLng(gmaps.Map map, int x, int y) { final int scale = 1 << (zoom.toInt()); // 2 ^ zoom - final gmaps.Point point = gmaps.Point( + final point = gmaps.Point( (x / scale) + bottomLeft.x, (y / scale) + topRight.y, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart index b7ee0ebc0e7..8e862f6e3dd 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart @@ -605,12 +605,11 @@ class GoogleMapController { /// Updates the set of [TileOverlay]s. void updateTileOverlays(Set newOverlays) { - final MapsObjectUpdates updates = - MapsObjectUpdates.from( - _tileOverlays, - newOverlays, - objectName: 'tileOverlay', - ); + final updates = MapsObjectUpdates.from( + _tileOverlays, + newOverlays, + objectName: 'tileOverlay', + ); assert( _tileOverlaysController != null, 'Cannot update tile overlays after dispose().', diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_flutter_web.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_flutter_web.dart index 4f0058b4aec..e980252e7c8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_flutter_web.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_flutter_web.dart @@ -334,10 +334,9 @@ class GoogleMapsPlugin extends GoogleMapsFlutterPlatform { return _mapById[creationId]!.widget!; } - final StreamController> controller = - StreamController>.broadcast(); + final controller = StreamController>.broadcast(); - final GoogleMapController mapController = GoogleMapController( + final mapController = GoogleMapController( mapId: creationId, streamController: controller, widgetConfiguration: widgetConfiguration, diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/ground_overlays.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/ground_overlays.dart index ca2ca74c5dc..ef22a05adcc 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/ground_overlays.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/ground_overlays.dart @@ -39,19 +39,18 @@ class GroundOverlaysController extends GeometryController { groundOverlay.bounds!, ); - final gmaps.GroundOverlayOptions groundOverlayOptions = - gmaps.GroundOverlayOptions() - ..opacity = 1.0 - groundOverlay.transparency - ..clickable = groundOverlay.clickable - ..map = groundOverlay.visible ? googleMap : null; + final groundOverlayOptions = gmaps.GroundOverlayOptions() + ..opacity = 1.0 - groundOverlay.transparency + ..clickable = groundOverlay.clickable + ..map = groundOverlay.visible ? googleMap : null; - final gmaps.GroundOverlay overlay = gmaps.GroundOverlay( + final overlay = gmaps.GroundOverlay( urlFromMapBitmap(groundOverlay.image), bounds, groundOverlayOptions, ); - final GroundOverlayController controller = GroundOverlayController( + final controller = GroundOverlayController( groundOverlay: overlay, onTap: () { _onGroundOverlayTap(groundOverlay.groundOverlayId); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/heatmaps.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/heatmaps.dart index 047a346c9fc..105c2fb1a0c 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/heatmaps.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/heatmaps.dart @@ -27,11 +27,9 @@ class HeatmapsController extends GeometryController { void _addHeatmap(Heatmap heatmap) { final visualization.HeatmapLayerOptions heatmapOptions = _heatmapOptionsFromHeatmap(heatmap); - final visualization.HeatmapLayer gmHeatmap = visualization.HeatmapLayer( - heatmapOptions, - ); + final gmHeatmap = visualization.HeatmapLayer(heatmapOptions); gmHeatmap.map = googleMap; - final HeatmapController controller = HeatmapController(heatmap: gmHeatmap); + final controller = HeatmapController(heatmap: gmHeatmap); _heatmapIdToController[heatmap.heatmapId] = controller; } @@ -48,7 +46,7 @@ class HeatmapsController extends GeometryController { /// Removes a set of [HeatmapId]s from the cache. void removeHeatmaps(Set heatmapIdsToRemove) { - for (final HeatmapId heatmapId in heatmapIdsToRemove) { + for (final heatmapId in heatmapIdsToRemove) { final HeatmapController? heatmapController = _heatmapIdToController[heatmapId]; heatmapController?.remove(); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker_clustering_js_interop.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker_clustering_js_interop.dart index 8d15f3546b3..d5fca430e76 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker_clustering_js_interop.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker_clustering_js_interop.dart @@ -158,7 +158,7 @@ MarkerClusterer createMarkerClusterer( gmaps.Map map, ClusterClickHandler onClusterClickHandler, ) { - final MarkerClustererOptions options = MarkerClustererOptions( + final options = MarkerClustererOptions( map: map, onClusterClick: onClusterClickHandler, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/markers.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/markers.dart index 2b69cc2e47b..a0dc2e361c4 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/markers.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/markers.dart @@ -44,7 +44,7 @@ class MarkersController extends GeometryController { // we make one... if (infoWindowOptions.content != null && infoWindowOptions.content is HTMLElement) { - final HTMLElement content = infoWindowOptions.content! as HTMLElement; + final content = infoWindowOptions.content! as HTMLElement; content.onclick = (JSAny? _) { _onInfoWindowTap(marker.markerId); @@ -60,7 +60,7 @@ class MarkersController extends GeometryController { currentMarker, ); - final gmaps.Marker gmMarker = gmaps.Marker(markerOptions); + final gmMarker = gmaps.Marker(markerOptions); gmMarker.set('markerId', marker.markerId.value.toJS); @@ -70,7 +70,7 @@ class MarkersController extends GeometryController { gmMarker.map = googleMap; } - final MarkerController controller = MarkerController( + final controller = MarkerController( marker: gmMarker, clusterManagerId: marker.clusterManagerId, infoWindow: gmInfoWindow, diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlay.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlay.dart index 48f0be5c7ef..650562a3097 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlay.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlay.dart @@ -40,8 +40,7 @@ class TileOverlayController { return null; } - final HTMLImageElement img = - ownerDocument!.createElement('img') as HTMLImageElement; + final img = ownerDocument!.createElement('img') as HTMLImageElement; img.width = img.height = logicalTileSize; img.hidden = true.toJS; img.setAttribute('decoding', 'async'); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlays.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlays.dart index fa6c24fca8d..b8b9cea8095 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlays.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/overlays.dart @@ -43,9 +43,7 @@ class TileOverlaysController extends GeometryController { } void _addTileOverlay(TileOverlay tileOverlay) { - final TileOverlayController controller = TileOverlayController( - tileOverlay: tileOverlay, - ); + final controller = TileOverlayController(tileOverlay: tileOverlay); _tileOverlays[tileOverlay.tileOverlayId] = controller; if (tileOverlay.visible) { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygons.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygons.dart index 4600cb69ec5..d79d1adf5a0 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygons.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygons.dart @@ -33,9 +33,8 @@ class PolygonsController extends GeometryController { googleMap, polygon, ); - final gmaps.Polygon gmPolygon = gmaps.Polygon(polygonOptions) - ..map = googleMap; - final PolygonController controller = PolygonController( + final gmPolygon = gmaps.Polygon(polygonOptions)..map = googleMap; + final controller = PolygonController( polygon: gmPolygon, consumeTapEvents: polygon.consumeTapEvents, onTap: () { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polylines.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polylines.dart index 626d20ca5c8..4263a92b5a7 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polylines.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polylines.dart @@ -33,9 +33,8 @@ class PolylinesController extends GeometryController { googleMap, polyline, ); - final gmaps.Polyline gmPolyline = gmaps.Polyline(polylineOptions) - ..map = googleMap; - final PolylineController controller = PolylineController( + final gmPolyline = gmaps.Polyline(polylineOptions)..map = googleMap; + final controller = PolylineController( polyline: gmPolyline, consumeTapEvents: polyline.consumeTapEvents, onTap: () { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml index fee2e779f67..f87b3ea66e8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml @@ -5,8 +5,8 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 0.5.14+3 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" flutter: plugin: diff --git a/packages/google_sign_in/google_sign_in/example/lib/main.dart b/packages/google_sign_in/google_sign_in/example/lib/main.dart index 401c69e9f5d..8d9e19c159d 100644 --- a/packages/google_sign_in/google_sign_in/example/lib/main.dart +++ b/packages/google_sign_in/google_sign_in/example/lib/main.dart @@ -152,8 +152,7 @@ class _SignInDemoState extends State { } return; } - final Map data = - json.decode(response.body) as Map; + final data = json.decode(response.body) as Map; final String? namedContact = _pickFirstNamedContact(data); setState(() { if (namedContact != null) { @@ -165,8 +164,8 @@ class _SignInDemoState extends State { } String? _pickFirstNamedContact(Map data) { - final List? connections = data['connections'] as List?; - final Map? contact = + final connections = data['connections'] as List?; + final contact = connections?.firstWhere( (dynamic contact) => (contact as Map)['names'] != null, @@ -174,8 +173,8 @@ class _SignInDemoState extends State { ) as Map?; if (contact != null) { - final List names = contact['names'] as List; - final Map? name = + final names = contact['names'] as List; + final name = names.firstWhere( (dynamic name) => (name as Map)['displayName'] != null, diff --git a/packages/google_sign_in/google_sign_in/lib/google_sign_in.dart b/packages/google_sign_in/google_sign_in/lib/google_sign_in.dart index 8cee5167858..4f647fee6af 100644 --- a/packages/google_sign_in/google_sign_in/lib/google_sign_in.dart +++ b/packages/google_sign_in/google_sign_in/lib/google_sign_in.dart @@ -97,7 +97,7 @@ class GoogleSignInAccount implements GoogleIdentity { @override String toString() { - final Map data = { + final data = { 'displayName': displayName, 'email': email, 'id': id, @@ -461,7 +461,7 @@ class GoogleSignIn { return null; } - final GoogleSignInAccount account = GoogleSignInAccount._( + final account = GoogleSignInAccount._( result.user, result.authenticationTokens, ); @@ -544,7 +544,7 @@ class GoogleSignIn { try { final AuthenticationResults result = await GoogleSignInPlatform.instance .authenticate(AuthenticateParameters(scopeHint: scopeHint)); - final GoogleSignInAccount account = GoogleSignInAccount._( + final account = GoogleSignInAccount._( result.user, result.authenticationTokens, ); diff --git a/packages/google_sign_in/google_sign_in/lib/src/fife.dart b/packages/google_sign_in/google_sign_in/lib/src/fife.dart index 13e774649f6..06ac759124c 100644 --- a/packages/google_sign_in/google_sign_in/lib/src/fife.dart +++ b/packages/google_sign_in/google_sign_in/lib/src/fife.dart @@ -36,7 +36,7 @@ final RegExp sizeDirective = RegExp(r'^s[0-9]{1,5}(-c)?$'); /// Modified image URLs are recomposed by performing the parsing steps in reverse. String addSizeDirectiveToUrl(String photoUrl, double size) { final Uri profileUri = Uri.parse(photoUrl); - final List pathSegments = List.from(profileUri.pathSegments); + final pathSegments = List.from(profileUri.pathSegments); if (pathSegments.length <= 2) { final String imagePath = pathSegments.last; // Does this have any existing transformation directives? @@ -46,7 +46,7 @@ String addSizeDirectiveToUrl(String photoUrl, double size) { final String baseUrl = imagePath.substring(0, directiveSeparator); final String directive = imagePath.substring(directiveSeparator + 1); // Split the directive by "-" - final Set directives = Set.from(directive.split('-')) + final directives = Set.from(directive.split('-')) // Remove the size directive, if present, and any empty values ..removeWhere((String s) => s.isEmpty || sizeDirective.hasMatch(s)) // Add the size and crop directives diff --git a/packages/google_sign_in/google_sign_in/lib/widgets.dart b/packages/google_sign_in/google_sign_in/lib/widgets.dart index c78a82636df..a0a3cd1f1e1 100644 --- a/packages/google_sign_in/google_sign_in/lib/widgets.dart +++ b/packages/google_sign_in/google_sign_in/lib/widgets.dart @@ -74,7 +74,7 @@ class GoogleUserCircleAvatar extends StatelessWidget { // Placeholder to use when there is no photo URL, and while the photo is // loading. Uses the first character of the display name (if it has one), // or the first letter of the email address if it does not. - final List placeholderCharSources = [ + final placeholderCharSources = [ identity.displayName, identity.email, '-', diff --git a/packages/google_sign_in/google_sign_in/test/fife_test.dart b/packages/google_sign_in/google_sign_in/test/fife_test.dart index 39f9546f988..a4000242fa8 100644 --- a/packages/google_sign_in/google_sign_in/test/fife_test.dart +++ b/packages/google_sign_in/google_sign_in/test/fife_test.dart @@ -10,56 +10,56 @@ void main() { const double size = 20; group('Old style URLs', () { - const String base = + const base = 'https://lh3.googleusercontent.com/-ukEAtRyRhw8/AAAAAAAAAAI/AAAAAAAAAAA/ACHi3rfhID9XACtdb9q_xK43VSXQvBV11Q.CMID'; - const String expected = '$base/s20-c/photo.jpg'; + const expected = '$base/s20-c/photo.jpg'; test('with directives, sets size', () { - const String url = '$base/s64-c/photo.jpg'; + const url = '$base/s64-c/photo.jpg'; expect(addSizeDirectiveToUrl(url, size), expected); }); test('no directives, sets size and crop', () { - const String url = '$base/photo.jpg'; + const url = '$base/photo.jpg'; expect(addSizeDirectiveToUrl(url, size), expected); }); test('no crop, sets size and crop', () { - const String url = '$base/s64/photo.jpg'; + const url = '$base/s64/photo.jpg'; expect(addSizeDirectiveToUrl(url, size), expected); }); }); group('New style URLs', () { - const String base = + const base = 'https://lh3.googleusercontent.com/a-/AAuE7mC0Lh4F4uDtEaY7hpe-GIsbDpqfMZ3_2UhBQ8Qk'; - const String expected = '$base=c-s20'; + const expected = '$base=c-s20'; test('with directives, sets size', () { - const String url = '$base=s120-c'; + const url = '$base=s120-c'; expect(addSizeDirectiveToUrl(url, size), expected); }); test('no directives, sets size and crop', () { - const String url = base; + const url = base; expect(addSizeDirectiveToUrl(url, size), expected); }); test('no directives, but with an equals sign, sets size and crop', () { - const String url = '$base='; + const url = '$base='; expect(addSizeDirectiveToUrl(url, size), expected); }); test('no crop, adds crop', () { - const String url = '$base=s120'; + const url = '$base=s120'; expect(addSizeDirectiveToUrl(url, size), expected); }); test( 'many directives, sets size and crop, preserves other directives', () { - const String url = '$base=s120-c-fSoften=1,50,0'; - const String expected = '$base=c-fSoften=1,50,0-s20'; + const url = '$base=s120-c-fSoften=1,50,0'; + const expected = '$base=c-fSoften=1,50,0-s20'; expect(addSizeDirectiveToUrl(url, size), expected); }, ); diff --git a/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart b/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart index d831bdb21d3..c1a83c2986a 100644 --- a/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart +++ b/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart @@ -23,7 +23,7 @@ class TestMockGoogleSignInPlatform extends MockGoogleSignInPlatform @GenerateMocks([GoogleSignInPlatform]) void main() { - const GoogleSignInUserData defaultUser = GoogleSignInUserData( + const defaultUser = GoogleSignInUserData( email: 'john.doe@gmail.com', id: '8162538176523816253123', photoUrl: 'https://lh5.googleusercontent.com/photo.jpg', @@ -48,7 +48,7 @@ void main() { final VerificationResult verification = verify( mockPlatform.init(captureAny), ); - final InitParameters params = verification.captured[0] as InitParameters; + final params = verification.captured[0] as InitParameters; expect(params.clientId, null); expect(params.serverClientId, null); expect(params.nonce, null); @@ -58,10 +58,10 @@ void main() { test('passes all paramaters', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String clientId = 'clientId'; - const String serverClientId = 'serverClientId'; - const String nonce = 'nonce'; - const String hostedDomain = 'example.com'; + const clientId = 'clientId'; + const serverClientId = 'serverClientId'; + const nonce = 'nonce'; + const hostedDomain = 'example.com'; await googleSignIn.initialize( clientId: clientId, serverClientId: serverClientId, @@ -72,7 +72,7 @@ void main() { final VerificationResult verification = verify( mockPlatform.init(captureAny), ); - final InitParameters params = verification.captured[0] as InitParameters; + final params = verification.captured[0] as InitParameters; expect(params.clientId, clientId); expect(params.serverClientId, serverClientId); expect(params.nonce, nonce); @@ -84,7 +84,7 @@ void main() { test('reports success from attemptLightweightAuthentication', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String idToken = 'idToken'; + const idToken = 'idToken'; when(mockPlatform.attemptLightweightAuthentication(any)).thenAnswer( (_) async => const AuthenticationResults( user: defaultUser, @@ -99,8 +99,7 @@ void main() { final GoogleSignInAuthenticationEvent event = await eventFuture; expect(event, isA()); - final GoogleSignInAuthenticationEventSignIn signIn = - event as GoogleSignInAuthenticationEventSignIn; + final signIn = event as GoogleSignInAuthenticationEventSignIn; expect(signIn.user.id, defaultUser.id); expect(signIn.user.authentication.idToken, idToken); }); @@ -110,14 +109,14 @@ void main() { () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.interrupted, ); when( mockPlatform.attemptLightweightAuthentication(any), ).thenThrow(exception); - final Completer errorCompleter = Completer(); + final errorCompleter = Completer(); final StreamSubscription subscription = googleSignIn.authenticationEvents .handleError((Object e) => errorCompleter.complete(e)) @@ -137,14 +136,14 @@ void main() { () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.interrupted, ); when( mockPlatform.attemptLightweightAuthentication(any), ).thenAnswer((_) async => throw exception); - final Completer errorCompleter = Completer(); + final errorCompleter = Completer(); final StreamSubscription subscription = googleSignIn.authenticationEvents .handleError((Object e) => errorCompleter.complete(e)) @@ -162,7 +161,7 @@ void main() { test('reports success from authenticate', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String idToken = 'idToken'; + const idToken = 'idToken'; when(mockPlatform.authenticate(any)).thenAnswer( (_) async => const AuthenticationResults( user: defaultUser, @@ -177,8 +176,7 @@ void main() { final GoogleSignInAuthenticationEvent event = await eventFuture; expect(event, isA()); - final GoogleSignInAuthenticationEventSignIn signIn = - event as GoogleSignInAuthenticationEventSignIn; + final signIn = event as GoogleSignInAuthenticationEventSignIn; expect(signIn.user.id, defaultUser.id); expect(signIn.user.authentication.idToken, idToken); }); @@ -186,12 +184,12 @@ void main() { test('reports sync exceptions from authenticate', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.interrupted, ); when(mockPlatform.authenticate(any)).thenThrow(exception); - final Completer errorCompleter = Completer(); + final errorCompleter = Completer(); final StreamSubscription subscription = googleSignIn.authenticationEvents .handleError((Object e) => errorCompleter.complete(e)) @@ -210,14 +208,14 @@ void main() { test('reports async exceptions from authenticate', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.interrupted, ); when( mockPlatform.authenticate(any), ).thenAnswer((_) async => throw exception); - final Completer errorCompleter = Completer(); + final errorCompleter = Completer(); final StreamSubscription subscription = googleSignIn.authenticationEvents .handleError((Object e) => errorCompleter.complete(e)) @@ -259,7 +257,7 @@ void main() { }); group('supportsAuthenticate', () { - for (final bool support in [true, false]) { + for (final support in [true, false]) { test('reports $support from platform', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; @@ -271,7 +269,7 @@ void main() { }); group('authorizationRequiresUserInteraction', () { - for (final bool support in [true, false]) { + for (final support in [true, false]) { test('reports $support from platform', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; @@ -288,7 +286,7 @@ void main() { test('returns successful authentication', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String idToken = 'idToken'; + const idToken = 'idToken'; when(mockPlatform.attemptLightweightAuthentication(any)).thenAnswer( (_) async => const AuthenticationResults( user: defaultUser, @@ -310,7 +308,7 @@ void main() { test('reports all exceptions when requested - sync', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.canceled, ); when( @@ -337,7 +335,7 @@ void main() { () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.clientConfigurationError, ); when( @@ -361,7 +359,7 @@ void main() { test('reports all exceptions when requested - async', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.canceled, ); when( @@ -388,7 +386,7 @@ void main() { () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.clientConfigurationError, ); when( @@ -438,7 +436,7 @@ void main() { test('passes expected paramaters', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; when(mockPlatform.authenticate(any)).thenAnswer( (_) async => const AuthenticationResults( user: defaultUser, @@ -452,15 +450,14 @@ void main() { final VerificationResult verification = verify( mockPlatform.authenticate(captureAny), ); - final AuthenticateParameters params = - verification.captured[0] as AuthenticateParameters; + final params = verification.captured[0] as AuthenticateParameters; expect(params.scopeHint, scopes); }); test('returns successful authentication', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String idToken = 'idToken'; + const idToken = 'idToken'; when(mockPlatform.authenticate(any)).thenAnswer( (_) async => const AuthenticationResults( user: defaultUser, @@ -479,7 +476,7 @@ void main() { test('reports exceptions', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const GoogleSignInException exception = GoogleSignInException( + const exception = GoogleSignInException( code: GoogleSignInExceptionCode.interrupted, ); when(mockPlatform.authenticate(any)).thenThrow(exception); @@ -515,13 +512,13 @@ void main() { await googleSignIn.initialize(); final GoogleSignInAccount authentication = await googleSignIn .authenticate(); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; await authentication.authorizationClient.authorizationForScopes(scopes); final VerificationResult verification = verify( mockPlatform.clientAuthorizationTokensForScopes(captureAny), ); - final ClientAuthorizationTokensForScopesParameters params = + final params = verification.captured[0] as ClientAuthorizationTokensForScopesParameters; expect(params.request.scopes, scopes); @@ -537,13 +534,13 @@ void main() { mockPlatform.clientAuthorizationTokensForScopes(any), ).thenAnswer((_) async => null); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; await googleSignIn.authorizationClient.authorizationForScopes(scopes); final VerificationResult verification = verify( mockPlatform.clientAuthorizationTokensForScopes(captureAny), ); - final ClientAuthorizationTokensForScopesParameters params = + final params = verification.captured[0] as ClientAuthorizationTokensForScopesParameters; expect(params.request.scopes, scopes); @@ -555,13 +552,13 @@ void main() { test('reports tokens', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String accessToken = 'accessToken'; + const accessToken = 'accessToken'; when(mockPlatform.clientAuthorizationTokensForScopes(any)).thenAnswer( (_) async => const ClientAuthorizationTokenData(accessToken: accessToken), ); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; final GoogleSignInClientAuthorization? auth = await googleSignIn .authorizationClient .authorizationForScopes(scopes); @@ -575,7 +572,7 @@ void main() { mockPlatform.clientAuthorizationTokensForScopes(any), ).thenAnswer((_) async => null); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; expect( await googleSignIn.authorizationClient.authorizationForScopes(scopes), null, @@ -601,13 +598,13 @@ void main() { await googleSignIn.initialize(); final GoogleSignInAccount authentication = await googleSignIn .authenticate(); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; await authentication.authorizationClient.authorizeScopes(scopes); final VerificationResult verification = verify( mockPlatform.clientAuthorizationTokensForScopes(captureAny), ); - final ClientAuthorizationTokensForScopesParameters params = + final params = verification.captured[0] as ClientAuthorizationTokensForScopesParameters; expect(params.request.scopes, scopes); @@ -624,13 +621,13 @@ void main() { const ClientAuthorizationTokenData(accessToken: 'accessToken'), ); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; await googleSignIn.authorizationClient.authorizeScopes(scopes); final VerificationResult verification = verify( mockPlatform.clientAuthorizationTokensForScopes(captureAny), ); - final ClientAuthorizationTokensForScopesParameters params = + final params = verification.captured[0] as ClientAuthorizationTokensForScopesParameters; expect(params.request.scopes, scopes); @@ -642,13 +639,13 @@ void main() { test('reports tokens', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String accessToken = 'accessToken'; + const accessToken = 'accessToken'; when(mockPlatform.clientAuthorizationTokensForScopes(any)).thenAnswer( (_) async => const ClientAuthorizationTokenData(accessToken: accessToken), ); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; final GoogleSignInClientAuthorization auth = await googleSignIn .authorizationClient .authorizeScopes(scopes); @@ -662,7 +659,7 @@ void main() { mockPlatform.clientAuthorizationTokensForScopes(any), ).thenAnswer((_) async => null); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; await expectLater( googleSignIn.authorizationClient.authorizeScopes(scopes), throwsA( @@ -693,13 +690,13 @@ void main() { await googleSignIn.initialize(); final GoogleSignInAccount authentication = await googleSignIn .authenticate(); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; await authentication.authorizationClient.authorizeServer(scopes); final VerificationResult verification = verify( mockPlatform.serverAuthorizationTokensForScopes(captureAny), ); - final ServerAuthorizationTokensForScopesParameters params = + final params = verification.captured[0] as ServerAuthorizationTokensForScopesParameters; expect(params.request.scopes, scopes); @@ -715,13 +712,13 @@ void main() { mockPlatform.serverAuthorizationTokensForScopes(any), ).thenAnswer((_) async => null); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; await googleSignIn.authorizationClient.authorizeServer(scopes); final VerificationResult verification = verify( mockPlatform.serverAuthorizationTokensForScopes(captureAny), ); - final ServerAuthorizationTokensForScopesParameters params = + final params = verification.captured[0] as ServerAuthorizationTokensForScopesParameters; expect(params.request.scopes, scopes); @@ -733,13 +730,13 @@ void main() { test('reports tokens', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String authCode = 'authCode'; + const authCode = 'authCode'; when(mockPlatform.serverAuthorizationTokensForScopes(any)).thenAnswer( (_) async => const ServerAuthorizationTokenData(serverAuthCode: authCode), ); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; final GoogleSignInServerAuthorization? auth = await googleSignIn .authorizationClient .authorizeServer(scopes); @@ -753,7 +750,7 @@ void main() { mockPlatform.serverAuthorizationTokensForScopes(any), ).thenAnswer((_) async => null); - const List scopes = ['scope1', 'scope2']; + const scopes = ['scope1', 'scope2']; expect( await googleSignIn.authorizationClient.authorizeServer(scopes), null, @@ -765,7 +762,7 @@ void main() { test('passes expected paramaters', () async { final GoogleSignIn googleSignIn = GoogleSignIn.instance; - const String token = 'someAccessToken'; + const token = 'someAccessToken'; await googleSignIn.authorizationClient.clearAuthorizationToken( accessToken: token, ); @@ -773,8 +770,7 @@ void main() { final VerificationResult verification = verify( mockPlatform.clearAuthorizationToken(captureAny), ); - final ClearAuthorizationTokenParams params = - verification.captured[0] as ClearAuthorizationTokenParams; + final params = verification.captured[0] as ClearAuthorizationTokenParams; expect(params.accessToken, token); }); }); diff --git a/packages/google_sign_in/google_sign_in_android/example/lib/main.dart b/packages/google_sign_in/google_sign_in_android/example/lib/main.dart index 8ab6e537868..ef366b84cb6 100644 --- a/packages/google_sign_in/google_sign_in_android/example/lib/main.dart +++ b/packages/google_sign_in/google_sign_in_android/example/lib/main.dart @@ -160,8 +160,7 @@ class SignInDemoState extends State { print('People API ${response.statusCode} response: ${response.body}'); return; } - final Map data = - json.decode(response.body) as Map; + final data = json.decode(response.body) as Map; final int contactCount = (data['connections'] as List?)?.length ?? 0; setState(() { diff --git a/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart b/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart index de66df6f4ba..f233d4f2a7d 100644 --- a/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart +++ b/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart @@ -346,14 +346,14 @@ final Codec _jwtCodec = json.fuse(utf8).fuse(base64); /// /// See https://stackoverflow.com/a/78064720 String? _idFromIdToken(String idToken) { - final RegExp jwtTokenRegexp = RegExp( + final jwtTokenRegexp = RegExp( r'^(?
[^\.\s]+)\.(?[^\.\s]+)\.(?[^\.\s]+)$', ); final RegExpMatch? match = jwtTokenRegexp.firstMatch(idToken); final String? payload = match?.namedGroup('payload'); if (payload != null) { try { - final Map? contents = + final contents = _jwtCodec.decode(base64.normalize(payload)) as Map?; if (contents != null) { return contents['sub'] as String?; diff --git a/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart b/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart index 2df0394dd14..e13e26c4139 100644 --- a/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart +++ b/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart @@ -65,7 +65,7 @@ void main() { group('attemptLightweightAuthentication', () { test('passes explicit server client ID', () async { - const String serverClientId = 'aServerClient'; + const serverClientId = 'aServerClient'; await googleSignIn.init( const InitParameters(serverClientId: serverClientId), @@ -78,13 +78,12 @@ void main() { final VerificationResult verification = verify( mockApi.getCredential(captureAny), ); - final GetCredentialRequestParams hostParams = - verification.captured[0] as GetCredentialRequestParams; + final hostParams = verification.captured[0] as GetCredentialRequestParams; expect(hostParams.serverClientId, serverClientId); }); test('passes JSON server client ID if not overridden', () async { - const String serverClientId = 'aServerClient'; + const serverClientId = 'aServerClient'; when( mockApi.getGoogleServicesJsonServerClientId(), ).thenAnswer((_) async => serverClientId); @@ -100,13 +99,12 @@ void main() { final VerificationResult verification = verify( mockApi.getCredential(captureAny), ); - final GetCredentialRequestParams hostParams = - verification.captured[0] as GetCredentialRequestParams; + final hostParams = verification.captured[0] as GetCredentialRequestParams; expect(hostParams.serverClientId, serverClientId); }); test('passes nonce if provided', () async { - const String nonce = 'nonce'; + const nonce = 'nonce'; await googleSignIn.init( const InitParameters(nonce: nonce, serverClientId: 'id'), @@ -118,8 +116,7 @@ void main() { final VerificationResult verification = verify( mockApi.getCredential(captureAny), ); - final GetCredentialRequestParams hostParams = - verification.captured[0] as GetCredentialRequestParams; + final hostParams = verification.captured[0] as GetCredentialRequestParams; expect(hostParams.nonce, nonce); }); @@ -177,9 +174,9 @@ void main() { mockApi.getCredential(captureAny), ], ); - final GetCredentialRequestParams firstParams = + final firstParams = verifications[0].captured[0] as GetCredentialRequestParams; - final GetCredentialRequestParams secondParams = + final secondParams = verifications[1].captured[0] as GetCredentialRequestParams; expect(firstParams.useButtonFlow, isFalse); expect(firstParams.googleIdOptionParams.filterToAuthorized, isTrue); @@ -211,8 +208,7 @@ void main() { mockApi.getCredential(captureAny), ); expect(verification.callCount, 1); - final GetCredentialRequestParams params = - verification.captured[0] as GetCredentialRequestParams; + final params = verification.captured[0] as GetCredentialRequestParams; expect(params.useButtonFlow, isFalse); expect(params.googleIdOptionParams.filterToAuthorized, isTrue); expect(params.googleIdOptionParams.autoSelectEnabled, isTrue); @@ -222,7 +218,7 @@ void main() { group('authenticate', () { test('passes explicit server client ID', () async { - const String serverClientId = 'aServerClient'; + const serverClientId = 'aServerClient'; await googleSignIn.init( const InitParameters(serverClientId: serverClientId), @@ -233,13 +229,12 @@ void main() { final VerificationResult verification = verify( mockApi.getCredential(captureAny), ); - final GetCredentialRequestParams hostParams = - verification.captured[0] as GetCredentialRequestParams; + final hostParams = verification.captured[0] as GetCredentialRequestParams; expect(hostParams.serverClientId, serverClientId); }); test('passes JSON server client ID if not overridden', () async { - const String serverClientId = 'aServerClient'; + const serverClientId = 'aServerClient'; when( mockApi.getGoogleServicesJsonServerClientId(), ).thenAnswer((_) async => serverClientId); @@ -253,13 +248,12 @@ void main() { final VerificationResult verification = verify( mockApi.getCredential(captureAny), ); - final GetCredentialRequestParams hostParams = - verification.captured[0] as GetCredentialRequestParams; + final hostParams = verification.captured[0] as GetCredentialRequestParams; expect(hostParams.serverClientId, serverClientId); }); test('passes hosted domain if provided', () async { - const String hostedDomain = 'example.com'; + const hostedDomain = 'example.com'; await googleSignIn.init(const InitParameters(hostedDomain: hostedDomain)); await googleSignIn.authenticate(const AuthenticateParameters()); @@ -267,13 +261,12 @@ void main() { final VerificationResult verification = verify( mockApi.getCredential(captureAny), ); - final GetCredentialRequestParams hostParams = - verification.captured[0] as GetCredentialRequestParams; + final hostParams = verification.captured[0] as GetCredentialRequestParams; expect(hostParams.hostedDomain, hostedDomain); }); test('passes nonce if provided', () async { - const String nonce = 'nonce'; + const nonce = 'nonce'; await googleSignIn.init(const InitParameters(nonce: nonce)); await googleSignIn.authenticate(const AuthenticateParameters()); @@ -281,8 +274,7 @@ void main() { final VerificationResult verification = verify( mockApi.getCredential(captureAny), ); - final GetCredentialRequestParams hostParams = - verification.captured[0] as GetCredentialRequestParams; + final hostParams = verification.captured[0] as GetCredentialRequestParams; expect(hostParams.nonce, nonce); }); @@ -513,20 +505,19 @@ void main() { group('clientAuthorizationTokensForScopes', () { // Request details used when the details of the request are not relevant to // the test. - const AuthorizationRequestDetails defaultAuthRequest = - AuthorizationRequestDetails( - scopes: ['a'], - userId: null, - email: null, - promptIfUnauthorized: false, - ); + const defaultAuthRequest = AuthorizationRequestDetails( + scopes: ['a'], + userId: null, + email: null, + promptIfUnauthorized: false, + ); test('passes expected values', () async { - const List scopes = ['a', 'b']; - const String userId = '12345'; - const String userEmail = 'user@example.com'; - const bool promptIfUnauthorized = false; - const String hostedDomain = 'example.com'; + const scopes = ['a', 'b']; + const userId = '12345'; + const userEmail = 'user@example.com'; + const promptIfUnauthorized = false; + const hostedDomain = 'example.com'; when( mockApi.authorize(any, promptIfUnauthorized: promptIfUnauthorized), @@ -554,7 +545,7 @@ void main() { promptIfUnauthorized: promptIfUnauthorized, ), ); - final PlatformAuthorizationRequest hostParams = + final hostParams = verification.captured[0] as PlatformAuthorizationRequest; expect(hostParams.scopes, scopes); expect(hostParams.accountEmail, userEmail); @@ -563,8 +554,8 @@ void main() { }); test('passes true promptIfUnauthorized when requested', () async { - const List scopes = ['a', 'b']; - const bool promptIfUnauthorized = true; + const scopes = ['a', 'b']; + const promptIfUnauthorized = true; when( mockApi.authorize(any, promptIfUnauthorized: promptIfUnauthorized), @@ -590,7 +581,7 @@ void main() { }); test('passes success data to caller', () async { - const String accessToken = 'token'; + const accessToken = 'token'; when(mockApi.authorize(any, promptIfUnauthorized: false)).thenAnswer( (_) async => PlatformAuthorizationResult( @@ -726,21 +717,20 @@ void main() { group('serverAuthorizationTokensForScopes', () { // Request details used when the details of the request are not relevant to // the test. - const AuthorizationRequestDetails defaultAuthRequest = - AuthorizationRequestDetails( - scopes: ['a'], - userId: null, - email: null, - promptIfUnauthorized: false, - ); + const defaultAuthRequest = AuthorizationRequestDetails( + scopes: ['a'], + userId: null, + email: null, + promptIfUnauthorized: false, + ); test('serverAuthorizationTokensForScopes passes expected values', () async { - const List scopes = ['a', 'b']; - const String userId = '12345'; - const String userEmail = 'user@example.com'; - const bool promptIfUnauthorized = false; - const String hostedDomain = 'example.com'; - const String serverClientId = 'serverClientId'; + const scopes = ['a', 'b']; + const userId = '12345'; + const userEmail = 'user@example.com'; + const promptIfUnauthorized = false; + const hostedDomain = 'example.com'; + const serverClientId = 'serverClientId'; when( mockApi.authorize(any, promptIfUnauthorized: promptIfUnauthorized), @@ -771,7 +761,7 @@ void main() { promptIfUnauthorized: promptIfUnauthorized, ), ); - final PlatformAuthorizationRequest hostParams = + final hostParams = verification.captured[0] as PlatformAuthorizationRequest; expect(hostParams.scopes, scopes); expect(hostParams.accountEmail, userEmail); @@ -782,8 +772,8 @@ void main() { test( 'serverAuthorizationTokensForScopes passes true promptIfUnauthorized when requested', () async { - const List scopes = ['a', 'b']; - const bool promptIfUnauthorized = true; + const scopes = ['a', 'b']; + const promptIfUnauthorized = true; when( mockApi.authorize(any, promptIfUnauthorized: promptIfUnauthorized), @@ -812,8 +802,8 @@ void main() { test( 'serverAuthorizationTokensForScopes passes success data to caller', () async { - const List scopes = ['a', 'b']; - const String authCode = 'code'; + const scopes = ['a', 'b']; + const authCode = 'code'; when(mockApi.authorize(any, promptIfUnauthorized: false)).thenAnswer( (_) async => PlatformAuthorizationResult( @@ -962,8 +952,8 @@ void main() { group('disconnect', () { test('calls through with previously authorized accounts', () async { // Populate the cache of users. - const String userEmail = 'user@example.com'; - const String aScope = 'grantedScope'; + const userEmail = 'user@example.com'; + const aScope = 'grantedScope'; when(mockApi.authorize(any, promptIfUnauthorized: false)).thenAnswer( (_) async => PlatformAuthorizationResult( grantedScopes: [aScope], @@ -987,7 +977,7 @@ void main() { final VerificationResult verification = verify( mockApi.revokeAccess(captureAny), ); - final PlatformRevokeAccessRequest hostParams = + final hostParams = verification.captured[0] as PlatformRevokeAccessRequest; expect(hostParams.accountEmail, userEmail); expect(hostParams.scopes.first, aScope); @@ -1015,7 +1005,7 @@ void main() { final VerificationResult verification = verify( mockApi.revokeAccess(captureAny), ); - final PlatformRevokeAccessRequest hostParams = + final hostParams = verification.captured[0] as PlatformRevokeAccessRequest; expect(hostParams.accountEmail, _testUser.email); expect(hostParams.scopes.first, 'openid'); @@ -1024,8 +1014,8 @@ void main() { test('does not re-revoke for repeated disconnect', () async { // Populate the cache of users. - const String userEmail = 'user@example.com'; - const String aScope = 'grantedScope'; + const userEmail = 'user@example.com'; + const aScope = 'grantedScope'; when(mockApi.authorize(any, promptIfUnauthorized: false)).thenAnswer( (_) async => PlatformAuthorizationResult( grantedScopes: [aScope], diff --git a/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart b/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart index 54b08919dd8..5a58f59d152 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart +++ b/packages/google_sign_in/google_sign_in_ios/example/lib/main.dart @@ -159,8 +159,7 @@ class SignInDemoState extends State { print('People API ${response.statusCode} response: ${response.body}'); return; } - final Map data = - json.decode(response.body) as Map; + final data = json.decode(response.body) as Map; final int contactCount = (data['connections'] as List?)?.length ?? 0; setState(() { diff --git a/packages/google_sign_in/google_sign_in_ios/lib/google_sign_in_ios.dart b/packages/google_sign_in/google_sign_in_ios/lib/google_sign_in_ios.dart index ea521ab8c07..2f11c953e5b 100644 --- a/packages/google_sign_in/google_sign_in_ios/lib/google_sign_in_ios.dart +++ b/packages/google_sign_in/google_sign_in_ios/lib/google_sign_in_ios.dart @@ -217,11 +217,7 @@ class GoogleSignInIOS extends GoogleSignInPlatform { // scopes may not report them with the same string as the request. // For example, requesting 'email' can instead result in the grant // 'https://www.googleapis.com/auth/userinfo.email'. - const Set openIdConnectScopes = { - 'email', - 'openid', - 'profile', - }; + const openIdConnectScopes = {'email', 'openid', 'profile'}; if (success != null) { if (request.scopes.any( (String scope) => @@ -276,7 +272,7 @@ class GoogleSignInIOS extends GoogleSignInPlatform { SignInSuccess result, ) { final UserData userData = result.user; - final GoogleSignInUserData user = GoogleSignInUserData( + final user = GoogleSignInUserData( email: userData.email, id: userData.userId, displayName: userData.displayName, diff --git a/packages/google_sign_in/google_sign_in_ios/test/google_sign_in_ios_test.dart b/packages/google_sign_in/google_sign_in_ios/test/google_sign_in_ios_test.dart index 7b6e4bd8dd5..c39b626591c 100644 --- a/packages/google_sign_in/google_sign_in_ios/test/google_sign_in_ios_test.dart +++ b/packages/google_sign_in/google_sign_in_ios/test/google_sign_in_ios_test.dart @@ -47,9 +47,9 @@ void main() { group('init', () { test('passes expected values', () async { - const String clientId = 'aClient'; - const String serverClientId = 'aServerClient'; - const String hostedDomain = 'example.com'; + const clientId = 'aClient'; + const serverClientId = 'aServerClient'; + const hostedDomain = 'example.com'; await googleSignIn.init( const InitParameters( @@ -62,7 +62,7 @@ void main() { final VerificationResult verification = verify( mockApi.configure(captureAny), ); - final PlatformConfigurationParams hostParams = + final hostParams = verification.captured[0] as PlatformConfigurationParams; expect(hostParams.clientId, clientId); expect(hostParams.serverClientId, serverClientId); @@ -72,7 +72,7 @@ void main() { group('attemptLightweightAuthentication', () { test('passes success data to caller', () async { - const String idToken = 'idToken'; + const idToken = 'idToken'; when(mockApi.restorePreviousSignIn()).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -137,7 +137,7 @@ void main() { group('authenticate', () { test('passes nonce if provided', () async { - const String nonce = 'nonce'; + const nonce = 'nonce'; when(mockApi.signIn(any, nonce)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -161,7 +161,7 @@ void main() { }); test('passes success data to caller', () async { - const String idToken = 'idToken'; + const idToken = 'idToken'; when(mockApi.signIn(any, null)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -310,18 +310,17 @@ void main() { group('clientAuthorizationTokensForScopes', () { // Request details used when the details of the request are not relevant to // the test. - const AuthorizationRequestDetails defaultAuthRequest = - AuthorizationRequestDetails( - scopes: ['a'], - userId: null, - email: null, - promptIfUnauthorized: false, - ); + const defaultAuthRequest = AuthorizationRequestDetails( + scopes: ['a'], + userId: null, + email: null, + promptIfUnauthorized: false, + ); test( 'passes expected values to addScopes if interaction is allowed', () async { - const List scopes = ['a', 'b']; + const scopes = ['a', 'b']; when(mockApi.addScopes(any, _testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -352,15 +351,14 @@ void main() { final VerificationResult verification = verify( mockApi.addScopes(captureAny, _testUser.id), ); - final List passedScopes = - verification.captured[0] as List; + final passedScopes = verification.captured[0] as List; expect(passedScopes, scopes); }, ); test('passes expected values to getRefreshedAuthorizationTokens if ' 'interaction is not allowed', () async { - const List scopes = ['a', 'b']; + const scopes = ['a', 'b']; when(mockApi.getRefreshedAuthorizationTokens(_testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -394,8 +392,8 @@ void main() { test( 'attempts to restore previous sign in if no user is provided', () async { - const List scopes = ['a', 'b']; - final SignInResult signInResult = SignInResult( + const scopes = ['a', 'b']; + final signInResult = SignInResult( success: SignInSuccess( user: UserData( displayName: _testUser.displayName, @@ -466,7 +464,7 @@ void main() { test('attempts to authenticate if no user is provided or already signed in ' 'and interaction is allowed', () async { - const List scopes = ['a', 'b']; + const scopes = ['a', 'b']; when(mockApi.restorePreviousSignIn()).thenAnswer( (_) async => SignInResult( error: SignInFailure(type: GoogleSignInErrorCode.noAuthInKeychain), @@ -509,8 +507,8 @@ void main() { test( 'passes success data to caller when refreshing existing auth', () async { - const List scopes = ['a', 'b']; - const String accessToken = 'token'; + const scopes = ['a', 'b']; + const accessToken = 'token'; when(mockApi.getRefreshedAuthorizationTokens(_testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -544,8 +542,8 @@ void main() { ); test('passes success data to caller when calling addScopes', () async { - const List scopes = ['a', 'b']; - const String accessToken = 'token'; + const scopes = ['a', 'b']; + const accessToken = 'token'; when(mockApi.addScopes(scopes, _testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -579,8 +577,8 @@ void main() { test('successfully returns refreshed tokens if addScopes indicates the ' 'requested scopes are already granted', () async { - const List scopes = ['a', 'b']; - const String accessToken = 'token'; + const scopes = ['a', 'b']; + const accessToken = 'token'; when(mockApi.addScopes(scopes, _testUser.id)).thenAnswer( (_) async => SignInResult( error: SignInFailure( @@ -625,9 +623,9 @@ void main() { test( 'returns null if re-using existing auth and scopes are missing', () async { - const List requestedScopes = ['a', 'b']; - const List grantedScopes = ['a']; - const String accessToken = 'token'; + const requestedScopes = ['a', 'b']; + const grantedScopes = ['a']; + const accessToken = 'token'; when(mockApi.getRefreshedAuthorizationTokens(_testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -765,18 +763,17 @@ void main() { group('serverAuthorizationTokensForScopes', () { // Request details used when the details of the request are not relevant to // the test. - const AuthorizationRequestDetails defaultAuthRequest = - AuthorizationRequestDetails( - scopes: ['a'], - userId: null, - email: null, - promptIfUnauthorized: false, - ); + const defaultAuthRequest = AuthorizationRequestDetails( + scopes: ['a'], + userId: null, + email: null, + promptIfUnauthorized: false, + ); test( 'passes expected values to addScopes if interaction is allowed', () async { - const List scopes = ['a', 'b']; + const scopes = ['a', 'b']; when(mockApi.addScopes(any, _testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -807,15 +804,14 @@ void main() { final VerificationResult verification = verify( mockApi.addScopes(captureAny, _testUser.id), ); - final List passedScopes = - verification.captured[0] as List; + final passedScopes = verification.captured[0] as List; expect(passedScopes, scopes); }, ); test('passes expected values to getRefreshedAuthorizationTokens if ' 'interaction is not allowed', () async { - const List scopes = ['a', 'b']; + const scopes = ['a', 'b']; when(mockApi.getRefreshedAuthorizationTokens(_testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -849,8 +845,8 @@ void main() { test( 'attempts to restore previous sign in if no user is provided', () async { - const List scopes = ['a', 'b']; - final SignInResult signInResult = SignInResult( + const scopes = ['a', 'b']; + final signInResult = SignInResult( success: SignInSuccess( user: UserData( displayName: _testUser.displayName, @@ -921,7 +917,7 @@ void main() { test('attempts to authenticate if no user is provided or already signed in ' 'and interaction is allowed', () async { - const List scopes = ['a', 'b']; + const scopes = ['a', 'b']; when(mockApi.restorePreviousSignIn()).thenAnswer( (_) async => SignInResult( error: SignInFailure(type: GoogleSignInErrorCode.noAuthInKeychain), @@ -964,16 +960,16 @@ void main() { test( 'returns cached token from authn when refreshing existing authz', () async { - final UserData userData = UserData( + final userData = UserData( displayName: _testUser.displayName, email: _testUser.email, userId: _testUser.id, photoUrl: _testUser.photoUrl, idToken: '', ); - const List scopes = ['a', 'b']; - const String accessToken = 'accessToken'; - const String serverAuthCode = 'authCode'; + const scopes = ['a', 'b']; + const accessToken = 'accessToken'; + const serverAuthCode = 'authCode'; when(mockApi.signIn(scopes, null)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -1015,17 +1011,17 @@ void main() { ); test('does not return cached token from authn if user changes', () async { - const List scopes = ['a', 'b']; - const String accessToken = 'accessToken'; - const String serverAuthCode = 'authCode'; - final UserData previousUser = UserData( + const scopes = ['a', 'b']; + const accessToken = 'accessToken'; + const serverAuthCode = 'authCode'; + final previousUser = UserData( displayName: 'Previous user', email: 'previous.user@gmail.com', userId: 'different_id', photoUrl: _testUser.photoUrl, idToken: '', ); - final UserData newUser = UserData( + final newUser = UserData( displayName: _testUser.displayName, email: _testUser.email, userId: _testUser.id, @@ -1072,10 +1068,10 @@ void main() { }); test('does not return cached token from authn after signOut', () async { - const List scopes = ['a', 'b']; - const String accessToken = 'accessToken'; - const String serverAuthCode = 'authCode'; - final UserData userData = UserData( + const scopes = ['a', 'b']; + const accessToken = 'accessToken'; + const serverAuthCode = 'authCode'; + final userData = UserData( displayName: _testUser.displayName, email: _testUser.email, userId: _testUser.id, @@ -1123,10 +1119,10 @@ void main() { }); test('does not return cached token from authn after disconnect', () async { - const List scopes = ['a', 'b']; - const String accessToken = 'accessToken'; - const String serverAuthCode = 'authCode'; - final UserData userData = UserData( + const scopes = ['a', 'b']; + const accessToken = 'accessToken'; + const serverAuthCode = 'authCode'; + final userData = UserData( displayName: _testUser.displayName, email: _testUser.email, userId: _testUser.id, @@ -1176,8 +1172,8 @@ void main() { test( 'passes returned data to caller when calling addScopes without cache', () async { - const List scopes = ['a', 'b']; - const String serverAuthCode = 'authCode'; + const scopes = ['a', 'b']; + const serverAuthCode = 'authCode'; when(mockApi.addScopes(scopes, _testUser.id)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -1214,15 +1210,15 @@ void main() { test( 'passes returned data to caller when calling addScopes, not cached data', () async { - const List scopes = ['a', 'b']; - final UserData userData = UserData( + const scopes = ['a', 'b']; + final userData = UserData( displayName: _testUser.displayName, email: _testUser.email, userId: _testUser.id, photoUrl: _testUser.photoUrl, idToken: 'idToken', ); - const String serverAuthCode = 'authCode'; + const serverAuthCode = 'authCode'; when(mockApi.signIn([], null)).thenAnswer( (_) async => SignInResult( success: SignInSuccess( @@ -1263,9 +1259,9 @@ void main() { test('successfully returns cached token if addScopes indicates the ' 'requested scopes are already granted', () async { - const List scopes = ['a', 'b']; - const String serverAuthCode = 'authCode'; - final UserData userData = UserData( + const scopes = ['a', 'b']; + const serverAuthCode = 'authCode'; + final userData = UserData( displayName: _testUser.displayName, email: _testUser.email, userId: _testUser.id, @@ -1324,10 +1320,10 @@ void main() { test( 'returns null if re-using existing authz and scopes are missing', () async { - const List requestedScopes = ['a', 'b']; - const List grantedScopes = ['a']; - const String accessToken = 'token'; - final UserData userData = UserData( + const requestedScopes = ['a', 'b']; + const grantedScopes = ['a']; + const accessToken = 'token'; + final userData = UserData( displayName: _testUser.displayName, email: _testUser.email, userId: _testUser.id, diff --git a/packages/google_sign_in/google_sign_in_platform_interface/test/google_sign_in_platform_interface_test.dart b/packages/google_sign_in/google_sign_in_platform_interface/test/google_sign_in_platform_interface_test.dart index 27444d50674..e0a89f34842 100644 --- a/packages/google_sign_in/google_sign_in_platform_interface/test/google_sign_in_platform_interface_test.dart +++ b/packages/google_sign_in/google_sign_in_platform_interface/test/google_sign_in_platform_interface_test.dart @@ -41,8 +41,7 @@ void main() { test( 'Default implementation of clearAuthorizationToken throws unimplemented error', () { - final ExtendsGoogleSignInPlatform platform = - ExtendsGoogleSignInPlatform(); + final platform = ExtendsGoogleSignInPlatform(); expect( () => platform.clearAuthorizationToken( @@ -56,13 +55,13 @@ void main() { group('GoogleSignInUserData', () { test('can be compared by == operator', () { - const GoogleSignInUserData firstInstance = GoogleSignInUserData( + const firstInstance = GoogleSignInUserData( email: 'email', id: 'id', displayName: 'displayName', photoUrl: 'photoUrl', ); - const GoogleSignInUserData secondInstance = GoogleSignInUserData( + const secondInstance = GoogleSignInUserData( email: 'email', id: 'id', displayName: 'displayName', @@ -74,32 +73,32 @@ void main() { group('AuthenticationTokenData', () { test('can be compared by == operator', () { - const AuthenticationTokenData firstInstance = AuthenticationTokenData( - idToken: 'idToken', - ); - const AuthenticationTokenData secondInstance = AuthenticationTokenData( - idToken: 'idToken', - ); + const firstInstance = AuthenticationTokenData(idToken: 'idToken'); + const secondInstance = AuthenticationTokenData(idToken: 'idToken'); expect(firstInstance == secondInstance, isTrue); }); }); group('ClientAuthorizationTokenData', () { test('can be compared by == operator', () { - const ClientAuthorizationTokenData firstInstance = - ClientAuthorizationTokenData(accessToken: 'accessToken'); - const ClientAuthorizationTokenData secondInstance = - ClientAuthorizationTokenData(accessToken: 'accessToken'); + const firstInstance = ClientAuthorizationTokenData( + accessToken: 'accessToken', + ); + const secondInstance = ClientAuthorizationTokenData( + accessToken: 'accessToken', + ); expect(firstInstance == secondInstance, isTrue); }); }); group('ServerAuthorizationTokenData', () { test('can be compared by == operator', () { - const ServerAuthorizationTokenData firstInstance = - ServerAuthorizationTokenData(serverAuthCode: 'serverAuthCode'); - const ServerAuthorizationTokenData secondInstance = - ServerAuthorizationTokenData(serverAuthCode: 'serverAuthCode'); + const firstInstance = ServerAuthorizationTokenData( + serverAuthCode: 'serverAuthCode', + ); + const secondInstance = ServerAuthorizationTokenData( + serverAuthCode: 'serverAuthCode', + ); expect(firstInstance == secondInstance, isTrue); }); }); diff --git a/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test_disabled.dart b/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test_disabled.dart index e19ca94cd5e..15ce3d63bb4 100644 --- a/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test_disabled.dart +++ b/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test_disabled.dart @@ -29,7 +29,7 @@ void main() { testWidgets('empty case, calls onElementCreated', ( WidgetTester tester, ) async { - final Completer viewCreatedCompleter = Completer(); + final viewCreatedCompleter = Completer(); await pumpResizableWidget( tester, @@ -45,7 +45,7 @@ void main() { testWidgets('empty case, renders with initial size', ( WidgetTester tester, ) async { - const Size initialSize = Size(160, 100); + const initialSize = Size(160, 100); final Element element = await pumpResizableWidget( tester, @@ -61,10 +61,9 @@ void main() { testWidgets('initialSize null, adopts size of injected element', ( WidgetTester tester, ) async { - const Size childSize = Size(300, 40); + const childSize = Size(300, 40); - final web.HTMLDivElement resizable = - web.document.createElement('div') as web.HTMLDivElement; + final resizable = web.document.createElement('div') as web.HTMLDivElement; resize(resizable, childSize); final Element element = await pumpResizableWidget( @@ -81,11 +80,10 @@ void main() { testWidgets('with initialSize, adopts size of injected element', ( WidgetTester tester, ) async { - const Size initialSize = Size(160, 100); - const Size newSize = Size(300, 40); + const initialSize = Size(160, 100); + const newSize = Size(300, 40); - final web.HTMLDivElement resizable = - web.document.createElement('div') as web.HTMLDivElement; + final resizable = web.document.createElement('div') as web.HTMLDivElement; resize(resizable, newSize); final Element element = await pumpResizableWidget( @@ -103,15 +101,15 @@ void main() { testWidgets('with injected element that resizes, follows resizes', ( WidgetTester tester, ) async { - const Size initialSize = Size(160, 100); + const initialSize = Size(160, 100); final Size expandedSize = initialSize * 2; final Size contractedSize = initialSize / 2; - final web.HTMLDivElement resizable = - web.document.createElement('div') as web.HTMLDivElement..setAttribute( - 'style', - 'width: 100%; height: 100%; background: #fabada;', - ); + final resizable = web.document.createElement('div') as web.HTMLDivElement + ..setAttribute( + 'style', + 'width: 100%; height: 100%; background: #fabada;', + ); final Element element = await pumpResizableWidget( tester, @@ -178,8 +176,7 @@ class ResizableFromJs extends StatelessWidget { ui_web.platformViewRegistry.registerViewFactory( 'resizable_from_js_$instanceId', (int viewId) { - final web.HTMLDivElement element = - web.document.createElement('div') as web.HTMLDivElement; + final element = web.document.createElement('div') as web.HTMLDivElement; element.setAttribute( 'style', 'width: 100%; height: 100%; overflow: hidden; background: red;', diff --git a/packages/google_sign_in/google_sign_in_web/example/integration_test/google_sign_in_web_test.dart b/packages/google_sign_in/google_sign_in_web/example/integration_test/google_sign_in_web_test.dart index 5eefbdc759b..874bc8a2232 100644 --- a/packages/google_sign_in/google_sign_in_web/example/integration_test/google_sign_in_web_test.dart +++ b/packages/google_sign_in/google_sign_in_web/example/integration_test/google_sign_in_web_test.dart @@ -26,26 +26,21 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('Constructor', () { - const String expectedClientId = '3xp3c73d_c113n7_1d'; + const expectedClientId = '3xp3c73d_c113n7_1d'; testWidgets('Loads clientId when set in a meta', (_) async { - final GoogleSignInPlugin plugin = GoogleSignInPlugin( - debugOverrideLoader: true, - ); + final plugin = GoogleSignInPlugin(debugOverrideLoader: true); expect(plugin.autoDetectedClientId, isNull); // Add it to the test page now, and try again - final web.HTMLMetaElement meta = - web.document.createElement('meta') as web.HTMLMetaElement - ..name = clientIdMetaName - ..content = expectedClientId; + final meta = web.document.createElement('meta') as web.HTMLMetaElement + ..name = clientIdMetaName + ..content = expectedClientId; web.document.head!.appendChild(meta); - final GoogleSignInPlugin another = GoogleSignInPlugin( - debugOverrideLoader: true, - ); + final another = GoogleSignInPlugin(debugOverrideLoader: true); expect(another.autoDetectedClientId, expectedClientId); @@ -123,9 +118,7 @@ void main() { group('support queries', () { testWidgets('reports lack of support for authenticate', (_) async { - final GoogleSignInPlugin plugin = GoogleSignInPlugin( - debugOverrideLoader: true, - ); + final plugin = GoogleSignInPlugin(debugOverrideLoader: true); expect(plugin.supportsAuthenticate(), false); }); @@ -133,9 +126,7 @@ void main() { testWidgets('reports requirement for user interaction to authorize', ( _, ) async { - final GoogleSignInPlugin plugin = GoogleSignInPlugin( - debugOverrideLoader: true, - ); + final plugin = GoogleSignInPlugin(debugOverrideLoader: true); expect(plugin.authorizationRequiresUserInteraction(), true); }); @@ -144,9 +135,7 @@ void main() { group('(with mocked GIS)', () { late GoogleSignInPlugin plugin; late MockGisSdkClient mockGis; - const InitParameters options = InitParameters( - clientId: 'some-non-null-client-id', - ); + const options = InitParameters(clientId: 'some-non-null-client-id'); setUp(() { mockGis = MockGisSdkClient(); @@ -182,8 +171,8 @@ void main() { }); group('clientAuthorizationTokensForScopes', () { - const String someAccessToken = '50m3_4cc35_70k3n'; - const List scopes = ['scope1', 'scope2']; + const someAccessToken = '50m3_4cc35_70k3n'; + const scopes = ['scope1', 'scope2']; setUp(() { plugin.init(options); @@ -232,7 +221,7 @@ void main() { }); testWidgets('passes expected values to requestScopes', (_) async { - const String someUserId = 'someUser'; + const someUserId = 'someUser'; mockito .when( mockGis.requestScopes( @@ -292,8 +281,8 @@ void main() { }); group('serverAuthorizationTokensForScopes', () { - const String someAuthCode = 'abc123'; - const List scopes = ['scope1', 'scope2']; + const someAuthCode = 'abc123'; + const scopes = ['scope1', 'scope2']; setUp(() { plugin.init(options); @@ -304,7 +293,7 @@ void main() { .when(mockGis.requestServerAuthCode(mockito.any)) .thenAnswer((_) => Future.value(someAuthCode)); - const AuthorizationRequestDetails request = AuthorizationRequestDetails( + const request = AuthorizationRequestDetails( scopes: scopes, userId: null, email: null, @@ -323,8 +312,7 @@ void main() { expect(token?.serverAuthCode, someAuthCode); - final AuthorizationRequestDetails passedRequest = - arguments.first! as AuthorizationRequestDetails; + final passedRequest = arguments.first! as AuthorizationRequestDetails; expect(passedRequest.scopes, request.scopes); expect(passedRequest.userId, request.userId); expect(passedRequest.email, request.email); @@ -357,7 +345,7 @@ void main() { }); testWidgets('calls clearAuthorizationToken on GIS client', (_) async { - const String someToken = 'someToken'; + const someToken = 'someToken'; await plugin.clearAuthorizationToken( const ClearAuthorizationTokenParams(accessToken: someToken), ); @@ -372,8 +360,7 @@ void main() { }); group('userDataEvents', () { - final StreamController controller = - StreamController.broadcast(); + final controller = StreamController.broadcast(); late GoogleSignInPlugin plugin; setUp(() { diff --git a/packages/google_sign_in/google_sign_in_web/example/integration_test/utils_test.dart b/packages/google_sign_in/google_sign_in_web/example/integration_test/utils_test.dart index ad75b82dab0..5cd060b02a0 100644 --- a/packages/google_sign_in/google_sign_in_web/example/integration_test/utils_test.dart +++ b/packages/google_sign_in/google_sign_in_web/example/integration_test/utils_test.dart @@ -18,7 +18,7 @@ void main() { group('gisResponsesToAuthenticationEvent', () { testWidgets('happy case', (_) async { - final AuthenticationEventSignIn signIn = + final signIn = gisResponsesToAuthenticationEvent(goodCredential)! as AuthenticationEventSignIn; final GoogleSignInUserData data = signIn.user; @@ -31,7 +31,7 @@ void main() { }); testWidgets('happy case (minimal)', (_) async { - final AuthenticationEventSignIn signIn = + final signIn = gisResponsesToAuthenticationEvent(minimalCredential)! as AuthenticationEventSignIn; final GoogleSignInUserData data = signIn.user; @@ -188,7 +188,7 @@ void main() { }); testWidgets('Non base-64 payload -> null', (_) async { - const String payload = 'not-base-64-at-all'; + const payload = 'not-base-64-at-all'; final Map? data = decodeJwtPayload(payload); diff --git a/packages/google_sign_in/google_sign_in_web/example/lib/src/button_configuration_column.dart b/packages/google_sign_in/google_sign_in_web/example/lib/src/button_configuration_column.dart index b6a87a467ed..3d949f101ec 100644 --- a/packages/google_sign_in/google_sign_in_web/example/lib/src/button_configuration_column.dart +++ b/packages/google_sign_in/google_sign_in_web/example/lib/src/button_configuration_column.dart @@ -89,7 +89,7 @@ Widget renderWebButtonConfiguration( GSIButtonConfiguration? currentConfig, { OnWebConfigChangeFn? onChange, }) { - final ScrollController scrollController = ScrollController(); + final scrollController = ScrollController(); return Scrollbar( controller: scrollController, thumbVisibility: true, diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/flexible_size_html_element_view.dart b/packages/google_sign_in/google_sign_in_web/lib/src/flexible_size_html_element_view.dart index af74af8d812..05a57f6dffc 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/flexible_size_html_element_view.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/flexible_size_html_element_view.dart @@ -121,7 +121,7 @@ class _FlexHtmlElementView extends State { viewType: widget.viewType, onPlatformViewCreated: (int viewId) { final ElementCreatedCallback? callback = widget.onElementCreated; - final web.Element root = + final root = ui_web.platformViewRegistry.getViewById(viewId) as web.Element; _registerListeners(root); if (callback != null) { diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/gis_client.dart b/packages/google_sign_in/google_sign_in_web/lib/src/gis_client.dart index c7787eddd71..f5620926dac 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/gis_client.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/gis_client.dart @@ -96,7 +96,7 @@ class GisSdkClient { bool? useFedCM, }) { // Initialize `id` for the silent-sign in code. - final IdConfiguration idConfig = IdConfiguration( + final idConfig = IdConfiguration( client_id: clientId, callback: onResponse, cancel_on_tap_outside: false, @@ -131,7 +131,7 @@ class GisSdkClient { required ErrorCallbackFn onError, }) { // Create a Token Client for authorization calls. - final TokenClientConfig tokenConfig = TokenClientConfig( + final tokenConfig = TokenClientConfig( prompt: userHint == null ? '' : 'select_account', client_id: clientId, login_hint: userHint, @@ -151,7 +151,7 @@ class GisSdkClient { required ErrorCallbackFn onError, }) { // Create a Token Client for authorization calls. - final CodeClientConfig codeConfig = CodeClientConfig( + final codeConfig = CodeClientConfig( client_id: _clientId, login_hint: userHint, hd: _hostedDomain, @@ -229,8 +229,7 @@ class GisSdkClient { Future requestServerAuthCode( AuthorizationRequestDetails request, ) async { - final Completer<(String? code, Exception? e)> completer = - Completer<(String? code, Exception? e)>(); + final completer = Completer<(String? code, Exception? e)>(); final CodeClient codeClient = _initializeCodeClient( userHint: request.userId, onResponse: (CodeResponse response) { @@ -311,8 +310,7 @@ class GisSdkClient { return null; } - final Completer<(String? token, Exception? e)> completer = - Completer<(String? token, Exception? e)>(); + final completer = Completer<(String? token, Exception? e)>(); final TokenClient tokenClient = _initializeTokenClient( _clientId, scopes: scopes, diff --git a/packages/image_picker/image_picker/README.md b/packages/image_picker/image_picker/README.md index a112479edf4..8a7b89eb314 100755 --- a/packages/image_picker/image_picker/README.md +++ b/packages/image_picker/image_picker/README.md @@ -60,7 +60,7 @@ application. Since the data is never returned to the original call use the ```dart Future getLostData() async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); final LostDataResponse response = await picker.retrieveLostData(); if (response.isEmpty) { return; @@ -164,7 +164,7 @@ add a filesystem access ```dart -final ImagePicker picker = ImagePicker(); +final picker = ImagePicker(); // Pick an image. final XFile? image = await picker.pickImage(source: ImageSource.gallery); // Capture a photo. diff --git a/packages/image_picker/image_picker/example/lib/main.dart b/packages/image_picker/image_picker/example/lib/main.dart index 8ea29057129..c49b3c12101 100755 --- a/packages/image_picker/image_picker/example/lib/main.dart +++ b/packages/image_picker/image_picker/example/lib/main.dart @@ -73,7 +73,7 @@ class _MyHomePageState extends State { // Mute the video so it auto-plays in web! // This is not needed if the call to .play is the result of user // interaction (clicking on a "play" button, for example). - const double volume = kIsWeb ? 0.0 : 1.0; + const volume = kIsWeb ? 0.0 : 1.0; await controller.setVolume(volume); await controller.initialize(); await controller.setLooping(true); @@ -143,7 +143,7 @@ class _MyHomePageState extends State { int? limit, ) async { try { - final List pickedFileList = []; + final pickedFileList = []; final XFile? media = await _picker.pickMedia( maxWidth: maxWidth, maxHeight: maxHeight, @@ -286,10 +286,10 @@ class _MyHomePageState extends State { } Widget _buildInlineVideoPlayer(int index) { - final VideoPlayerController controller = VideoPlayerController.file( + final controller = VideoPlayerController.file( File(_mediaFileList![index].path), ); - const double volume = kIsWeb ? 0.0 : 1.0; + const volume = kIsWeb ? 0.0 : 1.0; controller.setVolume(volume); controller.initialize(); controller.setLooping(true); @@ -492,7 +492,7 @@ class _MyHomePageState extends State { Text? _getRetrieveErrorWidget() { if (_retrieveDataError != null) { - final Text result = Text(_retrieveDataError!); + final result = Text(_retrieveDataError!); _retrieveDataError = null; return result; } diff --git a/packages/image_picker/image_picker/example/lib/readme_excerpts.dart b/packages/image_picker/image_picker/example/lib/readme_excerpts.dart index ff02f8da369..8f52ca53155 100644 --- a/packages/image_picker/image_picker/example/lib/readme_excerpts.dart +++ b/packages/image_picker/image_picker/example/lib/readme_excerpts.dart @@ -32,7 +32,7 @@ class MyCameraDelegate extends ImagePickerCameraDelegate { /// Example function for README demonstration of various pick* calls. Future> readmePickExample() async { // #docregion Pick - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); // Pick an image. final XFile? image = await picker.pickImage(source: ImageSource.gallery); // Capture a photo. @@ -66,7 +66,7 @@ Future> readmePickExample() async { /// Example function for README demonstration of getting lost data. // #docregion LostData Future getLostData() async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); final LostDataResponse response = await picker.retrieveLostData(); if (response.isEmpty) { return; diff --git a/packages/image_picker/image_picker/lib/image_picker.dart b/packages/image_picker/image_picker/lib/image_picker.dart index 0294b4b8b8d..9e96d5cd73b 100755 --- a/packages/image_picker/image_picker/lib/image_picker.dart +++ b/packages/image_picker/image_picker/lib/image_picker.dart @@ -77,14 +77,13 @@ class ImagePicker { CameraDevice preferredCameraDevice = CameraDevice.rear, bool requestFullMetadata = true, }) { - final ImagePickerOptions imagePickerOptions = - ImagePickerOptions.createAndValidate( - maxWidth: maxWidth, - maxHeight: maxHeight, - imageQuality: imageQuality, - preferredCameraDevice: preferredCameraDevice, - requestFullMetadata: requestFullMetadata, - ); + final imagePickerOptions = ImagePickerOptions.createAndValidate( + maxWidth: maxWidth, + maxHeight: maxHeight, + imageQuality: imageQuality, + preferredCameraDevice: preferredCameraDevice, + requestFullMetadata: requestFullMetadata, + ); return platform.getImageFromSource( source: source, @@ -134,7 +133,7 @@ class ImagePicker { int? limit, bool requestFullMetadata = true, }) { - final ImageOptions imageOptions = ImageOptions.createAndValidate( + final imageOptions = ImageOptions.createAndValidate( maxWidth: maxWidth, maxHeight: maxHeight, imageQuality: imageQuality, diff --git a/packages/image_picker/image_picker/test/image_picker_test.dart b/packages/image_picker/image_picker/test/image_picker_test.dart index 15bb59bbdbb..6230481169f 100644 --- a/packages/image_picker/image_picker/test/image_picker_test.dart +++ b/packages/image_picker/image_picker/test/image_picker_test.dart @@ -41,7 +41,7 @@ void main() { }); test('passes the image source argument correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickImage(source: ImageSource.camera); await picker.pickImage(source: ImageSource.gallery); @@ -64,7 +64,7 @@ void main() { }); test('passes the width and height arguments correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickImage(source: ImageSource.camera); await picker.pickImage(source: ImageSource.camera, maxWidth: 10.0); await picker.pickImage(source: ImageSource.camera, maxHeight: 10.0); @@ -249,7 +249,7 @@ void main() { }); test('does not accept a negative width or height argument', () { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect( () => picker.pickImage(source: ImageSource.camera, maxWidth: -1.0), throwsArgumentError, @@ -262,14 +262,14 @@ void main() { }); test('handles a null image file response gracefully', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect(await picker.pickImage(source: ImageSource.gallery), isNull); expect(await picker.pickImage(source: ImageSource.camera), isNull); }); test('camera position defaults to back', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickImage(source: ImageSource.camera); verify( @@ -288,7 +288,7 @@ void main() { }); test('camera position can set to front', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickImage( source: ImageSource.camera, preferredCameraDevice: CameraDevice.front, @@ -310,7 +310,7 @@ void main() { }); test('full metadata argument defaults to true', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickImage(source: ImageSource.gallery); verify( @@ -329,7 +329,7 @@ void main() { }); test('passes the full metadata argument correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickImage( source: ImageSource.gallery, requestFullMetadata: false, @@ -363,7 +363,7 @@ void main() { }); test('passes the image source argument correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickVideo(source: ImageSource.camera); await picker.pickVideo(source: ImageSource.gallery); @@ -374,7 +374,7 @@ void main() { }); test('passes the duration argument correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickVideo(source: ImageSource.camera); await picker.pickVideo( source: ImageSource.camera, @@ -391,21 +391,21 @@ void main() { }); test('handles a null video file response gracefully', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect(await picker.pickVideo(source: ImageSource.gallery), isNull); expect(await picker.pickVideo(source: ImageSource.camera), isNull); }); test('camera position defaults to back', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickVideo(source: ImageSource.camera); verify(mockPlatform.getVideo(source: ImageSource.camera)); }); test('camera position can set to front', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickVideo( source: ImageSource.camera, preferredCameraDevice: CameraDevice.front, @@ -422,8 +422,8 @@ void main() { group('#retrieveLostData', () { test('retrieveLostData get success response', () async { - final ImagePicker picker = ImagePicker(); - final XFile lostFile = XFile('/example/path'); + final picker = ImagePicker(); + final lostFile = XFile('/example/path'); when(mockPlatform.getLostData()).thenAnswer( (Invocation _) async => LostDataResponse( file: lostFile, @@ -441,8 +441,8 @@ void main() { test( 'retrieveLostData should successfully retrieve multiple files', () async { - final ImagePicker picker = ImagePicker(); - final List lostFiles = [ + final picker = ImagePicker(); + final lostFiles = [ XFile('/example/path0'), XFile('/example/path1'), ]; @@ -465,7 +465,7 @@ void main() { ); test('retrieveLostData get error response', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); when(mockPlatform.getLostData()).thenAnswer( (Invocation _) async => LostDataResponse( exception: PlatformException( @@ -492,7 +492,7 @@ void main() { }); test('passes the arguments correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMultiVideo(); await picker.pickMultiVideo(maxDuration: const Duration(seconds: 10)); await picker.pickMultiVideo(limit: 5); @@ -538,7 +538,7 @@ void main() { group('#pickMultiImage', () { test('passes the width and height arguments correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMultiImage(); await picker.pickMultiImage(maxWidth: 10.0); await picker.pickMultiImage(maxHeight: 10.0); @@ -697,7 +697,7 @@ void main() { }); test('does not accept a negative width or height argument', () { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect( () => picker.pickMultiImage(maxWidth: -1.0), throwsArgumentError, @@ -710,7 +710,7 @@ void main() { }); test('does not accept a limit argument lower than 2', () { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect(() => picker.pickMultiImage(limit: -1), throwsArgumentError); expect(() => picker.pickMultiImage(limit: 0), throwsArgumentError); @@ -719,14 +719,14 @@ void main() { }); test('handles an empty image file response gracefully', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect(await picker.pickMultiImage(), isEmpty); expect(await picker.pickMultiImage(), isEmpty); }); test('full metadata argument defaults to true', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMultiImage(); verify( @@ -745,7 +745,7 @@ void main() { }); test('passes the full metadata argument correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMultiImage(requestFullMetadata: false); verify( @@ -774,7 +774,7 @@ void main() { group('#pickMedia', () { test('passes the width and height arguments correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMedia(); await picker.pickMedia(maxWidth: 10.0); await picker.pickMedia(maxHeight: 10.0); @@ -892,21 +892,21 @@ void main() { }); test('does not accept a negative width or height argument', () { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect(() => picker.pickMedia(maxWidth: -1.0), throwsArgumentError); expect(() => picker.pickMedia(maxHeight: -1.0), throwsArgumentError); }); test('handles an empty image file response gracefully', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect(await picker.pickMedia(), isNull); expect(await picker.pickMedia(), isNull); }); test('full metadata argument defaults to true', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMedia(); verify( @@ -925,7 +925,7 @@ void main() { }); test('passes the full metadata argument correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMedia(requestFullMetadata: false); verify( @@ -946,7 +946,7 @@ void main() { group('#pickMultipleMedia', () { test('passes the width and height arguments correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMultipleMedia(); await picker.pickMultipleMedia(maxWidth: 10.0); await picker.pickMultipleMedia(maxHeight: 10.0); @@ -1092,7 +1092,7 @@ void main() { }); test('does not accept a negative width or height argument', () { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect( () => picker.pickMultipleMedia(maxWidth: -1.0), throwsArgumentError, @@ -1105,7 +1105,7 @@ void main() { }); test('does not accept a limit argument lower than 2', () { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect( () => picker.pickMultipleMedia(limit: -1), throwsArgumentError, @@ -1117,14 +1117,14 @@ void main() { }); test('handles an empty image file response gracefully', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); expect(await picker.pickMultipleMedia(), isEmpty); expect(await picker.pickMultipleMedia(), isEmpty); }); test('full metadata argument defaults to true', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMultipleMedia(); verify( @@ -1143,7 +1143,7 @@ void main() { }); test('passes the full metadata argument correctly', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); await picker.pickMultipleMedia(requestFullMetadata: false); verify( @@ -1162,7 +1162,7 @@ void main() { }); }); test('supportsImageSource calls through to platform', () async { - final ImagePicker picker = ImagePicker(); + final picker = ImagePicker(); when(mockPlatform.supportsImageSource(any)).thenReturn(true); final bool supported = picker.supportsImageSource(ImageSource.camera); diff --git a/packages/image_picker/image_picker_android/example/lib/main.dart b/packages/image_picker/image_picker_android/example/lib/main.dart index 400d62a7fa2..2fb883526de 100755 --- a/packages/image_picker/image_picker_android/example/lib/main.dart +++ b/packages/image_picker/image_picker_android/example/lib/main.dart @@ -79,9 +79,7 @@ class _MyHomePageState extends State { Future _playVideo(XFile? file) async { if (file != null && mounted) { await _disposeVideoController(); - final VideoPlayerController controller = VideoPlayerController.file( - File(file.path), - ); + final controller = VideoPlayerController.file(File(file.path)); _controller = controller; await controller.setVolume(1.0); await controller.initialize(); @@ -125,7 +123,7 @@ class _MyHomePageState extends State { int? limit, ) async { try { - final ImageOptions imageOptions = ImageOptions( + final imageOptions = ImageOptions( maxWidth: maxWidth, maxHeight: maxHeight, imageQuality: quality, @@ -164,7 +162,7 @@ class _MyHomePageState extends State { int? limit, ) async { try { - final List pickedFileList = []; + final pickedFileList = []; final XFile? media = _firstOrNull( await _picker.getMedia( options: MediaOptions( @@ -319,7 +317,7 @@ class _MyHomePageState extends State { } Widget _buildInlineVideoPlayer(int index) { - final VideoPlayerController controller = VideoPlayerController.file( + final controller = VideoPlayerController.file( File(_mediaFileList![index].path), ); controller.setVolume(1.0); @@ -532,7 +530,7 @@ class _MyHomePageState extends State { Text? _getRetrieveErrorWidget() { if (_retrieveDataError != null) { - final Text result = Text(_retrieveDataError!); + final result = Text(_retrieveDataError!); _retrieveDataError = null; return result; } diff --git a/packages/image_picker/image_picker_android/test/image_picker_android_test.dart b/packages/image_picker/image_picker_android/test/image_picker_android_test.dart index 53a8a09c01b..891764af5d3 100644 --- a/packages/image_picker/image_picker_android/test/image_picker_android_test.dart +++ b/packages/image_picker/image_picker_android/test/image_picker_android_test.dart @@ -25,7 +25,7 @@ void main() { group('#pickImage', () { test('calls the method correctly', () async { - const String fakePath = '/foo.jpg'; + const fakePath = '/foo.jpg'; api.returnValue = [fakePath]; final PickedFile? result = await picker.pickImage( source: ImageSource.camera, @@ -141,7 +141,7 @@ void main() { group('#pickMultiImage', () { test('calls the method correctly', () async { - const List fakePaths = ['/foo.jgp', 'bar.jpg']; + const fakePaths = ['/foo.jgp', 'bar.jpg']; api.returnValue = fakePaths; final List? files = await picker.pickMultiImage(); @@ -214,7 +214,7 @@ void main() { group('#pickVideo', () { test('calls the method correctly', () async { - const String fakePath = '/foo.jpg'; + const fakePath = '/foo.jpg'; api.returnValue = [fakePath]; final PickedFile? result = await picker.pickVideo( source: ImageSource.camera, @@ -341,7 +341,7 @@ void main() { group('#getImage', () { test('calls the method correctly', () async { - const String fakePath = '/foo.jpg'; + const fakePath = '/foo.jpg'; api.returnValue = [fakePath]; final XFile? result = await picker.getImage(source: ImageSource.camera); @@ -455,7 +455,7 @@ void main() { group('#getMultiImage', () { test('calls the method correctly', () async { - const List fakePaths = ['/foo.jgp', 'bar.jpg']; + const fakePaths = ['/foo.jgp', 'bar.jpg']; api.returnValue = fakePaths; final List? files = await picker.getMultiImage(); @@ -526,7 +526,7 @@ void main() { group('#getVideo', () { test('calls the method correctly', () async { - const String fakePath = '/foo.jpg'; + const fakePath = '/foo.jpg'; api.returnValue = [fakePath]; final XFile? result = await picker.getVideo(source: ImageSource.camera); @@ -601,7 +601,7 @@ void main() { group('#getMultiVideoWithOptions', () { test('calls the method correctly', () async { - const List fakePaths = ['/foo.mp4', 'bar.mp4']; + const fakePaths = ['/foo.mp4', 'bar.mp4']; api.returnValue = fakePaths; final List result = await picker.getMultiVideoWithOptions(); @@ -692,7 +692,7 @@ void main() { group('#getMedia', () { test('calls the method correctly', () async { - const List fakePaths = ['/foo.jgp', 'bar.jpg']; + const fakePaths = ['/foo.jgp', 'bar.jpg']; api.returnValue = fakePaths; final List files = await picker.getMedia( @@ -844,7 +844,7 @@ void main() { group('#getImageFromSource', () { test('calls the method correctly', () async { - const String fakePath = '/foo.jpg'; + const fakePath = '/foo.jpg'; api.returnValue = [fakePath]; final XFile? result = await picker.getImage(source: ImageSource.camera); diff --git a/packages/image_picker/image_picker_for_web/example/integration_test/image_picker_for_web_test.dart b/packages/image_picker/image_picker_for_web/example/integration_test/image_picker_for_web_test.dart index 03b98675ccf..dc24f0aa74b 100644 --- a/packages/image_picker/image_picker_for_web/example/integration_test/image_picker_for_web_test.dart +++ b/packages/image_picker/image_picker_for_web/example/integration_test/image_picker_for_web_test.dart @@ -43,14 +43,12 @@ void main() { }); testWidgets('getImageFromSource can select a file', (WidgetTester _) async { - final web.HTMLInputElement mockInput = web.HTMLInputElement() - ..type = 'file'; - final ImagePickerPluginTestOverrides overrides = - ImagePickerPluginTestOverrides() - ..createInputElement = ((_, __) => mockInput) - ..getMultipleFilesFromInput = ((_) => [textFile]); + final mockInput = web.HTMLInputElement()..type = 'file'; + final overrides = ImagePickerPluginTestOverrides() + ..createInputElement = ((_, __) => mockInput) + ..getMultipleFilesFromInput = ((_) => [textFile]); - final ImagePickerPlugin plugin = ImagePickerPlugin(overrides: overrides); + final plugin = ImagePickerPlugin(overrides: overrides); // Init the pick file dialog... final Future image = plugin.getImageFromSource( @@ -88,18 +86,16 @@ void main() { testWidgets('getMultiImageWithOptions can select multiple files', ( WidgetTester _, ) async { - final web.HTMLInputElement mockInput = web.HTMLInputElement() - ..type = 'file'; + final mockInput = web.HTMLInputElement()..type = 'file'; - final ImagePickerPluginTestOverrides overrides = - ImagePickerPluginTestOverrides() - ..createInputElement = ((_, __) => mockInput) - ..getMultipleFilesFromInput = ((_) => [ - textFile, - secondTextFile, - ]); + final overrides = ImagePickerPluginTestOverrides() + ..createInputElement = ((_, __) => mockInput) + ..getMultipleFilesFromInput = ((_) => [ + textFile, + secondTextFile, + ]); - final ImagePickerPlugin plugin = ImagePickerPlugin(overrides: overrides); + final plugin = ImagePickerPlugin(overrides: overrides); // Init the pick file dialog... final Future> files = plugin.getMultiImageWithOptions(); @@ -121,18 +117,16 @@ void main() { }); testWidgets('getMedia can select multiple files', (WidgetTester _) async { - final web.HTMLInputElement mockInput = web.HTMLInputElement() - ..type = 'file'; + final mockInput = web.HTMLInputElement()..type = 'file'; - final ImagePickerPluginTestOverrides overrides = - ImagePickerPluginTestOverrides() - ..createInputElement = ((_, __) => mockInput) - ..getMultipleFilesFromInput = ((_) => [ - textFile, - secondTextFile, - ]); + final overrides = ImagePickerPluginTestOverrides() + ..createInputElement = ((_, __) => mockInput) + ..getMultipleFilesFromInput = ((_) => [ + textFile, + secondTextFile, + ]); - final ImagePickerPlugin plugin = ImagePickerPlugin(overrides: overrides); + final plugin = ImagePickerPlugin(overrides: overrides); // Init the pick file dialog... final Future> files = plugin.getMedia( @@ -158,18 +152,16 @@ void main() { testWidgets('getMultiVideoWithOptions can select multiple files', ( WidgetTester _, ) async { - final web.HTMLInputElement mockInput = web.HTMLInputElement() - ..type = 'file'; - - final ImagePickerPluginTestOverrides overrides = - ImagePickerPluginTestOverrides() - ..createInputElement = ((_, __) => mockInput) - ..getMultipleFilesFromInput = ((_) => [ - textFile, - secondTextFile, - ]); - - final ImagePickerPlugin plugin = ImagePickerPlugin(overrides: overrides); + final mockInput = web.HTMLInputElement()..type = 'file'; + + final overrides = ImagePickerPluginTestOverrides() + ..createInputElement = ((_, __) => mockInput) + ..getMultipleFilesFromInput = ((_) => [ + textFile, + secondTextFile, + ]); + + final plugin = ImagePickerPlugin(overrides: overrides); // Init the pick file dialog... final Future> files = plugin.getMultiVideoWithOptions(); diff --git a/packages/image_picker/image_picker_for_web/example/integration_test/image_resizer_test.dart b/packages/image_picker/image_picker_for_web/example/integration_test/image_resizer_test.dart index 91eac719069..95d36b44c5c 100644 --- a/packages/image_picker/image_picker_for_web/example/integration_test/image_resizer_test.dart +++ b/packages/image_picker/image_picker_for_web/example/integration_test/image_resizer_test.dart @@ -158,8 +158,8 @@ void main() { } Future _getImageSize(XFile file) async { - final Completer completer = Completer(); - final web.HTMLImageElement image = web.HTMLImageElement(); + final completer = Completer(); + final image = web.HTMLImageElement(); image ..onLoad.listen((web.Event event) { completer.complete(Size(image.width.toDouble(), image.height.toDouble())); @@ -175,7 +175,7 @@ web.Blob _base64ToBlob(String data) { final List arr = data.split(','); final String bstr = web.window.atob(arr[1]); int n = bstr.length; - final Uint8List u8arr = Uint8List(n); + final u8arr = Uint8List(n); while (n >= 1) { u8arr[n - 1] = bstr.codeUnitAt(n - 1); diff --git a/packages/image_picker/image_picker_for_web/example/integration_test/readme_excerpts_test.dart b/packages/image_picker/image_picker_for_web/example/integration_test/readme_excerpts_test.dart index bdc9cad65a9..e76dc04ec23 100644 --- a/packages/image_picker/image_picker_for_web/example/integration_test/readme_excerpts_test.dart +++ b/packages/image_picker/image_picker_for_web/example/integration_test/readme_excerpts_test.dart @@ -46,7 +46,7 @@ void main() { /// Creates an XFile with a 1x1 png file. XFile createXFileWeb() { - const String pixel = + const pixel = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR' '42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII='; final Uint8List data = base64Decode(pixel); diff --git a/packages/image_picker/image_picker_for_web/lib/image_picker_for_web.dart b/packages/image_picker/image_picker_for_web/lib/image_picker_for_web.dart index 35f82fde4e2..117c68774e2 100644 --- a/packages/image_picker/image_picker_for_web/lib/image_picker_for_web.dart +++ b/packages/image_picker/image_picker_for_web/lib/image_picker_for_web.dart @@ -254,13 +254,13 @@ class ImagePickerPlugin extends ImagePickerPlatform { /// Handles the OnChange event from a FileUploadInputElement object /// Returns a list of selected files. List? _handleOnChangeEvent(web.Event event) { - final web.HTMLInputElement? input = event.target as web.HTMLInputElement?; + final input = event.target as web.HTMLInputElement?; return input == null ? null : _getFilesFromInput(input); } /// Monitors an and returns the selected file(s). Future> _getSelectedXFiles(web.HTMLInputElement input) { - final Completer> completer = Completer>(); + final completer = Completer>(); // TODO(dit): Migrate all this to Streams (onChange, onError, onCancel) when onCancel is available. // See: https://github.com/dart-lang/web/issues/199 // Observe the input until we can return something @@ -324,7 +324,7 @@ class ImagePickerPlugin extends ImagePickerPlatform { return _overrides!.createInputElement(accept, capture); } - final web.HTMLInputElement element = web.HTMLInputElement() + final element = web.HTMLInputElement() ..type = 'file' ..multiple = multiple; diff --git a/packages/image_picker/image_picker_for_web/lib/src/image_resizer.dart b/packages/image_picker/image_picker_for_web/lib/src/image_resizer.dart index bf30deca3b2..c09dcc884bc 100644 --- a/packages/image_picker/image_picker_for_web/lib/src/image_resizer.dart +++ b/packages/image_picker/image_picker_for_web/lib/src/image_resizer.dart @@ -49,16 +49,15 @@ class ImageResizer { /// Loads the `blobUrl` into a [web.HTMLImageElement]. Future loadImage(String blobUrl) { - final Completer imageLoadCompleter = - Completer(); - final web.HTMLImageElement imageElement = web.HTMLImageElement(); + final imageLoadCompleter = Completer(); + final imageElement = web.HTMLImageElement(); imageElement ..src = blobUrl ..onLoad.listen((web.Event event) { imageLoadCompleter.complete(imageElement); }) ..onError.listen((web.Event event) { - const String exception = 'Error while loading image.'; + const exception = 'Error while loading image.'; imageElement.remove(); imageLoadCompleter.completeError(exception); }); @@ -76,7 +75,7 @@ class ImageResizer { maxWidth, maxHeight, ); - final web.HTMLCanvasElement canvas = web.HTMLCanvasElement() + final canvas = web.HTMLCanvasElement() ..width = newImageSize.width.toInt() ..height = newImageSize.height.toInt(); final web.CanvasRenderingContext2D context = canvas.context2D; @@ -104,7 +103,7 @@ class ImageResizer { ) async { final double calculatedImageQuality = (min(imageQuality ?? 100, 100)) / 100.0; - final Completer completer = Completer(); + final completer = Completer(); final web.BlobCallback blobCallback = (web.Blob blob) { completer.complete( XFile( diff --git a/packages/image_picker/image_picker_for_web/test/image_resizer_utils_test.dart b/packages/image_picker/image_picker_for_web/test/image_resizer_utils_test.dart index 613b005ab6f..59dfefdf324 100644 --- a/packages/image_picker/image_picker_for_web/test/image_resizer_utils_test.dart +++ b/packages/image_picker/image_picker_for_web/test/image_resizer_utils_test.dart @@ -30,8 +30,8 @@ void main() { ); test('image size is scaled when maxWidth is set', () { - const Size imageSize = Size(500, 300); - const int maxWidth = 400; + const imageSize = Size(500, 300); + const maxWidth = 400; final Size scaledSize = calculateSizeOfDownScaledImage( Size(imageSize.width, imageSize.height), maxWidth.toDouble(), @@ -42,8 +42,8 @@ void main() { }); test('image size is scaled when maxHeight is set', () { - const Size imageSize = Size(500, 300); - const int maxHeight = 400; + const imageSize = Size(500, 300); + const maxHeight = 400; final Size scaledSize = calculateSizeOfDownScaledImage( Size(imageSize.width, imageSize.height), null, @@ -54,9 +54,9 @@ void main() { }); test('image size is scaled when both maxWidth and maxHeight is set', () { - const Size imageSize = Size(1120, 2000); - const int maxHeight = 1200; - const int maxWidth = 99; + const imageSize = Size(1120, 2000); + const maxHeight = 1200; + const maxWidth = 99; final Size scaledSize = calculateSizeOfDownScaledImage( Size(imageSize.width, imageSize.height), maxWidth.toDouble(), diff --git a/packages/image_picker/image_picker_ios/example/lib/main.dart b/packages/image_picker/image_picker_ios/example/lib/main.dart index 1db84163bab..28fc2875266 100755 --- a/packages/image_picker/image_picker_ios/example/lib/main.dart +++ b/packages/image_picker/image_picker_ios/example/lib/main.dart @@ -60,9 +60,7 @@ class _MyHomePageState extends State { Future _playVideo(XFile? file) async { if (file != null && mounted) { await _disposeVideoController(); - final VideoPlayerController controller = VideoPlayerController.file( - File(file.path), - ); + final controller = VideoPlayerController.file(File(file.path)); _controller = controller; await controller.setVolume(1.0); await controller.initialize(); @@ -106,7 +104,7 @@ class _MyHomePageState extends State { int? limit, ) async { try { - final ImageOptions imageOptions = ImageOptions( + final imageOptions = ImageOptions( maxWidth: maxWidth, maxHeight: maxHeight, imageQuality: quality, @@ -145,7 +143,7 @@ class _MyHomePageState extends State { int? limit, ) async { try { - final List pickedFileList = []; + final pickedFileList = []; final XFile? media = _firstOrNull( await _picker.getMedia( options: MediaOptions( @@ -289,7 +287,7 @@ class _MyHomePageState extends State { } Widget _buildInlineVideoPlayer(int index) { - final VideoPlayerController controller = VideoPlayerController.file( + final controller = VideoPlayerController.file( File(_mediaFileList![index].path), ); controller.setVolume(1.0); @@ -447,7 +445,7 @@ class _MyHomePageState extends State { Text? _getRetrieveErrorWidget() { if (_retrieveDataError != null) { - final Text result = Text(_retrieveDataError!); + final result = Text(_retrieveDataError!); _retrieveDataError = null; return result; } diff --git a/packages/image_picker/image_picker_linux/example/lib/main.dart b/packages/image_picker/image_picker_linux/example/lib/main.dart index c78e1ba0eb9..4bc0ab606c3 100644 --- a/packages/image_picker/image_picker_linux/example/lib/main.dart +++ b/packages/image_picker/image_picker_linux/example/lib/main.dart @@ -60,9 +60,7 @@ class _MyHomePageState extends State { Future _playVideo(XFile? file) async { if (file != null && mounted) { await _disposeVideoController(); - final VideoPlayerController controller = VideoPlayerController.file( - File(file.path), - ); + final controller = VideoPlayerController.file(File(file.path)); _controller = controller; await controller.setVolume(1.0); await controller.initialize(); @@ -105,7 +103,7 @@ class _MyHomePageState extends State { int? quality, ) async { try { - final ImageOptions imageOptions = ImageOptions( + final imageOptions = ImageOptions( maxWidth: maxWidth, maxHeight: maxHeight, imageQuality: quality, @@ -141,7 +139,7 @@ class _MyHomePageState extends State { int? quality, ) async { try { - final List pickedFileList = []; + final pickedFileList = []; final XFile? media = _firstOrNull( await _picker.getMedia( options: MediaOptions( @@ -295,7 +293,7 @@ class _MyHomePageState extends State { } Widget _buildInlineVideoPlayer(int index) { - final VideoPlayerController controller = VideoPlayerController.file( + final controller = VideoPlayerController.file( File(_mediaFileList![index].path), ); controller.setVolume(1.0); @@ -455,7 +453,7 @@ class _MyHomePageState extends State { Text? _getRetrieveErrorWidget() { if (_retrieveDataError != null) { - final Text result = Text(_retrieveDataError!); + final result = Text(_retrieveDataError!); _retrieveDataError = null; return result; } diff --git a/packages/image_picker/image_picker_linux/lib/image_picker_linux.dart b/packages/image_picker/image_picker_linux/lib/image_picker_linux.dart index 14f7f281f64..bd6c87fbaa7 100644 --- a/packages/image_picker/image_picker_linux/lib/image_picker_linux.dart +++ b/packages/image_picker/image_picker_linux/lib/image_picker_linux.dart @@ -103,7 +103,7 @@ class ImagePickerLinux extends CameraDelegatingImagePickerPlatform { case ImageSource.camera: return super.getImageFromSource(source: source); case ImageSource.gallery: - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'Images', mimeTypes: ['image/*'], ); @@ -137,7 +137,7 @@ class ImagePickerLinux extends CameraDelegatingImagePickerPlatform { maxDuration: maxDuration, ); case ImageSource.gallery: - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'Videos', mimeTypes: ['video/*'], ); @@ -160,7 +160,7 @@ class ImagePickerLinux extends CameraDelegatingImagePickerPlatform { double? maxHeight, int? imageQuality, }) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'Images', mimeTypes: ['image/*'], ); @@ -174,7 +174,7 @@ class ImagePickerLinux extends CameraDelegatingImagePickerPlatform { Future> getMultiVideoWithOptions({ MultiVideoPickerOptions options = const MultiVideoPickerOptions(), }) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'Videos', mimeTypes: ['video/*'], ); @@ -189,7 +189,7 @@ class ImagePickerLinux extends CameraDelegatingImagePickerPlatform { // ignored. @override Future> getMedia({required MediaOptions options}) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'Images and videos', mimeTypes: ['image/*', 'video/*'], ); diff --git a/packages/image_picker/image_picker_linux/test/image_picker_linux_test.dart b/packages/image_picker/image_picker_linux/test/image_picker_linux_test.dart index 5f397a3a17a..0d8207545f6 100644 --- a/packages/image_picker/image_picker_linux/test/image_picker_linux_test.dart +++ b/packages/image_picker/image_picker_linux/test/image_picker_linux_test.dart @@ -86,7 +86,7 @@ void main() { ); test('getImageFromSource calls delegate when source is camera', () async { - const String fakePath = '/tmp/foo'; + const fakePath = '/tmp/foo'; plugin.cameraDelegate = FakeCameraDelegate(result: XFile(fakePath)); expect( (await plugin.getImageFromSource(source: ImageSource.camera))!.path, @@ -140,7 +140,7 @@ void main() { }); test('getVideo calls delegate when source is camera', () async { - const String fakePath = '/tmp/foo'; + const fakePath = '/tmp/foo'; plugin.cameraDelegate = FakeCameraDelegate(result: XFile(fakePath)); expect( (await plugin.getVideo(source: ImageSource.camera))!.path, diff --git a/packages/image_picker/image_picker_macos/example/lib/main.dart b/packages/image_picker/image_picker_macos/example/lib/main.dart index c78e1ba0eb9..4bc0ab606c3 100644 --- a/packages/image_picker/image_picker_macos/example/lib/main.dart +++ b/packages/image_picker/image_picker_macos/example/lib/main.dart @@ -60,9 +60,7 @@ class _MyHomePageState extends State { Future _playVideo(XFile? file) async { if (file != null && mounted) { await _disposeVideoController(); - final VideoPlayerController controller = VideoPlayerController.file( - File(file.path), - ); + final controller = VideoPlayerController.file(File(file.path)); _controller = controller; await controller.setVolume(1.0); await controller.initialize(); @@ -105,7 +103,7 @@ class _MyHomePageState extends State { int? quality, ) async { try { - final ImageOptions imageOptions = ImageOptions( + final imageOptions = ImageOptions( maxWidth: maxWidth, maxHeight: maxHeight, imageQuality: quality, @@ -141,7 +139,7 @@ class _MyHomePageState extends State { int? quality, ) async { try { - final List pickedFileList = []; + final pickedFileList = []; final XFile? media = _firstOrNull( await _picker.getMedia( options: MediaOptions( @@ -295,7 +293,7 @@ class _MyHomePageState extends State { } Widget _buildInlineVideoPlayer(int index) { - final VideoPlayerController controller = VideoPlayerController.file( + final controller = VideoPlayerController.file( File(_mediaFileList![index].path), ); controller.setVolume(1.0); @@ -455,7 +453,7 @@ class _MyHomePageState extends State { Text? _getRetrieveErrorWidget() { if (_retrieveDataError != null) { - final Text result = Text(_retrieveDataError!); + final result = Text(_retrieveDataError!); _retrieveDataError = null; return result; } diff --git a/packages/image_picker/image_picker_macos/lib/image_picker_macos.dart b/packages/image_picker/image_picker_macos/lib/image_picker_macos.dart index 6fd17880e34..886b5cc9b87 100644 --- a/packages/image_picker/image_picker_macos/lib/image_picker_macos.dart +++ b/packages/image_picker/image_picker_macos/lib/image_picker_macos.dart @@ -104,7 +104,7 @@ class ImagePickerMacOS extends CameraDelegatingImagePickerPlatform { // TODO(stuartmorgan): Add a native implementation that can use // PHPickerViewController on macOS 13+, with this as a fallback for // older OS versions: https://github.com/flutter/flutter/issues/125829. - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( uniformTypeIdentifiers: ['public.image'], ); final XFile? file = await fileSelector.openFile( @@ -137,7 +137,7 @@ class ImagePickerMacOS extends CameraDelegatingImagePickerPlatform { maxDuration: maxDuration, ); case ImageSource.gallery: - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( uniformTypeIdentifiers: ['public.movie'], ); final XFile? file = await fileSelector.openFile( @@ -162,7 +162,7 @@ class ImagePickerMacOS extends CameraDelegatingImagePickerPlatform { // TODO(stuartmorgan): Add a native implementation that can use // PHPickerViewController on macOS 13+, with this as a fallback for // older OS versions: https://github.com/flutter/flutter/issues/125829. - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( uniformTypeIdentifiers: ['public.image'], ); final List files = await fileSelector.openFiles( @@ -178,7 +178,7 @@ class ImagePickerMacOS extends CameraDelegatingImagePickerPlatform { // TODO(stuartmorgan): Add a native implementation that can use // PHPickerViewController on macOS 13+, with this as a fallback for // older OS versions: https://github.com/flutter/flutter/issues/125829. - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( uniformTypeIdentifiers: ['public.movie'], ); final List files = await fileSelector.openFiles( @@ -192,7 +192,7 @@ class ImagePickerMacOS extends CameraDelegatingImagePickerPlatform { // ignored. @override Future> getMedia({required MediaOptions options}) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images and videos', extensions: ['public.image', 'public.movie'], ); diff --git a/packages/image_picker/image_picker_macos/test/image_picker_macos_test.dart b/packages/image_picker/image_picker_macos/test/image_picker_macos_test.dart index 8b52054ed82..0cdae2a1107 100644 --- a/packages/image_picker/image_picker_macos/test/image_picker_macos_test.dart +++ b/packages/image_picker/image_picker_macos/test/image_picker_macos_test.dart @@ -92,7 +92,7 @@ void main() { ); test('getImageFromSource calls delegate when source is camera', () async { - const String fakePath = '/tmp/foo'; + const fakePath = '/tmp/foo'; plugin.cameraDelegate = FakeCameraDelegate(result: XFile(fakePath)); expect( (await plugin.getImageFromSource(source: ImageSource.camera))!.path, @@ -152,7 +152,7 @@ void main() { }); test('getVideo calls delegate when source is camera', () async { - const String fakePath = '/tmp/foo'; + const fakePath = '/tmp/foo'; plugin.cameraDelegate = FakeCameraDelegate(result: XFile(fakePath)); expect( (await plugin.getVideo(source: ImageSource.camera))!.path, diff --git a/packages/image_picker/image_picker_platform_interface/lib/src/method_channel/method_channel_image_picker.dart b/packages/image_picker/image_picker_platform_interface/lib/src/method_channel/method_channel_image_picker.dart index 311d7e47970..7ed9dc66df5 100644 --- a/packages/image_picker/image_picker_platform_interface/lib/src/method_channel/method_channel_image_picker.dart +++ b/packages/image_picker/image_picker_platform_interface/lib/src/method_channel/method_channel_image_picker.dart @@ -157,7 +157,7 @@ class MethodChannelImagePicker extends ImagePickerPlatform { assert(result.containsKey('path') != result.containsKey('errorCode')); - final String? type = result['type'] as String?; + final type = result['type'] as String?; assert(type == kTypeImage || type == kTypeVideo); RetrieveType? retrieveType; @@ -175,7 +175,7 @@ class MethodChannelImagePicker extends ImagePickerPlatform { ); } - final String? path = result['path'] as String?; + final path = result['path'] as String?; return LostData( file: path != null ? PickedFile(path) : null, @@ -258,7 +258,7 @@ class MethodChannelImagePicker extends ImagePickerPlatform { Future> getMedia({required MediaOptions options}) async { final ImageOptions imageOptions = options.imageOptions; - final Map args = { + final args = { 'maxImageWidth': imageOptions.maxWidth, 'maxImageHeight': imageOptions.maxHeight, 'imageQuality': imageOptions.imageQuality, @@ -303,7 +303,7 @@ class MethodChannelImagePicker extends ImagePickerPlatform { assert(result.containsKey('path') != result.containsKey('errorCode')); - final String? type = result['type'] as String?; + final type = result['type'] as String?; assert(type == kTypeImage || type == kTypeVideo || type == kTypeMedia); RetrieveType? retrieveType; @@ -324,7 +324,7 @@ class MethodChannelImagePicker extends ImagePickerPlatform { ); } - final String? path = result['path'] as String?; + final path = result['path'] as String?; final List? pathList = (result['pathList'] as List?) ?.cast(); diff --git a/packages/image_picker/image_picker_platform_interface/test/image_picker_platform_test.dart b/packages/image_picker/image_picker_platform_interface/test/image_picker_platform_test.dart index 1fd1fb68638..0d30e9b544c 100644 --- a/packages/image_picker/image_picker_platform_interface/test/image_picker_platform_test.dart +++ b/packages/image_picker/image_picker_platform_interface/test/image_picker_platform_test.dart @@ -19,8 +19,7 @@ void main() { test( 'supportsImageSource returns false for camera when there is no delegate', () async { - final FakeCameraDelegatingImagePickerPlatform implementation = - FakeCameraDelegatingImagePickerPlatform(); + final implementation = FakeCameraDelegatingImagePickerPlatform(); expect(implementation.supportsImageSource(ImageSource.camera), false); }, @@ -29,8 +28,7 @@ void main() { test( 'supportsImageSource returns true for camera when there is a delegate', () async { - final FakeCameraDelegatingImagePickerPlatform implementation = - FakeCameraDelegatingImagePickerPlatform(); + final implementation = FakeCameraDelegatingImagePickerPlatform(); implementation.cameraDelegate = FakeCameraDelegate(); expect(implementation.supportsImageSource(ImageSource.camera), true); @@ -40,8 +38,7 @@ void main() { test( 'getImageFromSource for camera throws if delegate is not set', () async { - final FakeCameraDelegatingImagePickerPlatform implementation = - FakeCameraDelegatingImagePickerPlatform(); + final implementation = FakeCameraDelegatingImagePickerPlatform(); await expectLater( implementation.getImageFromSource(source: ImageSource.camera), @@ -51,8 +48,7 @@ void main() { ); test('getVideo for camera throws if delegate is not set', () async { - final FakeCameraDelegatingImagePickerPlatform implementation = - FakeCameraDelegatingImagePickerPlatform(); + final implementation = FakeCameraDelegatingImagePickerPlatform(); await expectLater( implementation.getVideo(source: ImageSource.camera), @@ -61,9 +57,8 @@ void main() { }); test('getImageFromSource for camera calls delegate if set', () async { - const String fakePath = '/tmp/foo'; - final FakeCameraDelegatingImagePickerPlatform implementation = - FakeCameraDelegatingImagePickerPlatform(); + const fakePath = '/tmp/foo'; + final implementation = FakeCameraDelegatingImagePickerPlatform(); implementation.cameraDelegate = FakeCameraDelegate( result: XFile(fakePath), ); @@ -77,9 +72,8 @@ void main() { }); test('getVideo for camera calls delegate if set', () async { - const String fakePath = '/tmp/foo'; - final FakeCameraDelegatingImagePickerPlatform implementation = - FakeCameraDelegatingImagePickerPlatform(); + const fakePath = '/tmp/foo'; + final implementation = FakeCameraDelegatingImagePickerPlatform(); implementation.cameraDelegate = FakeCameraDelegate( result: XFile(fakePath), ); @@ -93,8 +87,7 @@ void main() { test('Default implementation of getMultiVideoWithOptions should throw ' 'unimplemented error', () { - final FakeCameraDelegatingImagePickerPlatform implementation = - FakeCameraDelegatingImagePickerPlatform(); + final implementation = FakeCameraDelegatingImagePickerPlatform(); expect( () => implementation.getMultiVideoWithOptions(), diff --git a/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart b/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart index b244e7d256e..3401dd0a6b7 100644 --- a/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart +++ b/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart @@ -11,9 +11,9 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('$MethodChannelImagePicker', () { - final MethodChannelImagePicker picker = MethodChannelImagePicker(); + final picker = MethodChannelImagePicker(); - final List log = []; + final log = []; dynamic returnValue = ''; setUp(() { diff --git a/packages/image_picker/image_picker_platform_interface/test/picked_file_html_test.dart b/packages/image_picker/image_picker_platform_interface/test/picked_file_html_test.dart index 4a7615c9a0b..a7d87fa0d07 100644 --- a/packages/image_picker/image_picker_platform_interface/test/picked_file_html_test.dart +++ b/packages/image_picker/image_picker_platform_interface/test/picked_file_html_test.dart @@ -23,7 +23,7 @@ final String textFileUrl = web.URL.createObjectURL(textFile); void main() { group('Create with an objectUrl', () { - final PickedFile pickedFile = PickedFile(textFileUrl); + final pickedFile = PickedFile(textFileUrl); test('Can be read as a string', () async { expect(await pickedFile.readAsString(), equals(expectedStringContents)); diff --git a/packages/image_picker/image_picker_platform_interface/test/picked_file_io_test.dart b/packages/image_picker/image_picker_platform_interface/test/picked_file_io_test.dart index 4e34850454e..1393d4912ef 100644 --- a/packages/image_picker/image_picker_platform_interface/test/picked_file_io_test.dart +++ b/packages/image_picker/image_picker_platform_interface/test/picked_file_io_test.dart @@ -23,7 +23,7 @@ final String textFilePath = textFile.path; void main() { group('Create with an objectUrl', () { - final PickedFile pickedFile = PickedFile(textFilePath); + final pickedFile = PickedFile(textFilePath); test('Can be read as a string', () async { expect(await pickedFile.readAsString(), equals(expectedStringContents)); diff --git a/packages/image_picker/image_picker_windows/example/lib/main.dart b/packages/image_picker/image_picker_windows/example/lib/main.dart index c78e1ba0eb9..4bc0ab606c3 100644 --- a/packages/image_picker/image_picker_windows/example/lib/main.dart +++ b/packages/image_picker/image_picker_windows/example/lib/main.dart @@ -60,9 +60,7 @@ class _MyHomePageState extends State { Future _playVideo(XFile? file) async { if (file != null && mounted) { await _disposeVideoController(); - final VideoPlayerController controller = VideoPlayerController.file( - File(file.path), - ); + final controller = VideoPlayerController.file(File(file.path)); _controller = controller; await controller.setVolume(1.0); await controller.initialize(); @@ -105,7 +103,7 @@ class _MyHomePageState extends State { int? quality, ) async { try { - final ImageOptions imageOptions = ImageOptions( + final imageOptions = ImageOptions( maxWidth: maxWidth, maxHeight: maxHeight, imageQuality: quality, @@ -141,7 +139,7 @@ class _MyHomePageState extends State { int? quality, ) async { try { - final List pickedFileList = []; + final pickedFileList = []; final XFile? media = _firstOrNull( await _picker.getMedia( options: MediaOptions( @@ -295,7 +293,7 @@ class _MyHomePageState extends State { } Widget _buildInlineVideoPlayer(int index) { - final VideoPlayerController controller = VideoPlayerController.file( + final controller = VideoPlayerController.file( File(_mediaFileList![index].path), ); controller.setVolume(1.0); @@ -455,7 +453,7 @@ class _MyHomePageState extends State { Text? _getRetrieveErrorWidget() { if (_retrieveDataError != null) { - final Text result = Text(_retrieveDataError!); + final result = Text(_retrieveDataError!); _retrieveDataError = null; return result; } diff --git a/packages/image_picker/image_picker_windows/lib/image_picker_windows.dart b/packages/image_picker/image_picker_windows/lib/image_picker_windows.dart index 99f033fae4f..3456562909f 100644 --- a/packages/image_picker/image_picker_windows/lib/image_picker_windows.dart +++ b/packages/image_picker/image_picker_windows/lib/image_picker_windows.dart @@ -132,10 +132,7 @@ class ImagePickerWindows extends CameraDelegatingImagePickerPlatform { case ImageSource.camera: return super.getImageFromSource(source: source); case ImageSource.gallery: - const XTypeGroup typeGroup = XTypeGroup( - label: 'Images', - extensions: imageFormats, - ); + const typeGroup = XTypeGroup(label: 'Images', extensions: imageFormats); final XFile? file = await fileSelector.openFile( acceptedTypeGroups: [typeGroup], ); @@ -166,10 +163,7 @@ class ImagePickerWindows extends CameraDelegatingImagePickerPlatform { maxDuration: maxDuration, ); case ImageSource.gallery: - const XTypeGroup typeGroup = XTypeGroup( - label: 'Videos', - extensions: videoFormats, - ); + const typeGroup = XTypeGroup(label: 'Videos', extensions: videoFormats); final XFile? file = await fileSelector.openFile( acceptedTypeGroups: [typeGroup], ); @@ -189,10 +183,7 @@ class ImagePickerWindows extends CameraDelegatingImagePickerPlatform { double? maxHeight, int? imageQuality, }) async { - const XTypeGroup typeGroup = XTypeGroup( - label: 'Images', - extensions: imageFormats, - ); + const typeGroup = XTypeGroup(label: 'Images', extensions: imageFormats); final List files = await fileSelector.openFiles( acceptedTypeGroups: [typeGroup], ); @@ -203,10 +194,7 @@ class ImagePickerWindows extends CameraDelegatingImagePickerPlatform { Future> getMultiVideoWithOptions({ MultiVideoPickerOptions options = const MultiVideoPickerOptions(), }) async { - const XTypeGroup typeGroup = XTypeGroup( - label: 'Videos', - extensions: videoFormats, - ); + const typeGroup = XTypeGroup(label: 'Videos', extensions: videoFormats); final List files = await fileSelector.openFiles( acceptedTypeGroups: [typeGroup], ); @@ -218,7 +206,7 @@ class ImagePickerWindows extends CameraDelegatingImagePickerPlatform { // they will be silently ignored by the Windows version of the plugin. @override Future> getMedia({required MediaOptions options}) async { - const XTypeGroup typeGroup = XTypeGroup( + const typeGroup = XTypeGroup( label: 'images and videos', extensions: [...imageFormats, ...videoFormats], ); diff --git a/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart b/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart index 1392f1eb1d5..ed224a8b6de 100644 --- a/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart +++ b/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart @@ -147,7 +147,7 @@ void main() { }); test('getVideo calls delegate when source is camera', () async { - const String fakePath = '/tmp/foo'; + const fakePath = '/tmp/foo'; plugin.cameraDelegate = FakeCameraDelegate(result: XFile(fakePath)); expect( (await plugin.getVideo(source: ImageSource.camera))!.path, diff --git a/packages/in_app_purchase/in_app_purchase/example/lib/main.dart b/packages/in_app_purchase/in_app_purchase/example/lib/main.dart index 3aecbf90b3e..d0f5eb232b2 100644 --- a/packages/in_app_purchase/in_app_purchase/example/lib/main.dart +++ b/packages/in_app_purchase/in_app_purchase/example/lib/main.dart @@ -149,7 +149,7 @@ class _MyAppState extends State<_MyApp> { @override Widget build(BuildContext context) { - final List stack = []; + final stack = []; if (_queryProductError == null) { stack.add( ListView( @@ -201,7 +201,7 @@ class _MyAppState extends State<_MyApp> { 'The store is ${_isAvailable ? 'available' : 'unavailable'}.', ), ); - final List children = [storeHeader]; + final children = [storeHeader]; if (!_isAvailable) { children.addAll([ @@ -232,8 +232,8 @@ class _MyAppState extends State<_MyApp> { if (!_isAvailable) { return const Card(); } - const ListTile productHeader = ListTile(title: Text('Products for Sale')); - final List productList = []; + const productHeader = ListTile(title: Text('Products for Sale')); + final productList = []; if (_notFoundIds.isNotEmpty) { productList.add( ListTile( @@ -251,18 +251,14 @@ class _MyAppState extends State<_MyApp> { // This loading previous purchases code is just a demo. Please do not use this as it is. // In your app you should always verify the purchase data using the `verificationData` inside the [PurchaseDetails] object before trusting it. // We recommend that you use your own server to verify the purchase data. - final Map purchases = - Map.fromEntries( - _purchases.map((PurchaseDetails purchase) { - if (purchase.pendingCompletePurchase) { - _inAppPurchase.completePurchase(purchase); - } - return MapEntry( - purchase.productID, - purchase, - ); - }), - ); + final purchases = Map.fromEntries( + _purchases.map((PurchaseDetails purchase) { + if (purchase.pendingCompletePurchase) { + _inAppPurchase.completePurchase(purchase); + } + return MapEntry(purchase.productID, purchase); + }), + ); productList.addAll( _products.map((ProductDetails productDetails) { final PurchaseDetails? previousPurchase = purchases[productDetails.id]; @@ -342,9 +338,7 @@ class _MyAppState extends State<_MyApp> { if (!_isAvailable || _notFoundIds.contains(_kConsumableId)) { return const Card(); } - const ListTile consumableHeader = ListTile( - title: Text('Purchased consumables'), - ); + const consumableHeader = ListTile(title: Text('Purchased consumables')); final List tokens = _consumables.map((String id) { return GridTile( child: IconButton( @@ -443,7 +437,7 @@ class _MyAppState extends State<_MyApp> { Future _listenToPurchaseUpdated( List purchaseDetailsList, ) async { - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.status == PurchaseStatus.pending) { showPendingUI(); } else { diff --git a/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart b/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart index 50dd802422b..341ff82db15 100644 --- a/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart +++ b/packages/in_app_purchase/in_app_purchase/test/in_app_purchase_test.dart @@ -11,7 +11,7 @@ import 'package:plugin_platform_interface/plugin_platform_interface.dart'; void main() { group('InAppPurchase', () { - final ProductDetails productDetails = ProductDetails( + final productDetails = ProductDetails( id: 'id', title: 'title', description: 'description', @@ -20,7 +20,7 @@ void main() { currencyCode: 'currencyCode', ); - final PurchaseDetails purchaseDetails = PurchaseDetails( + final purchaseDetails = PurchaseDetails( productID: 'productID', verificationData: PurchaseVerificationData( localVerificationData: 'localVerificationData', @@ -93,9 +93,7 @@ void main() { }); test('buyConsumable', () async { - final PurchaseParam purchaseParam = PurchaseParam( - productDetails: productDetails, - ); + final purchaseParam = PurchaseParam(productDetails: productDetails); final bool result = await inAppPurchase.buyConsumable( purchaseParam: purchaseParam, ); @@ -113,9 +111,7 @@ void main() { }); test('buyConsumable with autoConsume=false', () async { - final PurchaseParam purchaseParam = PurchaseParam( - productDetails: productDetails, - ); + final purchaseParam = PurchaseParam(productDetails: productDetails); final bool result = await inAppPurchase.buyConsumable( purchaseParam: purchaseParam, autoConsume: false, diff --git a/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart b/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart index 9986df72f53..6bb520121d1 100644 --- a/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart +++ b/packages/in_app_purchase/in_app_purchase_android/example/lib/main.dart @@ -75,7 +75,7 @@ class _MyAppState extends State<_MyApp> { }, ); initStoreInfo(); - final InAppPurchaseAndroidPlatformAddition addition = + final addition = InAppPurchasePlatformAddition.instance! as InAppPurchaseAndroidPlatformAddition; final Stream userChoiceDetailsUpdated = @@ -162,7 +162,7 @@ class _MyAppState extends State<_MyApp> { @override Widget build(BuildContext context) { - final List stack = []; + final stack = []; if (_queryProductError == null) { stack.add( ListView( @@ -216,7 +216,7 @@ class _MyAppState extends State<_MyApp> { 'The store is ${_isAvailable ? 'available' : 'unavailable'}.', ), ); - final List children = [storeHeader]; + final children = [storeHeader]; if (!_isAvailable) { children.addAll([ @@ -236,7 +236,7 @@ class _MyAppState extends State<_MyApp> { } Card _buildFetchButtons() { - const ListTile header = ListTile(title: Text('AlternativeBilling Info')); + const header = ListTile(title: Text('AlternativeBilling Info')); final List entries = []; entries.add( ListTile( @@ -298,7 +298,7 @@ class _MyAppState extends State<_MyApp> { foregroundColor: Colors.white, ), onPressed: () { - final InAppPurchaseAndroidPlatformAddition addition = + final addition = InAppPurchasePlatformAddition.instance! as InAppPurchaseAndroidPlatformAddition; unawaited( @@ -319,7 +319,7 @@ class _MyAppState extends State<_MyApp> { foregroundColor: Colors.white, ), onPressed: () { - final InAppPurchaseAndroidPlatformAddition addition = + final addition = InAppPurchasePlatformAddition.instance! as InAppPurchaseAndroidPlatformAddition; unawaited( @@ -340,7 +340,7 @@ class _MyAppState extends State<_MyApp> { foregroundColor: Colors.white, ), onPressed: () { - final InAppPurchaseAndroidPlatformAddition addition = + final addition = InAppPurchasePlatformAddition.instance! as InAppPurchaseAndroidPlatformAddition; unawaited( @@ -361,7 +361,7 @@ class _MyAppState extends State<_MyApp> { foregroundColor: Colors.white, ), onPressed: () { - final InAppPurchaseAndroidPlatformAddition addition = + final addition = InAppPurchasePlatformAddition.instance! as InAppPurchaseAndroidPlatformAddition; unawaited( @@ -388,7 +388,7 @@ class _MyAppState extends State<_MyApp> { } Card _buildUserChoiceDetailsDisplay() { - const ListTile header = ListTile(title: Text('UserChoiceDetails')); + const header = ListTile(title: Text('UserChoiceDetails')); final List entries = []; for (final String item in _userChoiceDetailsList) { entries.add( @@ -418,8 +418,8 @@ class _MyAppState extends State<_MyApp> { if (!_isAvailable) { return const Card(); } - const ListTile productHeader = ListTile(title: Text('Products for Sale')); - final List productList = []; + const productHeader = ListTile(title: Text('Products for Sale')); + final productList = []; if (_notFoundIds.isNotEmpty) { productList.add( ListTile( @@ -437,18 +437,14 @@ class _MyAppState extends State<_MyApp> { // This loading previous purchases code is just a demo. Please do not use this as it is. // In your app you should always verify the purchase data using the `verificationData` inside the [PurchaseDetails] object before trusting it. // We recommend that you use your own server to verify the purchase data. - final Map purchases = - Map.fromEntries( - _purchases.map((PurchaseDetails purchase) { - if (purchase.pendingCompletePurchase) { - _inAppPurchasePlatform.completePurchase(purchase); - } - return MapEntry( - purchase.productID, - purchase, - ); - }), - ); + final purchases = Map.fromEntries( + _purchases.map((PurchaseDetails purchase) { + if (purchase.pendingCompletePurchase) { + _inAppPurchasePlatform.completePurchase(purchase); + } + return MapEntry(purchase.productID, purchase); + }), + ); productList.addAll( _products.map((ProductDetails productDetails) { final PurchaseDetails? previousPurchase = purchases[productDetails.id]; @@ -472,17 +468,16 @@ class _MyAppState extends State<_MyApp> { productDetails as GooglePlayProductDetails, purchases, ); - final GooglePlayPurchaseParam purchaseParam = - GooglePlayPurchaseParam( - productDetails: productDetails, - changeSubscriptionParam: oldSubscription != null - ? ChangeSubscriptionParam( - oldPurchaseDetails: oldSubscription, - replacementMode: - ReplacementMode.withTimeProration, - ) - : null, - ); + final purchaseParam = GooglePlayPurchaseParam( + productDetails: productDetails, + changeSubscriptionParam: oldSubscription != null + ? ChangeSubscriptionParam( + oldPurchaseDetails: oldSubscription, + replacementMode: + ReplacementMode.withTimeProration, + ) + : null, + ); if (productDetails.id == _kConsumableId) { _inAppPurchasePlatform.buyConsumable( purchaseParam: purchaseParam, @@ -520,9 +515,7 @@ class _MyAppState extends State<_MyApp> { if (!_isAvailable || _notFoundIds.contains(_kConsumableId)) { return const Card(); } - const ListTile consumableHeader = ListTile( - title: Text('Purchased consumables'), - ); + const consumableHeader = ListTile(title: Text('Purchased consumables')); final List tokens = _consumables.map((String id) { return GridTile( child: IconButton( @@ -640,7 +633,7 @@ class _MyAppState extends State<_MyApp> { Future deliverUserChoiceDetails( GooglePlayUserChoiceDetails details, ) async { - final String detailDescription = + final detailDescription = '${details.externalTransactionToken}, ${details.originalExternalTransactionId}, ${details.products.length}'; setState(() { _userChoiceDetailsList.add(detailDescription); @@ -650,11 +643,11 @@ class _MyAppState extends State<_MyApp> { Future _listenToPurchaseUpdated( List purchaseDetailsList, ) async { - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.status == PurchaseStatus.pending) { showPendingUI(); } else { - final InAppPurchaseAndroidPlatformAddition addition = + final addition = InAppPurchasePlatformAddition.instance! as InAppPurchaseAndroidPlatformAddition; if (purchaseDetails.status == PurchaseStatus.error) { diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart index 32664d2a34b..e93dd094b8f 100644 --- a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart +++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart @@ -213,8 +213,7 @@ class InAppPurchaseAndroidPlatform extends InAppPurchasePlatform { 'On Android, the `purchase` should always be of type `GooglePlayPurchaseDetails`.', ); - final GooglePlayPurchaseDetails googlePurchase = - purchase as GooglePlayPurchaseDetails; + final googlePurchase = purchase as GooglePlayPurchaseDetails; if (googlePurchase.billingClientPurchase.isAcknowledged) { return const BillingResultWrapper(responseCode: BillingResponse.ok); diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart index 21d022e0f13..3858c75f0e1 100644 --- a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart +++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_product_details.dart @@ -108,10 +108,9 @@ class GooglePlayProductDetails extends ProductDetails { ), ]; } else { - final List productDetailList = - []; + final productDetailList = []; for ( - int subscriptionIndex = 0; + var subscriptionIndex = 0; subscriptionIndex < productDetails.subscriptionOfferDetails!.length; subscriptionIndex++ ) { diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart index 8d12ba01c3d..36d33b1e550 100644 --- a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart +++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart @@ -30,19 +30,18 @@ class GooglePlayPurchaseDetails extends PurchaseDetails { PurchaseWrapper purchase, ) { return purchase.products.map((String productId) { - final GooglePlayPurchaseDetails purchaseDetails = - GooglePlayPurchaseDetails( - purchaseID: purchase.orderId, - productID: productId, - verificationData: PurchaseVerificationData( - localVerificationData: purchase.originalJson, - serverVerificationData: purchase.purchaseToken, - source: kIAPSource, - ), - transactionDate: purchase.purchaseTime.toString(), - billingClientPurchase: purchase, - status: purchaseStatusFromWrapper(purchase.purchaseState), - ); + final purchaseDetails = GooglePlayPurchaseDetails( + purchaseID: purchase.orderId, + productID: productId, + verificationData: PurchaseVerificationData( + localVerificationData: purchase.originalJson, + serverVerificationData: purchase.purchaseToken, + source: kIAPSource, + ), + transactionDate: purchase.purchaseTime.toString(), + billingClientPurchase: purchase, + status: purchaseStatusFromWrapper(purchase.purchaseState), + ); if (purchaseDetails.status == PurchaseStatus.error) { purchaseDetails.error = IAPError( diff --git a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_manager_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_manager_test.dart index 1f21f04868d..e8d549676bb 100644 --- a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_manager_test.dart +++ b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_manager_test.dart @@ -44,7 +44,7 @@ void main() { }); test('waits for connection before executing the operations', () async { - final Completer connectedCompleter = Completer(); + final connectedCompleter = Completer(); when(mockApi.startConnection(any, any, any)).thenAnswer((_) async { connectedCompleter.complete(); return PlatformBillingResult( @@ -53,8 +53,8 @@ void main() { ); }); - final Completer calledCompleter1 = Completer(); - final Completer calledCompleter2 = Completer(); + final calledCompleter1 = Completer(); + final calledCompleter2 = Completer(); unawaited( manager.runWithClient((BillingClient _) async { calledCompleter1.complete(); @@ -148,7 +148,7 @@ void main() { () async { clearInteractions(mockApi); - int timesCalled = 0; + var timesCalled = 0; final BillingResultWrapper result = await manager.runWithClient(( BillingClient _, ) async { @@ -178,7 +178,7 @@ void main() { // Ensures all asynchronous connected code finishes. await manager.runWithClientNonRetryable((_) async {}); - const UserChoiceDetailsWrapper expected = UserChoiceDetailsWrapper( + const expected = UserChoiceDetailsWrapper( originalExternalTransactionId: 'TransactionId', externalTransactionToken: 'TransactionToken', products: [ diff --git a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart index b87fe0a6742..2959ea70471 100644 --- a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart +++ b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart @@ -68,7 +68,7 @@ void main() { group('startConnection', () { test('returns BillingResultWrapper', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.developerError; when(mockApi.startConnection(any, any, any)).thenAnswer( (_) async => PlatformBillingResult( @@ -77,7 +77,7 @@ void main() { ), ); - const BillingResultWrapper billingResult = BillingResultWrapper( + const billingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -120,8 +120,7 @@ void main() { }); test('passes billingChoiceMode userChoiceBilling when set', () async { - final Completer completer = - Completer(); + final completer = Completer(); billingClient = BillingClient( (PurchasesResultWrapper _) {}, (UserChoiceDetailsWrapper details) => completer.complete(details), @@ -138,7 +137,7 @@ void main() { PlatformBillingChoiceMode.alternativeBillingOnly, ); - const UserChoiceDetailsWrapper expected = UserChoiceDetailsWrapper( + const expected = UserChoiceDetailsWrapper( originalExternalTransactionId: 'TransactionId', externalTransactionToken: 'TransactionToken', products: [ @@ -187,7 +186,7 @@ void main() { group('queryProductDetails', () { test('handles empty productDetails', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.developerError; when(mockApi.queryProductDetailsAsync(any)).thenAnswer( (_) async => PlatformProductDetailsResponse( @@ -209,7 +208,7 @@ void main() { ], ); - const BillingResultWrapper billingResult = BillingResultWrapper( + const billingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -218,7 +217,7 @@ void main() { }); test('returns ProductDetailsResponseWrapper', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.ok; when(mockApi.queryProductDetailsAsync(any)).thenAnswer( (_) async => PlatformProductDetailsResponse( @@ -242,7 +241,7 @@ void main() { ], ); - const BillingResultWrapper billingResult = BillingResultWrapper( + const billingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -253,9 +252,9 @@ void main() { group('launchBillingFlow', () { test('serializes and deserializes data', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -263,8 +262,8 @@ void main() { mockApi.launchBillingFlow(any), ).thenAnswer((_) async => convertToPigeonResult(expectedBillingResult)); const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String profileId = 'hashedProfileId'; + const accountId = 'hashedAccountId'; + const profileId = 'hashedProfileId'; expect( await billingClient.launchBillingFlow( @@ -278,8 +277,7 @@ void main() { final VerificationResult result = verify( mockApi.launchBillingFlow(captureAny), ); - final PlatformBillingFlowParams params = - result.captured.single as PlatformBillingFlowParams; + final params = result.captured.single as PlatformBillingFlowParams; expect(params.product, equals(productDetails.productId)); expect(params.accountId, equals(accountId)); expect(params.obfuscatedProfileId, equals(profileId)); @@ -289,8 +287,8 @@ void main() { 'Change subscription throws assertion error `oldProduct` and `purchaseToken` has different nullability', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String profileId = 'hashedProfileId'; + const accountId = 'hashedAccountId'; + const profileId = 'hashedProfileId'; expect( billingClient.launchBillingFlow( @@ -317,9 +315,9 @@ void main() { test( 'serializes and deserializes data on change subscription without proration', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -327,8 +325,8 @@ void main() { mockApi.launchBillingFlow(any), ).thenAnswer((_) async => convertToPigeonResult(expectedBillingResult)); const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String profileId = 'hashedProfileId'; + const accountId = 'hashedAccountId'; + const profileId = 'hashedProfileId'; expect( await billingClient.launchBillingFlow( @@ -343,8 +341,7 @@ void main() { final VerificationResult result = verify( mockApi.launchBillingFlow(captureAny), ); - final PlatformBillingFlowParams params = - result.captured.single as PlatformBillingFlowParams; + final params = result.captured.single as PlatformBillingFlowParams; expect(params.product, equals(productDetails.productId)); expect(params.accountId, equals(accountId)); expect(params.oldProduct, equals(dummyOldPurchase.products.first)); @@ -356,9 +353,9 @@ void main() { test( 'serializes and deserializes data on change subscription with proration', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -366,8 +363,8 @@ void main() { mockApi.launchBillingFlow(any), ).thenAnswer((_) async => convertToPigeonResult(expectedBillingResult)); const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String profileId = 'hashedProfileId'; + const accountId = 'hashedAccountId'; + const profileId = 'hashedProfileId'; const ReplacementMode replacementMode = ReplacementMode.chargeProratedPrice; @@ -385,8 +382,7 @@ void main() { final VerificationResult result = verify( mockApi.launchBillingFlow(captureAny), ); - final PlatformBillingFlowParams params = - result.captured.single as PlatformBillingFlowParams; + final params = result.captured.single as PlatformBillingFlowParams; expect(params.product, equals(productDetails.productId)); expect(params.accountId, equals(accountId)); expect(params.oldProduct, equals(dummyOldPurchase.products.first)); @@ -402,9 +398,9 @@ void main() { test( 'serializes and deserializes data when using immediateAndChargeFullPrice', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -412,8 +408,8 @@ void main() { mockApi.launchBillingFlow(any), ).thenAnswer((_) async => convertToPigeonResult(expectedBillingResult)); const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String profileId = 'hashedProfileId'; + const accountId = 'hashedAccountId'; + const profileId = 'hashedProfileId'; const ReplacementMode replacementMode = ReplacementMode.chargeFullPrice; expect( @@ -430,8 +426,7 @@ void main() { final VerificationResult result = verify( mockApi.launchBillingFlow(captureAny), ); - final PlatformBillingFlowParams params = - result.captured.single as PlatformBillingFlowParams; + final params = result.captured.single as PlatformBillingFlowParams; expect(params.product, equals(productDetails.productId)); expect(params.accountId, equals(accountId)); expect(params.oldProduct, equals(dummyOldPurchase.products.first)); @@ -445,9 +440,9 @@ void main() { ); test('handles null accountId', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse responseCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: responseCode, debugMessage: debugMessage, ); @@ -465,8 +460,7 @@ void main() { final VerificationResult result = verify( mockApi.launchBillingFlow(captureAny), ); - final PlatformBillingFlowParams params = - result.captured.single as PlatformBillingFlowParams; + final params = result.captured.single as PlatformBillingFlowParams; expect(params.product, equals(productDetails.productId)); expect(params.accountId, isNull); }); @@ -475,11 +469,9 @@ void main() { group('queryPurchases', () { test('serializes and deserializes data', () async { const BillingResponse expectedCode = BillingResponse.ok; - final List expectedList = [ - dummyPurchase, - ]; - const String debugMessage = 'dummy message'; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + final expectedList = [dummyPurchase]; + const debugMessage = 'dummy message'; + const expectedBillingResult = BillingResultWrapper( responseCode: expectedCode, debugMessage: debugMessage, ); @@ -507,8 +499,8 @@ void main() { test('handles empty purchases', () async { const BillingResponse expectedCode = BillingResponse.userCanceled; - const String debugMessage = 'dummy message'; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const debugMessage = 'dummy message'; + const expectedBillingResult = BillingResultWrapper( responseCode: expectedCode, debugMessage: debugMessage, ); @@ -536,8 +528,8 @@ void main() { group('queryPurchaseHistory', () { test('handles empty purchases', () async { const BillingResponse expectedCode = BillingResponse.userCanceled; - const String debugMessage = 'dummy message'; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const debugMessage = 'dummy message'; + const expectedBillingResult = BillingResultWrapper( responseCode: expectedCode, debugMessage: debugMessage, ); @@ -561,10 +553,10 @@ void main() { group('consume purchases', () { test('consume purchase async success', () async { - const String token = 'dummy token'; + const token = 'dummy token'; const BillingResponse expectedCode = BillingResponse.ok; - const String debugMessage = 'dummy message'; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const debugMessage = 'dummy message'; + const expectedBillingResult = BillingResultWrapper( responseCode: expectedCode, debugMessage: debugMessage, ); @@ -581,10 +573,10 @@ void main() { group('acknowledge purchases', () { test('acknowledge purchase success', () async { - const String token = 'dummy token'; + const token = 'dummy token'; const BillingResponse expectedCode = BillingResponse.ok; - const String debugMessage = 'dummy message'; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const debugMessage = 'dummy message'; + const expectedBillingResult = BillingResultWrapper( responseCode: expectedCode, debugMessage: debugMessage, ); @@ -623,7 +615,7 @@ void main() { group('billingConfig', () { test('billingConfig returns object', () async { - const BillingConfigWrapper expected = BillingConfigWrapper( + const expected = BillingConfigWrapper( countryCode: 'US', responseCode: BillingResponse.ok, debugMessage: '', @@ -640,7 +632,7 @@ void main() { group('isAlternativeBillingOnlyAvailable', () { test('returns object', () async { - const BillingResultWrapper expected = BillingResultWrapper( + const expected = BillingResultWrapper( responseCode: BillingResponse.ok, debugMessage: 'message', ); @@ -658,12 +650,11 @@ void main() { group('createAlternativeBillingOnlyReportingDetails', () { test('returns object', () async { - const AlternativeBillingOnlyReportingDetailsWrapper expected = - AlternativeBillingOnlyReportingDetailsWrapper( - responseCode: BillingResponse.ok, - debugMessage: 'debug', - externalTransactionToken: 'abc123youandme', - ); + const expected = AlternativeBillingOnlyReportingDetailsWrapper( + responseCode: BillingResponse.ok, + debugMessage: 'debug', + externalTransactionToken: 'abc123youandme', + ); when( mockApi.createAlternativeBillingOnlyReportingDetailsAsync(), ).thenAnswer( @@ -678,7 +669,7 @@ void main() { group('showAlternativeBillingOnlyInformationDialog', () { test('returns object', () async { - const BillingResultWrapper expected = BillingResultWrapper( + const expected = BillingResultWrapper( responseCode: BillingResponse.ok, debugMessage: 'message', ); diff --git a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/product_details_wrapper_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/product_details_wrapper_test.dart index 63564bf7b46..a2277eaff96 100644 --- a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/product_details_wrapper_test.dart +++ b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/product_details_wrapper_test.dart @@ -40,74 +40,72 @@ void main() { group('BillingResultWrapper', () { test('operator == of ProductDetailsWrapper works fine', () { - const ProductDetailsWrapper firstProductDetailsInstance = - ProductDetailsWrapper( - description: 'description', - title: 'title', - productType: ProductType.inapp, - name: 'name', - productId: 'productId', - oneTimePurchaseOfferDetails: OneTimePurchaseOfferDetailsWrapper( - formattedPrice: 'formattedPrice', - priceAmountMicros: 10, - priceCurrencyCode: 'priceCurrencyCode', - ), - subscriptionOfferDetails: [ - SubscriptionOfferDetailsWrapper( - basePlanId: 'basePlanId', - offerTags: ['offerTags'], - offerIdToken: 'offerToken', - pricingPhases: [ - PricingPhaseWrapper( - billingCycleCount: 4, - billingPeriod: 'billingPeriod', - formattedPrice: 'formattedPrice', - priceAmountMicros: 10, - priceCurrencyCode: 'priceCurrencyCode', - recurrenceMode: RecurrenceMode.finiteRecurring, - ), - ], - installmentPlanDetails: InstallmentPlanDetailsWrapper( - commitmentPaymentsCount: 1, - subsequentCommitmentPaymentsCount: 2, - ), + const firstProductDetailsInstance = ProductDetailsWrapper( + description: 'description', + title: 'title', + productType: ProductType.inapp, + name: 'name', + productId: 'productId', + oneTimePurchaseOfferDetails: OneTimePurchaseOfferDetailsWrapper( + formattedPrice: 'formattedPrice', + priceAmountMicros: 10, + priceCurrencyCode: 'priceCurrencyCode', + ), + subscriptionOfferDetails: [ + SubscriptionOfferDetailsWrapper( + basePlanId: 'basePlanId', + offerTags: ['offerTags'], + offerIdToken: 'offerToken', + pricingPhases: [ + PricingPhaseWrapper( + billingCycleCount: 4, + billingPeriod: 'billingPeriod', + formattedPrice: 'formattedPrice', + priceAmountMicros: 10, + priceCurrencyCode: 'priceCurrencyCode', + recurrenceMode: RecurrenceMode.finiteRecurring, ), ], - ); - const ProductDetailsWrapper secondProductDetailsInstance = - ProductDetailsWrapper( - description: 'description', - title: 'title', - productType: ProductType.inapp, - name: 'name', - productId: 'productId', - oneTimePurchaseOfferDetails: OneTimePurchaseOfferDetailsWrapper( - formattedPrice: 'formattedPrice', - priceAmountMicros: 10, - priceCurrencyCode: 'priceCurrencyCode', + installmentPlanDetails: InstallmentPlanDetailsWrapper( + commitmentPaymentsCount: 1, + subsequentCommitmentPaymentsCount: 2, ), - subscriptionOfferDetails: [ - SubscriptionOfferDetailsWrapper( - basePlanId: 'basePlanId', - offerTags: ['offerTags'], - offerIdToken: 'offerToken', - pricingPhases: [ - PricingPhaseWrapper( - billingCycleCount: 4, - billingPeriod: 'billingPeriod', - formattedPrice: 'formattedPrice', - priceAmountMicros: 10, - priceCurrencyCode: 'priceCurrencyCode', - recurrenceMode: RecurrenceMode.finiteRecurring, - ), - ], - installmentPlanDetails: InstallmentPlanDetailsWrapper( - commitmentPaymentsCount: 1, - subsequentCommitmentPaymentsCount: 2, - ), + ), + ], + ); + const secondProductDetailsInstance = ProductDetailsWrapper( + description: 'description', + title: 'title', + productType: ProductType.inapp, + name: 'name', + productId: 'productId', + oneTimePurchaseOfferDetails: OneTimePurchaseOfferDetailsWrapper( + formattedPrice: 'formattedPrice', + priceAmountMicros: 10, + priceCurrencyCode: 'priceCurrencyCode', + ), + subscriptionOfferDetails: [ + SubscriptionOfferDetailsWrapper( + basePlanId: 'basePlanId', + offerTags: ['offerTags'], + offerIdToken: 'offerToken', + pricingPhases: [ + PricingPhaseWrapper( + billingCycleCount: 4, + billingPeriod: 'billingPeriod', + formattedPrice: 'formattedPrice', + priceAmountMicros: 10, + priceCurrencyCode: 'priceCurrencyCode', + recurrenceMode: RecurrenceMode.finiteRecurring, ), ], - ); + installmentPlanDetails: InstallmentPlanDetailsWrapper( + commitmentPaymentsCount: 1, + subsequentCommitmentPaymentsCount: 2, + ), + ), + ], + ); expect( firstProductDetailsInstance == secondProductDetailsInstance, isTrue, @@ -115,16 +113,14 @@ void main() { }); test('operator == of BillingResultWrapper works fine', () { - const BillingResultWrapper firstBillingResultInstance = - BillingResultWrapper( - responseCode: BillingResponse.ok, - debugMessage: 'debugMessage', - ); - const BillingResultWrapper secondBillingResultInstance = - BillingResultWrapper( - responseCode: BillingResponse.ok, - debugMessage: 'debugMessage', - ); + const firstBillingResultInstance = BillingResultWrapper( + responseCode: BillingResponse.ok, + debugMessage: 'debugMessage', + ); + const secondBillingResultInstance = BillingResultWrapper( + responseCode: BillingResponse.ok, + debugMessage: 'debugMessage', + ); expect(firstBillingResultInstance == secondBillingResultInstance, isTrue); }); }); diff --git a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart index 93fec10b283..48a31577cbf 100644 --- a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart +++ b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart @@ -47,8 +47,8 @@ void main() { group('consume purchases', () { test('consume purchase async success', () async { const BillingResponse expectedCode = BillingResponse.ok; - const String debugMessage = 'dummy message'; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const debugMessage = 'dummy message'; + const expectedBillingResult = BillingResultWrapper( responseCode: expectedCode, debugMessage: debugMessage, ); @@ -66,8 +66,8 @@ void main() { group('billingConfig', () { test('getCountryCode success', () async { - const String expectedCountryCode = 'US'; - const BillingConfigWrapper expected = BillingConfigWrapper( + const expectedCountryCode = 'US'; + const expected = BillingConfigWrapper( countryCode: expectedCountryCode, responseCode: BillingResponse.ok, debugMessage: 'dummy message', @@ -122,7 +122,7 @@ void main() { group('isAlternativeBillingOnlyAvailable', () { test('isAlternativeBillingOnlyAvailable success', () async { - const BillingResultWrapper expected = BillingResultWrapper( + const expected = BillingResultWrapper( responseCode: BillingResponse.ok, debugMessage: 'dummy message', ); @@ -142,7 +142,7 @@ void main() { group('showAlternativeBillingOnlyInformationDialog', () { test('showAlternativeBillingOnlyInformationDialog success', () async { - const BillingResultWrapper expected = BillingResultWrapper( + const expected = BillingResultWrapper( responseCode: BillingResponse.ok, debugMessage: 'dummy message', ); @@ -163,7 +163,7 @@ void main() { group('queryPastPurchase', () { group('queryPurchaseDetails', () { test('returns ProductDetailsResponseWrapper', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const PlatformBillingResponse responseCode = PlatformBillingResponse.ok; when(mockApi.queryPurchasesAsync(any)).thenAnswer( @@ -231,7 +231,7 @@ void main() { test('called', () async { final Future futureDetails = iapAndroidPlatformAddition.userChoiceDetailsStream.first; - const UserChoiceDetailsWrapper expected = UserChoiceDetailsWrapper( + const expected = UserChoiceDetailsWrapper( originalExternalTransactionId: 'TransactionId', externalTransactionToken: 'TransactionToken', products: [ diff --git a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart index 908e89542aa..c29edc9e861 100644 --- a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart +++ b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart @@ -140,7 +140,7 @@ void main() { group('queryProductDetails', () { test('handles empty productDetails', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const PlatformBillingResponse responseCode = PlatformBillingResponse.ok; when(mockApi.queryProductDetailsAsync(any)).thenAnswer( (_) async => PlatformProductDetailsResponse( @@ -158,7 +158,7 @@ void main() { }); test('should get correct product details', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const PlatformBillingResponse responseCode = PlatformBillingResponse.ok; when(mockApi.queryProductDetailsAsync(any)).thenAnswer( (_) async => PlatformProductDetailsResponse( @@ -191,7 +191,7 @@ void main() { }); test('should get the correct notFoundIDs', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const PlatformBillingResponse responseCode = PlatformBillingResponse.ok; when(mockApi.queryProductDetailsAsync(any)).thenAnswer( (_) async => PlatformProductDetailsResponse( @@ -268,8 +268,7 @@ void main() { }); test('returns ProductDetailsResponseWrapper', () async { - final Completer> completer = - Completer>(); + final completer = Completer>(); final Stream> stream = iapAndroidPlatform.purchaseStream; @@ -281,7 +280,7 @@ void main() { } }); - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const PlatformBillingResponse responseCode = PlatformBillingResponse.ok; when(mockApi.queryPurchasesAsync(any)).thenAnswer( @@ -301,9 +300,8 @@ void main() { final List restoredPurchases = await completer.future; expect(restoredPurchases.length, 2); - for (final PurchaseDetails element in restoredPurchases) { - final GooglePlayPurchaseDetails purchase = - element as GooglePlayPurchaseDetails; + for (final element in restoredPurchases) { + final purchase = element as GooglePlayPurchaseDetails; expect(purchase.productID, dummyPurchase.products.first); expect(purchase.purchaseID, dummyPurchase.orderId); @@ -329,10 +327,10 @@ void main() { () async { const ProductDetailsWrapper productDetails = dummySubscriptionProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -364,8 +362,7 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer completer = - Completer(); + final completer = Completer(); PurchaseDetails purchaseDetails; final Stream> purchaseStream = iapAndroidPlatform.purchaseStream; @@ -375,7 +372,7 @@ void main() { completer.complete(purchaseDetails); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( offerToken: productDetails.subscriptionOfferDetails?.first.offerIdToken, productDetails: GooglePlayProductDetails.fromProductDetails( @@ -397,10 +394,10 @@ void main() { test('buy non consumable, serializes and deserializes data', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -432,7 +429,7 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer completer = Completer(); + final completer = Completer(); PurchaseDetails purchaseDetails; final Stream> purchaseStream = iapAndroidPlatform.purchaseStream; @@ -442,7 +439,7 @@ void main() { completer.complete(purchaseDetails); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( productDetails: GooglePlayProductDetails.fromProductDetails( productDetails, ).first, @@ -461,10 +458,10 @@ void main() { test('handles an error with an empty purchases list', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.error; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -481,7 +478,7 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer completer = Completer(); + final completer = Completer(); PurchaseDetails purchaseDetails; final Stream> purchaseStream = iapAndroidPlatform.purchaseStream; @@ -491,7 +488,7 @@ void main() { completer.complete(purchaseDetails); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( productDetails: GooglePlayProductDetails.fromProductDetails( productDetails, ).first, @@ -510,10 +507,10 @@ void main() { 'buy consumable with auto consume, serializes and deserializes data', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -545,25 +542,22 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer consumeCompleter = Completer(); + final consumeCompleter = Completer(); // adding call back for consume purchase const BillingResponse expectedCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResultForConsume = - BillingResultWrapper( - responseCode: expectedCode, - debugMessage: debugMessage, - ); + const expectedBillingResultForConsume = BillingResultWrapper( + responseCode: expectedCode, + debugMessage: debugMessage, + ); when(mockApi.consumeAsync(any)).thenAnswer(( Invocation invocation, ) async { - final String purchaseToken = - invocation.positionalArguments.first as String; + final purchaseToken = invocation.positionalArguments.first as String; consumeCompleter.complete(purchaseToken); return convertToPigeonResult(expectedBillingResultForConsume); }); - final Completer completer = - Completer(); + final completer = Completer(); PurchaseDetails purchaseDetails; final Stream> purchaseStream = iapAndroidPlatform.purchaseStream; @@ -573,7 +567,7 @@ void main() { completer.complete(purchaseDetails); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( productDetails: GooglePlayProductDetails.fromProductDetails( productDetails, ).first, @@ -584,8 +578,7 @@ void main() { ); // Verify that the result has succeeded - final GooglePlayPurchaseDetails result = - await completer.future as GooglePlayPurchaseDetails; + final result = await completer.future as GooglePlayPurchaseDetails; expect(launchResult, isTrue); expect(result.billingClientPurchase, isNotNull); expect( @@ -600,9 +593,9 @@ void main() { test( 'buyNonConsumable propagates failures to launch the billing flow', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.error; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -626,9 +619,9 @@ void main() { test( 'buyConsumable propagates failures to launch the billing flow', () async { - const String debugMessage = 'dummy message'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.developerError; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -651,10 +644,10 @@ void main() { test('adds consumption failures to PurchaseDetails objects', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -685,22 +678,20 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer consumeCompleter = Completer(); + final consumeCompleter = Completer(); // adding call back for consume purchase const BillingResponse expectedCode = BillingResponse.error; - const BillingResultWrapper expectedBillingResultForConsume = - BillingResultWrapper( - responseCode: expectedCode, - debugMessage: debugMessage, - ); + const expectedBillingResultForConsume = BillingResultWrapper( + responseCode: expectedCode, + debugMessage: debugMessage, + ); when(mockApi.consumeAsync(any)).thenAnswer((Invocation invocation) async { - final String purchaseToken = - invocation.positionalArguments.first as String; + final purchaseToken = invocation.positionalArguments.first as String; consumeCompleter.complete(purchaseToken); return convertToPigeonResult(expectedBillingResultForConsume); }); - final Completer completer = Completer(); + final completer = Completer(); PurchaseDetails purchaseDetails; final Stream> purchaseStream = iapAndroidPlatform.purchaseStream; @@ -710,7 +701,7 @@ void main() { completer.complete(purchaseDetails); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( productDetails: GooglePlayProductDetails.fromProductDetails( productDetails, ).first, @@ -719,8 +710,7 @@ void main() { await iapAndroidPlatform.buyConsumable(purchaseParam: purchaseParam); // Verify that the result has an error for the failed consumption - final GooglePlayPurchaseDetails result = - await completer.future as GooglePlayPurchaseDetails; + final result = await completer.future as GooglePlayPurchaseDetails; expect(result.billingClientPurchase, isNotNull); expect( result.billingClientPurchase.purchaseToken, @@ -735,10 +725,10 @@ void main() { 'buy consumable without auto consume, consume api should not receive calls', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.developerError; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -770,19 +760,17 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer consumeCompleter = Completer(); + final consumeCompleter = Completer(); // adding call back for consume purchase const BillingResponse expectedCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResultForConsume = - BillingResultWrapper( - responseCode: expectedCode, - debugMessage: debugMessage, - ); + const expectedBillingResultForConsume = BillingResultWrapper( + responseCode: expectedCode, + debugMessage: debugMessage, + ); when(mockApi.consumeAsync(any)).thenAnswer(( Invocation invocation, ) async { - final String purchaseToken = - invocation.positionalArguments.first as String; + final purchaseToken = invocation.positionalArguments.first as String; consumeCompleter.complete(purchaseToken); return convertToPigeonResult(expectedBillingResultForConsume); }); @@ -794,7 +782,7 @@ void main() { consumeCompleter.complete(null); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( productDetails: GooglePlayProductDetails.fromProductDetails( productDetails, ).first, @@ -812,10 +800,10 @@ void main() { 'should get canceled purchase status when response code is BillingResponse.userCanceled', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.userCanceled; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -846,25 +834,22 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer consumeCompleter = Completer(); + final consumeCompleter = Completer(); // adding call back for consume purchase const BillingResponse expectedCode = BillingResponse.userCanceled; - const BillingResultWrapper expectedBillingResultForConsume = - BillingResultWrapper( - responseCode: expectedCode, - debugMessage: debugMessage, - ); + const expectedBillingResultForConsume = BillingResultWrapper( + responseCode: expectedCode, + debugMessage: debugMessage, + ); when(mockApi.consumeAsync(any)).thenAnswer(( Invocation invocation, ) async { - final String purchaseToken = - invocation.positionalArguments.first as String; + final purchaseToken = invocation.positionalArguments.first as String; consumeCompleter.complete(purchaseToken); return convertToPigeonResult(expectedBillingResultForConsume); }); - final Completer completer = - Completer(); + final completer = Completer(); PurchaseDetails purchaseDetails; final Stream> purchaseStream = iapAndroidPlatform.purchaseStream; @@ -874,7 +859,7 @@ void main() { completer.complete(purchaseDetails); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( productDetails: GooglePlayProductDetails.fromProductDetails( productDetails, ).first, @@ -883,8 +868,7 @@ void main() { await iapAndroidPlatform.buyConsumable(purchaseParam: purchaseParam); // Verify that the result has an error for the failed consumption - final GooglePlayPurchaseDetails result = - await completer.future as GooglePlayPurchaseDetails; + final result = await completer.future as GooglePlayPurchaseDetails; expect(result.status, PurchaseStatus.canceled); }, ); @@ -893,10 +877,10 @@ void main() { 'should get purchased purchase status when upgrading subscription by deferred proration mode', () async { const ProductDetailsWrapper productDetails = dummyOneTimeProductDetails; - const String accountId = 'hashedAccountId'; - const String debugMessage = 'dummy message'; + const accountId = 'hashedAccountId'; + const debugMessage = 'dummy message'; const BillingResponse sentCode = BillingResponse.ok; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const expectedBillingResult = BillingResultWrapper( responseCode: sentCode, debugMessage: debugMessage, ); @@ -913,8 +897,7 @@ void main() { return convertToPigeonResult(expectedBillingResult); }); - final Completer completer = - Completer(); + final completer = Completer(); PurchaseDetails purchaseDetails; final Stream> purchaseStream = iapAndroidPlatform.purchaseStream; @@ -924,7 +907,7 @@ void main() { completer.complete(purchaseDetails); subscription.cancel(); }, onDone: () {}); - final GooglePlayPurchaseParam purchaseParam = GooglePlayPurchaseParam( + final purchaseParam = GooglePlayPurchaseParam( productDetails: GooglePlayProductDetails.fromProductDetails( productDetails, ).first, @@ -947,8 +930,8 @@ void main() { group('complete purchase', () { test('complete purchase success', () async { const BillingResponse expectedCode = BillingResponse.ok; - const String debugMessage = 'dummy message'; - const BillingResultWrapper expectedBillingResult = BillingResultWrapper( + const debugMessage = 'dummy message'; + const expectedBillingResult = BillingResultWrapper( responseCode: expectedCode, debugMessage: debugMessage, ); @@ -959,8 +942,7 @@ void main() { GooglePlayPurchaseDetails.fromPurchase( dummyUnacknowledgedPurchase, ).first; - final Completer completer = - Completer(); + final completer = Completer(); purchaseDetails.status = PurchaseStatus.purchased; if (purchaseDetails.pendingCompletePurchase) { final BillingResultWrapper billingResultWrapper = @@ -974,8 +956,8 @@ void main() { group('billingConfig', () { test('getCountryCode success', () async { - const String expectedCountryCode = 'US'; - const BillingConfigWrapper expected = BillingConfigWrapper( + const expectedCountryCode = 'US'; + const expected = BillingConfigWrapper( countryCode: expectedCountryCode, responseCode: BillingResponse.ok, debugMessage: 'dummy message', diff --git a/packages/in_app_purchase/in_app_purchase_android/test/types/translator_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/types/translator_test.dart index 6add39629e2..0d96b456d56 100644 --- a/packages/in_app_purchase/in_app_purchase_android/test/types/translator_test.dart +++ b/packages/in_app_purchase/in_app_purchase_android/test/types/translator_test.dart @@ -22,12 +22,11 @@ void main() { }); test('convertToUserChoiceDetailsProduct', () { - const GooglePlayUserChoiceDetailsProduct expected = - GooglePlayUserChoiceDetailsProduct( - id: 'id', - offerToken: 'offerToken', - productType: GooglePlayProductType.inapp, - ); + const expected = GooglePlayUserChoiceDetailsProduct( + id: 'id', + offerToken: 'offerToken', + productType: GooglePlayProductType.inapp, + ); expect( Translator.convertToUserChoiceDetailsProduct( UserChoiceDetailsProductWrapper( @@ -40,19 +39,17 @@ void main() { ); }); test('convertToUserChoiceDetailsProduct', () { - const GooglePlayUserChoiceDetailsProduct expectedProduct1 = - GooglePlayUserChoiceDetailsProduct( - id: 'id1', - offerToken: 'offerToken1', - productType: GooglePlayProductType.inapp, - ); - const GooglePlayUserChoiceDetailsProduct expectedProduct2 = - GooglePlayUserChoiceDetailsProduct( - id: 'id2', - offerToken: 'offerToken2', - productType: GooglePlayProductType.subs, - ); - const GooglePlayUserChoiceDetails expected = GooglePlayUserChoiceDetails( + const expectedProduct1 = GooglePlayUserChoiceDetailsProduct( + id: 'id1', + offerToken: 'offerToken1', + productType: GooglePlayProductType.inapp, + ); + const expectedProduct2 = GooglePlayUserChoiceDetailsProduct( + id: 'id2', + offerToken: 'offerToken2', + productType: GooglePlayProductType.subs, + ); + const expected = GooglePlayUserChoiceDetails( originalExternalTransactionId: 'originalExternalTransactionId', externalTransactionToken: 'externalTransactionToken', products: [ diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/test/in_app_purchase_platform_test.dart b/packages/in_app_purchase/in_app_purchase_platform_interface/test/in_app_purchase_platform_test.dart index 30377ce0e93..350fd26d1b8 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/test/in_app_purchase_platform_test.dart +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/test/in_app_purchase_platform_test.dart @@ -35,8 +35,7 @@ void main() { test( 'Default implementation of purchaseStream should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.purchaseStream, @@ -48,8 +47,7 @@ void main() { test( 'Default implementation of isAvailable should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.isAvailable(), @@ -61,8 +59,7 @@ void main() { test( 'Default implementation of queryProductDetails should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.queryProductDetails({''}), @@ -74,8 +71,7 @@ void main() { test( 'Default implementation of buyNonConsumable should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.buyNonConsumable( @@ -89,8 +85,7 @@ void main() { test( 'Default implementation of buyConsumable should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.buyConsumable( @@ -104,8 +99,7 @@ void main() { test( 'Default implementation of completePurchase should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.completePurchase(MockPurchaseDetails()), @@ -117,8 +111,7 @@ void main() { test( 'Default implementation of restorePurchases should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.restorePurchases(), @@ -130,8 +123,7 @@ void main() { test( 'Default implementation of countryCode should throw unimplemented error', () { - final ExtendsInAppPurchasePlatform inAppPurchasePlatform = - ExtendsInAppPurchasePlatform(); + final inAppPurchasePlatform = ExtendsInAppPurchasePlatform(); expect( () => inAppPurchasePlatform.countryCode(), @@ -170,16 +162,14 @@ void main() { test('Provider can provide', () { ImplementsInAppPurchasePlatformAdditionProvider.register(); - final ImplementsInAppPurchasePlatformAdditionProvider provider = - ImplementsInAppPurchasePlatformAdditionProvider(); + final provider = ImplementsInAppPurchasePlatformAdditionProvider(); final InAppPurchasePlatformAddition? addition = provider .getPlatformAddition(); expect(addition.runtimeType, ExtendsInAppPurchasePlatformAddition); }); test('Provider can provide `null`', () { - final ImplementsInAppPurchasePlatformAdditionProvider provider = - ImplementsInAppPurchasePlatformAdditionProvider(); + final provider = ImplementsInAppPurchasePlatformAdditionProvider(); final InAppPurchasePlatformAddition? addition = provider .getPlatformAddition(); expect(addition, isNull); diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_error_test.dart b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_error_test.dart index 8d329bddc96..e923536b860 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_error_test.dart +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_error_test.dart @@ -7,7 +7,7 @@ import 'package:in_app_purchase_platform_interface/src/errors/in_app_purchase_er void main() { test('toString: Should return a description of the error', () { - final IAPError exceptionNoDetails = IAPError( + final exceptionNoDetails = IAPError( code: 'error_code', message: 'dummy_message', source: 'dummy_source', @@ -18,7 +18,7 @@ void main() { 'IAPError(code: error_code, source: dummy_source, message: dummy_message, details: null)', ); - final IAPError exceptionWithDetails = IAPError( + final exceptionWithDetails = IAPError( code: 'error_code', message: 'dummy_message', source: 'dummy_source', diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_exception_test.dart b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_exception_test.dart index a4735fef3d7..1b376a8422f 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_exception_test.dart +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/errors/in_app_purchase_exception_test.dart @@ -7,14 +7,14 @@ import 'package:in_app_purchase_platform_interface/src/errors/in_app_purchase_ex void main() { test('toString: Should return a description of the exception', () { - final InAppPurchaseException exception = InAppPurchaseException( + final exception = InAppPurchaseException( code: 'error_code', message: 'dummy message', source: 'dummy_source', ); // Act - final String actual = exception.toString(); + final actual = exception.toString(); // Assert expect( diff --git a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart index 40b3647188a..86a7d25b66b 100644 --- a/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart +++ b/packages/in_app_purchase/in_app_purchase_platform_interface/test/src/types/product_details_test.dart @@ -10,7 +10,7 @@ void main() { test( 'fromSkProduct should correctly parse data from a SKProductWrapper instance.', () { - final ProductDetails productDetails = ProductDetails( + final productDetails = ProductDetails( id: 'id', title: 'title', description: 'description', diff --git a/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart index f0e0431d4df..3a0e5a449ac 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart @@ -140,7 +140,7 @@ class _MyAppState extends State<_MyApp> { @override Widget build(BuildContext context) { - final List stack = []; + final stack = []; if (_queryProductError == null) { stack.add( ListView( @@ -192,7 +192,7 @@ class _MyAppState extends State<_MyApp> { 'The store is ${_isAvailable ? 'available' : 'unavailable'}.', ), ); - final List children = [storeHeader]; + final children = [storeHeader]; if (!_isAvailable) { children.addAll([ @@ -223,19 +223,19 @@ class _MyAppState extends State<_MyApp> { if (!_isAvailable) { return const Card(); } - const ListTile productHeader = ListTile( + const productHeader = ListTile( title: Text( 'Products for Sale', style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), ), ); - const ListTile promoHeader = ListTile( + const promoHeader = ListTile( title: Text( 'Products in promo', style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), ), ); - final List productList = []; + final productList = []; if (_notFoundIds.isNotEmpty) { productList.add( ListTile( @@ -253,18 +253,14 @@ class _MyAppState extends State<_MyApp> { // This loading previous purchases code is just a demo. Please do not use this as it is. // In your app you should always verify the purchase data using the `verificationData` inside the [PurchaseDetails] object before trusting it. // We recommend that you use your own server to verify the purchase data. - final Map purchases = - Map.fromEntries( - _purchases.map((PurchaseDetails purchase) { - if (purchase.pendingCompletePurchase) { - _iapStoreKitPlatform.completePurchase(purchase); - } - return MapEntry( - purchase.productID, - purchase, - ); - }), - ); + final purchases = Map.fromEntries( + _purchases.map((PurchaseDetails purchase) { + if (purchase.pendingCompletePurchase) { + _iapStoreKitPlatform.completePurchase(purchase); + } + return MapEntry(purchase.productID, purchase); + }), + ); productList.addAll( _products.map((ProductDetails productDetails) { final PurchaseDetails? previousPurchase = purchases[productDetails.id]; @@ -284,7 +280,7 @@ class _MyAppState extends State<_MyApp> { foregroundColor: Colors.white, ), onPressed: () { - final PurchaseParam purchaseParam = PurchaseParam( + final purchaseParam = PurchaseParam( productDetails: productDetails, ); if (productDetails.id == _kConsumableId) { @@ -339,7 +335,7 @@ class _MyAppState extends State<_MyApp> { } Future> _buildPromoList() async { - final List promoList = []; + final promoList = []; for (final ProductDetails detail in _products) { if (detail is AppStoreProduct2Details) { final SK2SubscriptionInfo? subscription = @@ -347,7 +343,7 @@ class _MyAppState extends State<_MyApp> { final List offers = subscription?.promotionalOffers ?? []; - for (final SK2SubscriptionOffer offer in offers) { + for (final offer in offers) { if (offer.type == SK2SubscriptionOfferType.winBack) { final bool eligible = await _iapStoreKitPlatform .isWinBackOfferEligible(detail.id, offer.id ?? ''); @@ -377,7 +373,7 @@ class _MyAppState extends State<_MyApp> { foregroundColor: Colors.white, ), onPressed: () { - final Sk2PurchaseParam purchaseParam = Sk2PurchaseParam.fromOffer( + final purchaseParam = Sk2PurchaseParam.fromOffer( productDetails: productDetails, offer: offer, signature: SK2SubscriptionOfferSignature( @@ -407,9 +403,7 @@ class _MyAppState extends State<_MyApp> { if (!_isAvailable || _notFoundIds.contains(_kConsumableId)) { return const Card(); } - const ListTile consumableHeader = ListTile( - title: Text('Purchased consumables'), - ); + const consumableHeader = ListTile(title: Text('Purchased consumables')); final List tokens = _consumables.map((String id) { return GridTile( child: IconButton( diff --git a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart index 831136fdc31..05c0262027e 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/in_app_purchase_storekit_platform.dart @@ -68,7 +68,7 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { _skPaymentQueueWrapper = SKPaymentQueueWrapper(); if (_useStoreKit2) { - final StreamController> updateController2 = + final updateController2 = StreamController>.broadcast( onListen: () => SK2Transaction.startListeningToTransactions(), onCancel: () => SK2Transaction.stopListeningToTransactions(), @@ -80,7 +80,7 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { } else { // Create a purchaseUpdatedController and notify the native side when to // start of stop sending updates. - final StreamController> updateController = + final updateController = StreamController>.broadcast( onListen: () => _skPaymentQueueWrapper.startObservingTransactionQueue(), @@ -272,7 +272,7 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { Set identifiers, ) async { if (_useStoreKit2) { - List products = []; + var products = []; Set invalidProductIdentifiers; PlatformException? exception; try { @@ -293,7 +293,7 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { AppStoreProduct2Details.fromSK2Product(productWrapper), ) .toList(); - final ProductDetailsResponse response = ProductDetailsResponse( + final response = ProductDetailsResponse( productDetails: productDetails, notFoundIDs: invalidProductIdentifiers.toList(), error: exception == null @@ -307,7 +307,7 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { ); return response; } - final SKRequestMaker requestMaker = SKRequestMaker(); + final requestMaker = SKRequestMaker(); SkProductResponseWrapper response; PlatformException? exception; try { @@ -319,7 +319,7 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { invalidProductIdentifiers: identifiers.toList(), ); } - List productDetails = []; + var productDetails = []; productDetails = response.products .map( (SKProductWrapper productWrapper) => @@ -330,19 +330,18 @@ class InAppPurchaseStoreKitPlatform extends InAppPurchasePlatform { if (productDetails.isEmpty) { invalidIdentifiers = identifiers.toList(); } - final ProductDetailsResponse productDetailsResponse = - ProductDetailsResponse( - productDetails: productDetails, - notFoundIDs: invalidIdentifiers, - error: exception == null - ? null - : IAPError( - source: kIAPSource, - code: exception.code, - message: exception.message ?? '', - details: exception.details, - ), - ); + final productDetailsResponse = ProductDetailsResponse( + productDetails: productDetails, + notFoundIDs: invalidIdentifiers, + error: exception == null + ? null + : IAPError( + source: kIAPSource, + code: exception.code, + message: exception.message ?? '', + details: exception.details, + ), + ); return productDetailsResponse; } diff --git a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart index 4a8a5728d39..d36041d6ec3 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart @@ -239,7 +239,7 @@ class SKPaymentQueueWrapper { } case 'restoreCompletedTransactionsFailed': { - final SKError error = SKError.fromJson( + final error = SKError.fromJson( Map.from(call.arguments as Map), ); return Future(() { @@ -254,13 +254,12 @@ class SKPaymentQueueWrapper { } case 'shouldAddStorePayment': { - final Map arguments = - call.arguments as Map; - final SKPaymentWrapper payment = SKPaymentWrapper.fromJson( + final arguments = call.arguments as Map; + final payment = SKPaymentWrapper.fromJson( (arguments['payment']! as Map) .cast(), ); - final SKProductWrapper product = SKProductWrapper.fromJson( + final product = SKProductWrapper.fromJson( (arguments['product']! as Map) .cast(), ); @@ -310,14 +309,12 @@ class SKPaymentQueueWrapper { final SKPaymentQueueDelegateWrapper delegate = _paymentQueueDelegate!; switch (call.method) { case 'shouldContinueTransaction': - final Map arguments = - call.arguments as Map; - final SKPaymentTransactionWrapper transaction = - SKPaymentTransactionWrapper.fromJson( - (arguments['transaction']! as Map) - .cast(), - ); - final SKStorefrontWrapper storefront = SKStorefrontWrapper.fromJson( + final arguments = call.arguments as Map; + final transaction = SKPaymentTransactionWrapper.fromJson( + (arguments['transaction']! as Map) + .cast(), + ); + final storefront = SKStorefrontWrapper.fromJson( (arguments['storefront']! as Map) .cast(), ); diff --git a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_details.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_details.dart index 5964137dc83..d55ca6c47a9 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_details.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_purchase_details.dart @@ -30,7 +30,7 @@ class AppStorePurchaseDetails extends PurchaseDetails { SKPaymentTransactionWrapper transaction, String base64EncodedReceipt, ) { - final AppStorePurchaseDetails purchaseDetails = AppStorePurchaseDetails( + final purchaseDetails = AppStorePurchaseDetails( productID: transaction.payment.productIdentifier, purchaseID: transaction.transactionIdentifier, skPaymentTransaction: transaction, diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/fakes/fake_storekit_platform.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/fakes/fake_storekit_platform.dart index 4b155205af5..6a4e1e9d76d 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/fakes/fake_storekit_platform.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/fakes/fake_storekit_platform.dart @@ -159,12 +159,12 @@ class FakeStoreKitPlatform implements InAppPurchaseAPI { @override Future addPayment(Map paymentMap) async { - final String id = paymentMap['productIdentifier']! as String; - final int quantity = paymentMap['quantity']! as int; + final id = paymentMap['productIdentifier']! as String; + final quantity = paymentMap['quantity']! as int; // Keep the received paymentDiscount parameter when testing payment with discount. if (paymentMap['applicationUsername']! == 'userWithDiscount') { - final Map? discountArgument = + final discountArgument = paymentMap['paymentDiscount'] as Map?; if (discountArgument != null) { discountReceived = discountArgument.cast(); @@ -272,17 +272,17 @@ class FakeStoreKitPlatform implements InAppPurchaseAPI { if (queryProductException != null) { throw queryProductException!; } - final List productIDS = productIdentifiers; - final List invalidFound = []; - final List products = []; - for (final String? productID in productIDS) { + final productIDS = productIdentifiers; + final invalidFound = []; + final products = []; + for (final productID in productIDS) { if (!validProductIDs.contains(productID)) { invalidFound.add(productID!); } else { products.add(validProducts[productID]!); } } - final SkProductResponseWrapper response = SkProductResponseWrapper( + final response = SkProductResponseWrapper( products: products, invalidProductIdentifiers: invalidFound, ); @@ -362,7 +362,7 @@ class FakeStoreKit2Platform implements InAppPurchase2API { validProductIDs = {'123', '456'}; validProducts = {}; for (final String validID in validProductIDs) { - final SK2Product product = SK2Product( + final product = SK2Product( id: validID, displayName: 'test_product', displayPrice: '0.99', @@ -402,15 +402,15 @@ class FakeStoreKit2Platform implements InAppPurchase2API { if (queryProductException != null) { throw queryProductException!; } - final List productIDS = identifiers; - final List products = []; - for (final String? productID in productIDS) { + final productIDS = identifiers; + final products = []; + for (final productID in productIDS) { if (validProductIDs.contains(productID)) { products.add(validProducts[productID]!); } } - final List result = []; - for (final SK2Product p in products) { + final result = []; + for (final p in products) { result.add(p.convertToPigeon()); } diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_2_platform_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_2_platform_test.dart index 8ce69c30066..3127d15a187 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_2_platform_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_2_platform_test.dart @@ -14,7 +14,7 @@ import 'package:in_app_purchase_storekit/store_kit_2_wrappers.dart'; import 'fakes/fake_storekit_platform.dart'; void main() { - final SK2Product dummyProductWrapper = SK2Product( + final dummyProductWrapper = SK2Product( id: '2', displayName: 'name', displayPrice: '0.99', @@ -26,8 +26,8 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final FakeStoreKit2Platform fakeStoreKit2Platform = FakeStoreKit2Platform(); - final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform(); + final fakeStoreKit2Platform = FakeStoreKit2Platform(); + final fakeStoreKitPlatform = FakeStoreKitPlatform(); late InAppPurchaseStoreKitPlatform iapStoreKitPlatform; @@ -55,8 +55,7 @@ void main() { group('query product list', () { test('should get product list and correct invalid identifiers', () async { - final InAppPurchaseStoreKitPlatform connection = - InAppPurchaseStoreKitPlatform(); + final connection = InAppPurchaseStoreKitPlatform(); final ProductDetailsResponse response = await connection .queryProductDetails({'123', '456', '789'}); final List products = response.productDetails; @@ -75,8 +74,7 @@ void main() { message: 'error_message', details: {'info': 'error_info'}, ); - final InAppPurchaseStoreKitPlatform connection = - InAppPurchaseStoreKitPlatform(); + final connection = InAppPurchaseStoreKitPlatform(); final ProductDetailsResponse response = await connection .queryProductDetails({'123', '456', '789'}); expect(response.productDetails, []); @@ -94,9 +92,8 @@ void main() { test( 'buying non consumable, should get purchase objects in the purchase update callback', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -110,7 +107,7 @@ void main() { subscription.cancel(); } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -129,9 +126,8 @@ void main() { test( 'buying consumable, should get purchase objects in the purchase update callback', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -145,7 +141,7 @@ void main() { subscription.cancel(); } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -160,7 +156,7 @@ void main() { ); test('buying consumable, should throw when autoConsume is false', () async { - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -178,9 +174,8 @@ void main() { test( 'buying consumable, should get PurchaseVerificationData with serverVerificationData and localVerificationData', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -194,7 +189,7 @@ void main() { subscription.cancel(); } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -217,7 +212,7 @@ void main() { ); test('should process Sk2PurchaseParam with winBackOfferId only', () async { - final Sk2PurchaseParam purchaseParam = Sk2PurchaseParam( + final purchaseParam = Sk2PurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -239,15 +234,14 @@ void main() { test( 'should process Sk2PurchaseParam with promotionalOffer only', () async { - final SK2SubscriptionOfferSignature fakeSignature = - SK2SubscriptionOfferSignature( - keyID: 'key123', - signature: 'signature123', - nonce: 'nonce123', - timestamp: 1234567890, - ); - - final Sk2PurchaseParam purchaseParam = Sk2PurchaseParam( + final fakeSignature = SK2SubscriptionOfferSignature( + keyID: 'key123', + signature: 'signature123', + nonce: 'nonce123', + timestamp: 1234567890, + ); + + final purchaseParam = Sk2PurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -283,7 +277,7 @@ void main() { test( 'should process Sk2PurchaseParam with no winBackOfferId or promotionalOffer', () async { - final Sk2PurchaseParam purchaseParam = Sk2PurchaseParam( + final purchaseParam = Sk2PurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -307,7 +301,7 @@ void main() { test( 'should pass quantity for consumable product with Sk2PurchaseParam', () async { - final Sk2PurchaseParam purchaseParam = Sk2PurchaseParam( + final purchaseParam = Sk2PurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -330,7 +324,7 @@ void main() { test( 'should default to quantity = 1 when not provided in Sk2PurchaseParam', () async { - final Sk2PurchaseParam purchaseParam = Sk2PurchaseParam( + final purchaseParam = Sk2PurchaseParam( productDetails: AppStoreProduct2Details.fromSK2Product( dummyProductWrapper, ), @@ -355,8 +349,7 @@ void main() { fakeStoreKit2Platform.transactionList.add( fakeStoreKit2Platform.createRestoredTransaction('foo', 'RT2'), ); - final Completer> completer = - Completer>(); + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -372,7 +365,7 @@ void main() { final List details = await completer.future; expect(details.length, 2); - for (int i = 0; i < fakeStoreKit2Platform.transactionList.length; i++) { + for (var i = 0; i < fakeStoreKit2Platform.transactionList.length; i++) { final SK2TransactionMessage expected = fakeStoreKit2Platform.transactionList[i]; final PurchaseDetails actual = details[i]; @@ -388,7 +381,7 @@ void main() { group('billing configuration', () { test('country_code', () async { - const String expectedCountryCode = 'ABC'; + const expectedCountryCode = 'ABC'; final String countryCode = await iapStoreKitPlatform.countryCode(); expect(countryCode, expectedCountryCode); }); diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_addtion_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_addtion_test.dart index 5e2ad208896..b73b6268139 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_addtion_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_addtion_test.dart @@ -12,7 +12,7 @@ import 'fakes/fake_storekit_platform.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform(); + final fakeStoreKitPlatform = FakeStoreKitPlatform(); setUpAll(() { setInAppPurchaseHostApis(api: fakeStoreKitPlatform); diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart index cf793c6c482..b22a023058b 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/in_app_purchase_storekit_platform_test.dart @@ -18,7 +18,7 @@ import 'store_kit_wrappers/sk_test_stub_objects.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform(); + final fakeStoreKitPlatform = FakeStoreKitPlatform(); late InAppPurchaseStoreKitPlatform iapStoreKitPlatform; setUpAll(() { @@ -43,8 +43,7 @@ void main() { group('query product list', () { test('should get product list and correct invalid identifiers', () async { - final InAppPurchaseStoreKitPlatform connection = - InAppPurchaseStoreKitPlatform(); + final connection = InAppPurchaseStoreKitPlatform(); final ProductDetailsResponse response = await connection .queryProductDetails({'123', '456', '789', '999'}); final List products = response.productDetails; @@ -66,8 +65,7 @@ void main() { message: 'error_message', details: {'info': 'error_info'}, ); - final InAppPurchaseStoreKitPlatform connection = - InAppPurchaseStoreKitPlatform(); + final connection = InAppPurchaseStoreKitPlatform(); final ProductDetailsResponse response = await connection .queryProductDetails({'123', '456', '789'}); expect(response.productDetails, []); @@ -91,8 +89,7 @@ void main() { 1, fakeStoreKitPlatform.createRestoredTransaction('foo', 'RT2'), ); - final Completer> completer = - Completer>(); + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -108,7 +105,7 @@ void main() { final List details = await completer.future; expect(details.length, 2); - for (int i = 0; i < fakeStoreKitPlatform.transactionList.length; i++) { + for (var i = 0; i < fakeStoreKitPlatform.transactionList.length; i++) { final SKPaymentTransactionWrapper expected = fakeStoreKitPlatform.transactionList[i]; final PurchaseDetails actual = details[i]; @@ -132,8 +129,7 @@ void main() { 'should emit empty transaction list on purchase stream when there is nothing to restore', () async { fakeStoreKitPlatform.testRestoredTransactionsNull = true; - final Completer?> completer = - Completer?>(); + final completer = Completer?>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -164,8 +160,7 @@ void main() { 2, fakeStoreKitPlatform.createRestoredTransaction('foo', 'RT2'), ); - final Completer> completer = - Completer>(); + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -179,7 +174,7 @@ void main() { await iapStoreKitPlatform.restorePurchases(); final List details = await completer.future; expect(details.length, 3); - for (int i = 0; i < fakeStoreKitPlatform.transactionList.length; i++) { + for (var i = 0; i < fakeStoreKitPlatform.transactionList.length; i++) { final SKPaymentTransactionWrapper expected = fakeStoreKitPlatform.transactionList[i]; final PurchaseDetails actual = details[i]; @@ -212,12 +207,10 @@ void main() { 0, fakeStoreKitPlatform.createPurchasedTransaction('foo', 'bar'), ); - final Completer>> completer = - Completer>>(); + final completer = Completer>>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; - final List> purchaseDetails = - >[]; + final purchaseDetails = >[]; late StreamSubscription> subscription; subscription = stream.listen(( @@ -234,7 +227,7 @@ void main() { final List> details = await completer.future; expect(details.length, 2); expect(details[0], >[]); - for (int i = 0; i < fakeStoreKitPlatform.transactionList.length; i++) { + for (var i = 0; i < fakeStoreKitPlatform.transactionList.length; i++) { final SKPaymentTransactionWrapper expected = fakeStoreKitPlatform.transactionList[i]; final PurchaseDetails actual = details[1][i]; @@ -273,8 +266,7 @@ void main() { fakeStoreKitPlatform.createRestoredTransaction('foo', 'RT2'), ); fakeStoreKitPlatform.receiptData = null; - final Completer> completer = - Completer>(); + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -291,7 +283,7 @@ void main() { await iapStoreKitPlatform.restorePurchases(); final List details = await completer.future; - for (final PurchaseDetails purchase in details) { + for (final purchase in details) { expect(purchase.verificationData.localVerificationData, isEmpty); expect(purchase.verificationData.serverVerificationData, isEmpty); } @@ -325,9 +317,8 @@ void main() { test( 'buying non consumable, should get purchase objects in the purchase update callback', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -341,7 +332,7 @@ void main() { subscription.cancel(); } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -360,9 +351,8 @@ void main() { test( 'buying consumable, should get purchase objects in the purchase update callback', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -376,7 +366,7 @@ void main() { subscription.cancel(); } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -391,7 +381,7 @@ void main() { ); test('buying consumable, should throw when autoConsume is false', () async { - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -408,8 +398,8 @@ void main() { test('should get failed purchase status', () async { fakeStoreKitPlatform.testTransactionFail = true; - final List details = []; - final Completer completer = Completer(); + final details = []; + final completer = Completer(); late IAPError error; final Stream> stream = @@ -417,7 +407,7 @@ void main() { late StreamSubscription> subscription; subscription = stream.listen((List purchaseDetailsList) { details.addAll(purchaseDetailsList); - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.status == PurchaseStatus.error) { error = purchaseDetails.error!; completer.complete(error); @@ -425,7 +415,7 @@ void main() { } } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -446,8 +436,8 @@ void main() { 'should get canceled purchase status when error code is SKErrorPaymentCancelled', () async { fakeStoreKitPlatform.testTransactionCancel = 2; - final List details = []; - final Completer completer = Completer(); + final details = []; + final completer = Completer(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -456,14 +446,14 @@ void main() { List purchaseDetailsList, ) { details.addAll(purchaseDetailsList); - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.status == PurchaseStatus.canceled) { completer.complete(purchaseDetails.status); subscription.cancel(); } } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -482,8 +472,8 @@ void main() { 'should get canceled purchase status when error code is SKErrorOverlayCancelled', () async { fakeStoreKitPlatform.testTransactionCancel = 15; - final List details = []; - final Completer completer = Completer(); + final details = []; + final completer = Completer(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -492,14 +482,14 @@ void main() { List purchaseDetailsList, ) { details.addAll(purchaseDetailsList); - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.status == PurchaseStatus.canceled) { completer.complete(purchaseDetails.status); subscription.cancel(); } } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -517,9 +507,8 @@ void main() { test( 'buying non consumable, should be able to purchase multiple quantity of one product', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; late StreamSubscription> subscription; @@ -527,7 +516,7 @@ void main() { List purchaseDetailsList, ) { details.addAll(purchaseDetailsList); - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.pendingCompletePurchase) { iapStoreKitPlatform.completePurchase(purchaseDetails); completer.complete(details); @@ -535,9 +524,10 @@ void main() { } } }); - final AppStoreProductDetails productDetails = - AppStoreProductDetails.fromSKProduct(dummyProductWrapper); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final productDetails = AppStoreProductDetails.fromSKProduct( + dummyProductWrapper, + ); + final purchaseParam = AppStorePurchaseParam( productDetails: productDetails, quantity: 5, applicationUserName: 'appName', @@ -556,9 +546,8 @@ void main() { test( 'buying consumable, should be able to purchase multiple quantity of one product', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; late StreamSubscription> subscription; @@ -566,7 +555,7 @@ void main() { List purchaseDetailsList, ) { details.addAll(purchaseDetailsList); - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.pendingCompletePurchase) { iapStoreKitPlatform.completePurchase(purchaseDetails); completer.complete(details); @@ -574,9 +563,10 @@ void main() { } } }); - final AppStoreProductDetails productDetails = - AppStoreProductDetails.fromSKProduct(dummyProductWrapper); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final productDetails = AppStoreProductDetails.fromSKProduct( + dummyProductWrapper, + ); + final purchaseParam = AppStorePurchaseParam( productDetails: productDetails, quantity: 5, applicationUserName: 'appName', @@ -593,9 +583,8 @@ void main() { test( 'buying non consumable with discount, should get purchase objects in the purchase update callback', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; @@ -609,7 +598,7 @@ void main() { subscription.cancel(); } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -633,15 +622,14 @@ void main() { group('complete purchase', () { test('should complete purchase', () async { - final List details = []; - final Completer> completer = - Completer>(); + final details = []; + final completer = Completer>(); final Stream> stream = iapStoreKitPlatform.purchaseStream; late StreamSubscription> subscription; subscription = stream.listen((List purchaseDetailsList) { details.addAll(purchaseDetailsList); - for (final PurchaseDetails purchaseDetails in purchaseDetailsList) { + for (final purchaseDetails in purchaseDetailsList) { if (purchaseDetails.pendingCompletePurchase) { iapStoreKitPlatform.completePurchase(purchaseDetails); completer.complete(details); @@ -649,7 +637,7 @@ void main() { } } }); - final AppStorePurchaseParam purchaseParam = AppStorePurchaseParam( + final purchaseParam = AppStorePurchaseParam( productDetails: AppStoreProductDetails.fromSKProduct( dummyProductWrapper, ), @@ -683,7 +671,7 @@ void main() { group('billing configuration', () { test('country_code', () async { - const String expectedCountryCode = 'CA'; + const expectedCountryCode = 'CA'; fakeStoreKitPlatform.setStoreFrontInfo( countryCode: expectedCountryCode, identifier: 'ABC', diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart index 1434f6fd767..9276e0a122b 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart @@ -8,19 +8,18 @@ import 'package:in_app_purchase_storekit/src/store_kit_2_wrappers/sk2_product_wr import 'package:in_app_purchase_storekit/store_kit_wrappers.dart'; void main() { - final SKPriceLocaleWrapper locale = SKPriceLocaleWrapper( + final locale = SKPriceLocaleWrapper( currencySymbol: r'$', currencyCode: 'USD', countryCode: 'USA', ); - final SKProductSubscriptionPeriodWrapper subPeriod = - SKProductSubscriptionPeriodWrapper( - numberOfUnits: 1, - unit: SKSubscriptionPeriodUnit.month, - ); + final subPeriod = SKProductSubscriptionPeriodWrapper( + numberOfUnits: 1, + unit: SKSubscriptionPeriodUnit.month, + ); - final SKProductDiscountWrapper discount = SKProductDiscountWrapper( + final discount = SKProductDiscountWrapper( price: '0.99', priceLocale: locale, numberOfPeriods: 1, @@ -30,7 +29,7 @@ void main() { type: SKProductDiscountType.subscription, ); - final SKProductWrapper product = SKProductWrapper( + final product = SKProductWrapper( productIdentifier: 'fake_product', localizedTitle: 'title', localizedDescription: 'description', @@ -40,7 +39,7 @@ void main() { discounts: [discount], ); - final SkProductResponseWrapper productResponse = SkProductResponseWrapper( + final productResponse = SkProductResponseWrapper( products: [product], invalidProductIdentifiers: const ['invalid_identifier'], ); @@ -107,7 +106,7 @@ void main() { }); test('test SKerror pigeon converter', () { - final SKErrorMessage msg = SKErrorMessage(code: 99, domain: 'domain'); + final msg = SKErrorMessage(code: 99, domain: 'domain'); final SKError wrapper = SKError.convertFromPigeon(msg); expect(wrapper.code, 99); @@ -116,7 +115,7 @@ void main() { }); test('test AppStoreProduct2Details conversion', () { - final SK2Product product = SK2Product( + final product = SK2Product( id: '123', displayName: 'name', displayPrice: '0.99', @@ -126,8 +125,7 @@ void main() { priceLocale: SK2PriceLocale(currencyCode: 'USD', currencySymbol: r'$'), ); - final AppStoreProduct2Details details = - AppStoreProduct2Details.fromSK2Product(product); + final details = AppStoreProduct2Details.fromSK2Product(product); expect(details.sk2Product, product); expect(details.price, product.displayPrice); diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_methodchannel_apis_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_methodchannel_apis_test.dart index 497c567bbf6..4e5609a41fb 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_methodchannel_apis_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_methodchannel_apis_test.dart @@ -12,7 +12,7 @@ import 'sk_test_stub_objects.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform(); + final fakeStoreKitPlatform = FakeStoreKitPlatform(); setUpAll(() { setInAppPurchaseHostApis(api: fakeStoreKitPlatform); @@ -98,7 +98,7 @@ void main() { }); test('storefront returns valid SKStoreFrontWrapper object', () async { - final SKPaymentQueueWrapper queue = SKPaymentQueueWrapper(); + final queue = SKPaymentQueueWrapper(); expect( await queue.storefront(), SKStorefrontWrapper.fromJson(const { @@ -123,18 +123,16 @@ void main() { ); test('should add payment to the payment queue', () async { - final SKPaymentQueueWrapper queue = SKPaymentQueueWrapper(); - final TestPaymentTransactionObserver observer = - TestPaymentTransactionObserver(); + final queue = SKPaymentQueueWrapper(); + final observer = TestPaymentTransactionObserver(); queue.setTransactionObserver(observer); await queue.addPayment(dummyPayment); expect(fakeStoreKitPlatform.payments.first, equals(dummyPayment)); }); test('should finish transaction', () async { - final SKPaymentQueueWrapper queue = SKPaymentQueueWrapper(); - final TestPaymentTransactionObserver observer = - TestPaymentTransactionObserver(); + final queue = SKPaymentQueueWrapper(); + final observer = TestPaymentTransactionObserver(); queue.setTransactionObserver(observer); await queue.finishTransaction(dummyTransaction); expect( @@ -144,9 +142,8 @@ void main() { }); test('should restore transaction', () async { - final SKPaymentQueueWrapper queue = SKPaymentQueueWrapper(); - final TestPaymentTransactionObserver observer = - TestPaymentTransactionObserver(); + final queue = SKPaymentQueueWrapper(); + final observer = TestPaymentTransactionObserver(); queue.setTransactionObserver(observer); await queue.restoreTransactions(applicationUserName: 'aUserID'); expect( diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart index 08eca698b1a..6f0467197b0 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_payment_queue_delegate_api_test.dart @@ -12,7 +12,7 @@ import '../fakes/fake_storekit_platform.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final FakeStoreKitPlatform fakeStoreKitPlatform = FakeStoreKitPlatform(); + final fakeStoreKitPlatform = FakeStoreKitPlatform(); setUpAll(() { setInAppPurchaseHostApis(api: fakeStoreKitPlatform); @@ -21,11 +21,11 @@ void main() { test( 'handlePaymentQueueDelegateCallbacks should call SKPaymentQueueDelegateWrapper.shouldContinueTransaction', () async { - final SKPaymentQueueWrapper queue = SKPaymentQueueWrapper(); - final TestPaymentQueueDelegate testDelegate = TestPaymentQueueDelegate(); + final queue = SKPaymentQueueWrapper(); + final testDelegate = TestPaymentQueueDelegate(); await queue.setDelegate(testDelegate); - final Map arguments = { + final arguments = { 'storefront': { 'countryCode': 'USA', 'identifier': 'unique_identifier', @@ -49,11 +49,11 @@ void main() { test( 'handlePaymentQueueDelegateCallbacks should call SKPaymentQueueDelegateWrapper.shouldShowPriceConsent', () async { - final SKPaymentQueueWrapper queue = SKPaymentQueueWrapper(); - final TestPaymentQueueDelegate testDelegate = TestPaymentQueueDelegate(); + final queue = SKPaymentQueueWrapper(); + final testDelegate = TestPaymentQueueDelegate(); await queue.setDelegate(testDelegate); - final bool result = + final result = (await queue.handlePaymentQueueDelegateCallbacks( const MethodCall('shouldShowPriceConsent'), ))! @@ -67,12 +67,11 @@ void main() { test( 'handleObserverCallbacks should call SKTransactionObserverWrapper.restoreCompletedTransactionsFailed', () async { - final SKPaymentQueueWrapper queue = SKPaymentQueueWrapper(); - final TestTransactionObserverWrapper testObserver = - TestTransactionObserverWrapper(); + final queue = SKPaymentQueueWrapper(); + final testObserver = TestTransactionObserverWrapper(); queue.setTransactionObserver(testObserver); - final Map arguments = { + final arguments = { 'code': 100, 'domain': 'domain', 'userInfo': {'error': 'underlying_error'}, diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_product_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_product_test.dart index 4ac472e31e7..dfdd6e6be1e 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_product_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_product_test.dart @@ -14,10 +14,9 @@ void main() { test( 'SKProductSubscriptionPeriodWrapper should have property values consistent with map', () { - final SKProductSubscriptionPeriodWrapper wrapper = - SKProductSubscriptionPeriodWrapper.fromJson( - buildSubscriptionPeriodMap(dummySubscription), - ); + final wrapper = SKProductSubscriptionPeriodWrapper.fromJson( + buildSubscriptionPeriodMap(dummySubscription), + ); expect(wrapper, equals(dummySubscription)); }, ); @@ -25,10 +24,9 @@ void main() { test( 'SKProductSubscriptionPeriodWrapper should have properties to be default values if map is empty', () { - final SKProductSubscriptionPeriodWrapper wrapper = - SKProductSubscriptionPeriodWrapper.fromJson( - const {}, - ); + final wrapper = SKProductSubscriptionPeriodWrapper.fromJson( + const {}, + ); expect(wrapper.numberOfUnits, 0); expect(wrapper.unit, SKSubscriptionPeriodUnit.day); }, @@ -37,28 +35,29 @@ void main() { test( 'SKProductDiscountWrapper should have property values consistent with map', () { - final SKProductDiscountWrapper wrapper = - SKProductDiscountWrapper.fromJson(buildDiscountMap(dummyDiscount)); + final wrapper = SKProductDiscountWrapper.fromJson( + buildDiscountMap(dummyDiscount), + ); expect(wrapper, equals(dummyDiscount)); }, ); test('SKProductDiscountWrapper missing identifier and type should have ' 'property values consistent with map', () { - final SKProductDiscountWrapper wrapper = - SKProductDiscountWrapper.fromJson( - buildDiscountMapMissingIdentifierAndType( - dummyDiscountMissingIdentifierAndType, - ), - ); + final wrapper = SKProductDiscountWrapper.fromJson( + buildDiscountMapMissingIdentifierAndType( + dummyDiscountMissingIdentifierAndType, + ), + ); expect(wrapper, equals(dummyDiscountMissingIdentifierAndType)); }); test( 'SKProductDiscountWrapper should have properties to be default if map is empty', () { - final SKProductDiscountWrapper wrapper = - SKProductDiscountWrapper.fromJson(const {}); + final wrapper = SKProductDiscountWrapper.fromJson( + const {}, + ); expect(wrapper.price, ''); expect( wrapper.priceLocale, @@ -83,7 +82,7 @@ void main() { test( 'SKProductWrapper should have property values consistent with map', () { - final SKProductWrapper wrapper = SKProductWrapper.fromJson( + final wrapper = SKProductWrapper.fromJson( buildProductMap(dummyProductWrapper), ); expect(wrapper, equals(dummyProductWrapper)); @@ -93,9 +92,7 @@ void main() { test( 'SKProductWrapper should have properties to be default if map is empty', () { - final SKProductWrapper wrapper = SKProductWrapper.fromJson( - const {}, - ); + final wrapper = SKProductWrapper.fromJson(const {}); expect(wrapper.productIdentifier, ''); expect(wrapper.localizedTitle, ''); expect(wrapper.localizedDescription, ''); @@ -115,11 +112,10 @@ void main() { ); test('toProductDetails() should return correct Product object', () { - final SKProductWrapper wrapper = SKProductWrapper.fromJson( + final wrapper = SKProductWrapper.fromJson( buildProductMap(dummyProductWrapper), ); - final AppStoreProductDetails product = - AppStoreProductDetails.fromSKProduct(wrapper); + final product = AppStoreProductDetails.fromSKProduct(wrapper); expect(product.title, wrapper.localizedTitle); expect(product.description, wrapper.localizedDescription); expect(product.id, wrapper.productIdentifier); @@ -128,26 +124,25 @@ void main() { }); test('SKProductResponse wrapper should match', () { - final SkProductResponseWrapper wrapper = - SkProductResponseWrapper.fromJson( - buildProductResponseMap(dummyProductResponseWrapper), - ); + final wrapper = SkProductResponseWrapper.fromJson( + buildProductResponseMap(dummyProductResponseWrapper), + ); expect(wrapper, equals(dummyProductResponseWrapper)); }); test('SKProductResponse wrapper should default to empty list', () { - final Map> productResponseMapEmptyList = - >{ - 'products': >[], - 'invalidProductIdentifiers': [], - }; - final SkProductResponseWrapper wrapper = - SkProductResponseWrapper.fromJson(productResponseMapEmptyList); + final productResponseMapEmptyList = >{ + 'products': >[], + 'invalidProductIdentifiers': [], + }; + final wrapper = SkProductResponseWrapper.fromJson( + productResponseMapEmptyList, + ); expect(wrapper.products.length, 0); expect(wrapper.invalidProductIdentifiers.length, 0); }); test('LocaleWrapper should have property values consistent with map', () { - final SKPriceLocaleWrapper wrapper = SKPriceLocaleWrapper.fromJson( + final wrapper = SKPriceLocaleWrapper.fromJson( buildLocaleMap(dollarLocale), ); expect(wrapper, equals(dollarLocale)); @@ -156,9 +151,7 @@ void main() { group('Payment queue related object tests', () { test('Should construct correct SKPaymentWrapper from json', () { - final SKPaymentWrapper payment = SKPaymentWrapper.fromJson( - dummyPayment.toMap(), - ); + final payment = SKPaymentWrapper.fromJson(dummyPayment.toMap()); expect(payment, equals(dummyPayment)); }); @@ -188,24 +181,22 @@ void main() { ); test('Should construct correct SKError from json', () { - final SKError error = SKError.fromJson(buildErrorMap(dummyError)); + final error = SKError.fromJson(buildErrorMap(dummyError)); expect(error, equals(dummyError)); }); test('Should construct correct SKTransactionWrapper from json', () { - final SKPaymentTransactionWrapper transaction = - SKPaymentTransactionWrapper.fromJson( - buildTransactionMap(dummyTransaction), - ); + final transaction = SKPaymentTransactionWrapper.fromJson( + buildTransactionMap(dummyTransaction), + ); expect(transaction, equals(dummyTransaction)); }); test('toPurchaseDetails() should return correct PurchaseDetail object', () { - final AppStorePurchaseDetails details = - AppStorePurchaseDetails.fromSKTransaction( - dummyTransaction, - 'receipt data', - ); + final details = AppStorePurchaseDetails.fromSKTransaction( + dummyTransaction, + 'receipt data', + ); expect(dummyTransaction.transactionIdentifier, details.purchaseID); expect(dummyTransaction.payment.productIdentifier, details.productID); expect(dummyTransaction.transactionTimeStamp, isNotNull); @@ -221,12 +212,11 @@ void main() { }); test('SKPaymentTransactionWrapper.toFinishMap set correct value', () { - final SKPaymentTransactionWrapper transactionWrapper = - SKPaymentTransactionWrapper( - payment: dummyPayment, - transactionState: SKPaymentTransactionStateWrapper.failed, - transactionIdentifier: 'abcd', - ); + final transactionWrapper = SKPaymentTransactionWrapper( + payment: dummyPayment, + transactionState: SKPaymentTransactionStateWrapper.failed, + transactionIdentifier: 'abcd', + ); final Map finishMap = transactionWrapper.toFinishMap(); expect(finishMap['transactionIdentifier'], 'abcd'); expect(finishMap['productIdentifier'], dummyPayment.productIdentifier); @@ -235,11 +225,10 @@ void main() { test( 'SKPaymentTransactionWrapper.toFinishMap should set transactionIdentifier to null when necessary', () { - final SKPaymentTransactionWrapper transactionWrapper = - SKPaymentTransactionWrapper( - payment: dummyPayment, - transactionState: SKPaymentTransactionStateWrapper.failed, - ); + final transactionWrapper = SKPaymentTransactionWrapper( + payment: dummyPayment, + transactionState: SKPaymentTransactionStateWrapper.failed, + ); final Map finishMap = transactionWrapper.toFinishMap(); expect(finishMap['transactionIdentifier'], null); }, diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_test_stub_objects.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_test_stub_objects.dart index 43496478f24..cd8ceb1f6ca 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_test_stub_objects.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/sk_test_stub_objects.dart @@ -249,7 +249,7 @@ Map buildErrorMap(SKError error) { Map buildTransactionMap( SKPaymentTransactionWrapper transaction, ) { - final Map map = { + final map = { 'transactionState': SKPaymentTransactionStateWrapper.values.indexOf( SKPaymentTransactionStateWrapper.purchased, ), @@ -267,7 +267,7 @@ Map buildTransactionMap( Map buildTransactionMessage( SKPaymentTransactionWrapper transaction, ) { - final Map map = { + final map = { 'transactionState': SKPaymentTransactionStateWrapper.values.indexOf( SKPaymentTransactionStateWrapper.purchased, ), diff --git a/packages/interactive_media_ads/lib/src/android/android_ad_display_container.dart b/packages/interactive_media_ads/lib/src/android/android_ad_display_container.dart index 2a55badc033..c02849feebe 100644 --- a/packages/interactive_media_ads/lib/src/android/android_ad_display_container.dart +++ b/packages/interactive_media_ads/lib/src/android/android_ad_display_container.dart @@ -65,8 +65,7 @@ final class AndroidAdDisplayContainerCreationParams base class AndroidAdDisplayContainer extends PlatformAdDisplayContainer { /// Constructs an [AndroidAdDisplayContainer]. AndroidAdDisplayContainer(super.params) : super.implementation() { - final WeakReference weakThis = - WeakReference(this); + final weakThis = WeakReference(this); _videoView = _setUpVideoView(weakThis); _frameLayout.addView(_videoView); _videoAdPlayer = _setUpVideoAdPlayer(weakThis); diff --git a/packages/interactive_media_ads/lib/src/android/android_ads_rendering_settings.dart b/packages/interactive_media_ads/lib/src/android/android_ads_rendering_settings.dart index 3a1ac4f271a..4d57ed22f14 100644 --- a/packages/interactive_media_ads/lib/src/android/android_ads_rendering_settings.dart +++ b/packages/interactive_media_ads/lib/src/android/android_ads_rendering_settings.dart @@ -54,8 +54,7 @@ final class AndroidAdsRenderingSettingsCreationParams base class AndroidAdsRenderingSettings extends PlatformAdsRenderingSettings { /// Constructs an [AndroidAdsRenderingSettings]. AndroidAdsRenderingSettings(super.params) : super.implementation() { - final Completer nativeSettingsCompleter = - Completer(); + final nativeSettingsCompleter = Completer(); nativeSettings = nativeSettingsCompleter.future; _androidParams._proxy diff --git a/packages/interactive_media_ads/lib/src/ios/ios_ima_settings.dart b/packages/interactive_media_ads/lib/src/ios/ios_ima_settings.dart index f858619488f..6131c68010f 100644 --- a/packages/interactive_media_ads/lib/src/ios/ios_ima_settings.dart +++ b/packages/interactive_media_ads/lib/src/ios/ios_ima_settings.dart @@ -66,7 +66,7 @@ final class IOSImaSettings extends PlatformImaSettings { } IMASettings _createSettings() { - final IMASettings settings = IMASettings(); + final settings = IMASettings(); if (params.language case final String language) { settings.setLanguage(language); } diff --git a/packages/interactive_media_ads/test/ad_display_container_test.dart b/packages/interactive_media_ads/test/ad_display_container_test.dart index c20a19ff89e..da68157bcc9 100644 --- a/packages/interactive_media_ads/test/ad_display_container_test.dart +++ b/packages/interactive_media_ads/test/ad_display_container_test.dart @@ -14,11 +14,10 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); testWidgets('build', (WidgetTester tester) async { - final TestPlatformAdDisplayContainer adDisplayContainer = - TestPlatformAdDisplayContainer( - PlatformAdDisplayContainerCreationParams(onContainerAdded: (_) {}), - onBuild: (_) => Container(), - ); + final adDisplayContainer = TestPlatformAdDisplayContainer( + PlatformAdDisplayContainerCreationParams(onContainerAdded: (_) {}), + onBuild: (_) => Container(), + ); await tester.pumpWidget( AdDisplayContainer.fromPlatform(platform: adDisplayContainer), @@ -50,7 +49,7 @@ void main() { }, ); - final AdDisplayContainer adDisplayContainer = AdDisplayContainer( + final adDisplayContainer = AdDisplayContainer( key: GlobalKey(), onContainerAdded: (_) {}, ); diff --git a/packages/interactive_media_ads/test/ads_loader_test.dart b/packages/interactive_media_ads/test/ads_loader_test.dart index 8895810cf1e..8fbc27b5c9c 100644 --- a/packages/interactive_media_ads/test/ads_loader_test.dart +++ b/packages/interactive_media_ads/test/ads_loader_test.dart @@ -11,7 +11,7 @@ import 'test_stubs.dart'; void main() { test('contentComplete', () async { - final TestPlatformAdsLoader adsLoader = TestPlatformAdsLoader( + final adsLoader = TestPlatformAdsLoader( PlatformAdsLoaderCreationParams( container: createTestAdDisplayContainer(), settings: TestImaSettings(const PlatformImaSettingsCreationParams()), @@ -22,12 +22,12 @@ void main() { onRequestAds: (PlatformAdsRequest request) async {}, ); - final AdsLoader loader = AdsLoader.fromPlatform(adsLoader); + final loader = AdsLoader.fromPlatform(adsLoader); await loader.contentComplete(); }); test('requestAds', () async { - final PlatformAdsRequest platformRequest = PlatformAdsRequest.withAdTagUrl( + final platformRequest = PlatformAdsRequest.withAdTagUrl( adTagUrl: 'adTagUrl', adWillAutoPlay: true, adWillPlayMuted: false, @@ -42,7 +42,7 @@ void main() { ), ); - final TestPlatformAdsLoader adsLoader = TestPlatformAdsLoader( + final adsLoader = TestPlatformAdsLoader( PlatformAdsLoaderCreationParams( container: createTestAdDisplayContainer(), settings: TestImaSettings(const PlatformImaSettingsCreationParams()), @@ -73,7 +73,7 @@ void main() { onContentComplete: () async {}, ); - final AdsLoader loader = AdsLoader.fromPlatform(adsLoader); + final loader = AdsLoader.fromPlatform(adsLoader); await loader.requestAds( AdsRequest( adTagUrl: (platformRequest as PlatformAdsRequestWithAdTagUrl).adTagUrl, diff --git a/packages/interactive_media_ads/test/ads_manager_delegate_test.dart b/packages/interactive_media_ads/test/ads_manager_delegate_test.dart index 8f1454bd54a..7561421eb66 100644 --- a/packages/interactive_media_ads/test/ads_manager_delegate_test.dart +++ b/packages/interactive_media_ads/test/ads_manager_delegate_test.dart @@ -28,7 +28,7 @@ void main() { void onAdErrorEvent(AdErrorEvent event) {} - final AdsManagerDelegate delegate = AdsManagerDelegate( + final delegate = AdsManagerDelegate( onAdEvent: expectAsync1((AdEvent event) { expect(event.type, AdEventType.adBreakEnded); expect(event.ad, isNotNull); diff --git a/packages/interactive_media_ads/test/ads_manager_test.dart b/packages/interactive_media_ads/test/ads_manager_test.dart index bc74489c0fc..ab053b513ca 100644 --- a/packages/interactive_media_ads/test/ads_manager_test.dart +++ b/packages/interactive_media_ads/test/ads_manager_test.dart @@ -13,17 +13,15 @@ import 'test_stubs.dart'; void main() { test('init', () async { - final AdsRenderingSettings adsRenderingSettings = - AdsRenderingSettings.fromPlatform( - TestAdsRenderingSettings( - const PlatformAdsRenderingSettingsCreationParams(), - ), - ); + final adsRenderingSettings = AdsRenderingSettings.fromPlatform( + TestAdsRenderingSettings( + const PlatformAdsRenderingSettingsCreationParams(), + ), + ); - final Completer settingsCompleter = - Completer(); + final settingsCompleter = Completer(); - final TestAdsManager platformManager = TestAdsManager( + final platformManager = TestAdsManager( onInit: ({PlatformAdsRenderingSettings? settings}) async { settingsCompleter.complete(settings); }, @@ -35,16 +33,14 @@ void main() { }); test('start', () async { - final TestAdsManager platformManager = TestAdsManager( - onStart: expectAsync1((_) async {}), - ); + final platformManager = TestAdsManager(onStart: expectAsync1((_) async {})); final AdsManager manager = createAdsManager(platformManager); await manager.start(); }); test('setAdsManagerDelegate', () async { - final TestAdsManager platformManager = TestAdsManager( + final platformManager = TestAdsManager( onSetAdsManagerDelegate: expectAsync1((_) async {}), ); @@ -59,7 +55,7 @@ void main() { }); test('discardAdBreak', () async { - final TestAdsManager platformManager = TestAdsManager( + final platformManager = TestAdsManager( onDiscardAdBreak: expectAsync0(() async {}), ); @@ -68,34 +64,28 @@ void main() { }); test('pause', () async { - final TestAdsManager platformManager = TestAdsManager( - onPause: expectAsync0(() async {}), - ); + final platformManager = TestAdsManager(onPause: expectAsync0(() async {})); final AdsManager manager = createAdsManager(platformManager); await manager.pause(); }); test('resume', () async { - final TestAdsManager platformManager = TestAdsManager( - onResume: expectAsync0(() async {}), - ); + final platformManager = TestAdsManager(onResume: expectAsync0(() async {})); final AdsManager manager = createAdsManager(platformManager); await manager.resume(); }); test('skip', () async { - final TestAdsManager platformManager = TestAdsManager( - onSkip: expectAsync0(() async {}), - ); + final platformManager = TestAdsManager(onSkip: expectAsync0(() async {})); final AdsManager manager = createAdsManager(platformManager); await manager.skip(); }); test('destroy', () async { - final TestAdsManager platformManager = TestAdsManager( + final platformManager = TestAdsManager( onDestroy: expectAsync0(() async {}), ); @@ -104,7 +94,7 @@ void main() { }); test('adCuePoints', () async { - final TestAdsManager platformManager = TestAdsManager( + final platformManager = TestAdsManager( adCuePoints: const [Duration(seconds: 5)], ); @@ -135,7 +125,7 @@ AdsManager createAdsManager(PlatformAdsManager platformManager) { late final AdsManager manager; - final AdsLoader loader = AdsLoader( + final loader = AdsLoader( container: AdDisplayContainer.fromPlatform( platform: TestPlatformAdDisplayContainer( PlatformAdDisplayContainerCreationParams(onContainerAdded: (_) {}), diff --git a/packages/interactive_media_ads/test/android/ad_display_container_test.dart b/packages/interactive_media_ads/test/android/ad_display_container_test.dart index 854b8048f44..31afb14d224 100644 --- a/packages/interactive_media_ads/test/android/ad_display_container_test.dart +++ b/packages/interactive_media_ads/test/android/ad_display_container_test.dart @@ -39,7 +39,7 @@ void main() { group('AndroidAdDisplayContainer', () { testWidgets('build with key', (WidgetTester tester) async { - final AndroidAdDisplayContainer container = AndroidAdDisplayContainer( + final container = AndroidAdDisplayContainer( AndroidAdDisplayContainerCreationParams( key: const Key('testKey'), onContainerAdded: (_) {}, @@ -55,7 +55,7 @@ void main() { }); testWidgets('onContainerAdded is called', (WidgetTester tester) async { - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -78,10 +78,8 @@ void main() { }) => MockVideoAdPlayer(), ); - final MockPlatformViewsServiceProxy mockPlatformViewsProxy = - MockPlatformViewsServiceProxy(); - final MockSurfaceAndroidViewController mockAndroidViewController = - MockSurfaceAndroidViewController(); + final mockPlatformViewsProxy = MockPlatformViewsServiceProxy(); + final mockAndroidViewController = MockSurfaceAndroidViewController(); late final int platformViewId; when( @@ -98,7 +96,7 @@ void main() { return mockAndroidViewController; }); - final AndroidAdDisplayContainer container = AndroidAdDisplayContainer( + final container = AndroidAdDisplayContainer( AndroidAdDisplayContainerCreationParams( onContainerAdded: expectAsync1((_) {}), platformViewsProxy: mockPlatformViewsProxy, @@ -110,7 +108,7 @@ void main() { Builder(builder: (BuildContext context) => container.build(context)), ); - final void Function(int) onPlatformCreatedCallback = + final onPlatformCreatedCallback = verify( mockAndroidViewController.addOnPlatformViewCreatedListener( captureAny, @@ -137,7 +135,7 @@ void main() { late final void Function(ima.VideoView, ima.MediaPlayer) onCompletionCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -186,8 +184,7 @@ void main() { final ima.AdMediaInfo mockAdMediaInfo = MockAdMediaInfo(); loadAdCallback(MockVideoAdPlayer(), mockAdMediaInfo, MockAdPodInfo()); - final MockVideoAdPlayerCallback mockPlayerCallback = - MockVideoAdPlayerCallback(); + final mockPlayerCallback = MockVideoAdPlayerCallback(); addCallbackCallback(MockVideoAdPlayer(), mockPlayerCallback); onCompletionCallback(MockVideoView(), MockMediaPlayer()); @@ -209,7 +206,7 @@ void main() { late final void Function(ima.VideoView, ima.MediaPlayer, int, int) onErrorCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -259,8 +256,7 @@ void main() { final ima.AdMediaInfo mockAdMediaInfo = MockAdMediaInfo(); loadAdCallback(MockVideoAdPlayer(), mockAdMediaInfo, MockAdPodInfo()); - final MockVideoAdPlayerCallback mockPlayerCallback = - MockVideoAdPlayerCallback(); + final mockPlayerCallback = MockVideoAdPlayerCallback(); addCallbackCallback(MockVideoAdPlayer(), mockPlayerCallback); onErrorCallback(MockVideoView(), MockMediaPlayer(), 0, 0); @@ -285,10 +281,10 @@ void main() { late final void Function(ima.VideoAdPlayer, ima.AdMediaInfo) playAdCallback; - const int adDuration = 100; - const int adProgress = 10; + const adDuration = 100; + const adProgress = 10; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -297,7 +293,7 @@ void main() { dynamic onCompletion, }) { onPreparedCallback = onPrepared!; - final MockVideoView mockVideoView = MockVideoView(); + final mockVideoView = MockVideoView(); when( mockVideoView.getCurrentPosition(), ).thenAnswer((_) async => adProgress); @@ -349,11 +345,10 @@ void main() { loadAdCallback(MockVideoAdPlayer(), mockAdMediaInfo, MockAdPodInfo()); playAdCallback(MockVideoAdPlayer(), mockAdMediaInfo); - final MockVideoAdPlayerCallback mockPlayerCallback = - MockVideoAdPlayerCallback(); + final mockPlayerCallback = MockVideoAdPlayerCallback(); addCallbackCallback(MockVideoAdPlayer(), mockPlayerCallback); - final MockMediaPlayer mockMediaPlayer = MockMediaPlayer(); + final mockMediaPlayer = MockMediaPlayer(); when(mockMediaPlayer.getDuration()).thenAnswer((_) async => adDuration); await onPreparedCallback(MockVideoView(), mockMediaPlayer); @@ -380,7 +375,7 @@ void main() { late final Future Function(ima.VideoAdPlayer, ima.AdMediaInfo) pauseAdCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -393,7 +388,7 @@ void main() { onPreparedCallback = onPrepared! as Future Function(ima.VideoView, ima.MediaPlayer); - final MockVideoView mockVideoView = MockVideoView(); + final mockVideoView = MockVideoView(); when( mockVideoView.getCurrentPosition(), ).thenAnswer((_) async => 10); @@ -444,7 +439,7 @@ void main() { final ima.AdMediaInfo mockAdMediaInfo = MockAdMediaInfo(); loadAdCallback(MockVideoAdPlayer(), mockAdMediaInfo, MockAdPodInfo()); - final MockMediaPlayer mockMediaPlayer = MockMediaPlayer(); + final mockMediaPlayer = MockMediaPlayer(); when(mockMediaPlayer.getDuration()).thenAnswer((_) async => 100); await onPreparedCallback(MockVideoView(), mockMediaPlayer); @@ -470,7 +465,7 @@ void main() { late final Future Function(ima.VideoAdPlayer, ima.AdMediaInfo) pauseAdCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -483,7 +478,7 @@ void main() { onPreparedCallback = onPrepared! as Future Function(ima.VideoView, ima.MediaPlayer); - final MockVideoView mockVideoView = MockVideoView(); + final mockVideoView = MockVideoView(); when( mockVideoView.getCurrentPosition(), ).thenAnswer((_) async => 10); @@ -535,7 +530,7 @@ void main() { final ima.AdMediaInfo mockAdMediaInfo = MockAdMediaInfo(); loadAdCallback(MockVideoAdPlayer(), mockAdMediaInfo, MockAdPodInfo()); - final MockMediaPlayer mockMediaPlayer = MockMediaPlayer(); + final mockMediaPlayer = MockMediaPlayer(); when(mockMediaPlayer.getDuration()).thenAnswer((_) async => 100); await onPreparedCallback(MockVideoView(), mockMediaPlayer); @@ -562,7 +557,7 @@ void main() { late final void Function(ima.VideoAdPlayer, ima.AdMediaInfo) playAdCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -575,7 +570,7 @@ void main() { onPreparedCallback = onPrepared! as Future Function(ima.VideoView, ima.MediaPlayer); - final MockVideoView mockVideoView = MockVideoView(); + final mockVideoView = MockVideoView(); when( mockVideoView.getCurrentPosition(), ).thenAnswer((_) async => 10); @@ -628,7 +623,7 @@ void main() { when(mockAdMediaInfo.url).thenReturn('url'); loadAdCallback(MockVideoAdPlayer(), mockAdMediaInfo, MockAdPodInfo()); - final MockMediaPlayer mockMediaPlayer = MockMediaPlayer(); + final mockMediaPlayer = MockMediaPlayer(); when(mockMediaPlayer.getDuration()).thenAnswer((_) async => 100); await onPreparedCallback(MockVideoView(), mockMediaPlayer); @@ -658,8 +653,8 @@ void main() { late final void Function(ima.VideoAdPlayer, ima.AdMediaInfo) playAdCallback; - final MockVideoView mockVideoView = MockVideoView(); - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final mockVideoView = MockVideoView(); + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({dynamic onError, dynamic onPrepared, dynamic onCompletion}) { @@ -696,7 +691,7 @@ void main() { ), ); - const String videoUrl = 'url'; + const videoUrl = 'url'; final ima.AdMediaInfo mockAdMediaInfo = MockAdMediaInfo(); when(mockAdMediaInfo.url).thenReturn(videoUrl); loadAdCallback(MockVideoAdPlayer(), mockAdMediaInfo, MockAdPodInfo()); @@ -709,11 +704,11 @@ void main() { late final void Function(ima.VideoAdPlayer, ima.AdMediaInfo) stopAdCallback; - final MockFrameLayout mockFrameLayout = MockFrameLayout(); - late final MockVideoView mockVideoView = MockVideoView(); - late final MockVideoView mockVideoView2 = MockVideoView(); - int newViewVideoCallCount = 0; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final mockFrameLayout = MockFrameLayout(); + late final mockVideoView = MockVideoView(); + late final mockVideoView2 = MockVideoView(); + var newViewVideoCallCount = 0; + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => mockFrameLayout, newVideoView: ({dynamic onError, dynamic onPrepared, dynamic onCompletion}) { @@ -768,11 +763,11 @@ void main() { test('release resets state and sets a new VideoView', () async { late final void Function(ima.VideoAdPlayer) releaseCallback; - final MockFrameLayout mockFrameLayout = MockFrameLayout(); - late final MockVideoView mockVideoView = MockVideoView(); - late final MockVideoView mockVideoView2 = MockVideoView(); - int newViewVideoCallCount = 0; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final mockFrameLayout = MockFrameLayout(); + late final mockVideoView = MockVideoView(); + late final mockVideoView2 = MockVideoView(); + var newViewVideoCallCount = 0; + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => mockFrameLayout, newVideoView: ({dynamic onError, dynamic onPrepared, dynamic onCompletion}) { @@ -827,10 +822,9 @@ void main() { testWidgets('AdDisplayContainer adds CompanionAdSlots', ( WidgetTester tester, ) async { - final MockAdDisplayContainer mockAdDisplayContainer = - MockAdDisplayContainer(); - final MockCompanionAdSlot mockCompanionAdSlot = MockCompanionAdSlot(); - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final mockAdDisplayContainer = MockAdDisplayContainer(); + final mockCompanionAdSlot = MockCompanionAdSlot(); + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -852,7 +846,7 @@ void main() { required dynamic stopAd, }) => MockVideoAdPlayer(), instanceImaSdkFactory: () { - final MockImaSdkFactory mockFactory = MockImaSdkFactory(); + final mockFactory = MockImaSdkFactory(); when( mockFactory.createCompanionAdSlot(), ).thenAnswer((_) async => mockCompanionAdSlot); @@ -860,10 +854,8 @@ void main() { }, ); - final MockPlatformViewsServiceProxy mockPlatformViewsProxy = - MockPlatformViewsServiceProxy(); - final MockSurfaceAndroidViewController mockAndroidViewController = - MockSurfaceAndroidViewController(); + final mockPlatformViewsProxy = MockPlatformViewsServiceProxy(); + final mockAndroidViewController = MockSurfaceAndroidViewController(); late final int platformViewId; when( @@ -880,9 +872,9 @@ void main() { return mockAndroidViewController; }); - final Completer onContainerAddedCompleter = Completer(); + final onContainerAddedCompleter = Completer(); - final AndroidAdDisplayContainer container = AndroidAdDisplayContainer( + final container = AndroidAdDisplayContainer( AndroidAdDisplayContainerCreationParams( onContainerAdded: (_) => onContainerAddedCompleter.complete(), platformViewsProxy: mockPlatformViewsProxy, @@ -902,7 +894,7 @@ void main() { Builder(builder: (BuildContext context) => container.build(context)), ); - final void Function(int) onPlatformCreatedCallback = + final onPlatformCreatedCallback = verify( mockAndroidViewController.addOnPlatformViewCreatedListener( captureAny, @@ -937,8 +929,8 @@ void main() { late final void Function(ima.VideoAdPlayer, ima.AdMediaInfo) stopAdCallback; - final MockVideoView mockVideoView = MockVideoView(); - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final mockVideoView = MockVideoView(); + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -985,8 +977,7 @@ void main() { ), ); - final MockVideoAdPlayerCallback mockPlayerCallback = - MockVideoAdPlayerCallback(); + final mockPlayerCallback = MockVideoAdPlayerCallback(); addCallbackCallback(MockVideoAdPlayer(), mockPlayerCallback); // Load first Ad diff --git a/packages/interactive_media_ads/test/android/ad_test.dart b/packages/interactive_media_ads/test/android/ad_test.dart index 94153f8a725..ebcecf6b884 100644 --- a/packages/interactive_media_ads/test/android/ad_test.dart +++ b/packages/interactive_media_ads/test/android/ad_test.dart @@ -26,7 +26,7 @@ void main() { }); test('UniversalAdId sets unknown values to null', () async { - final MockAdsManager mockAdsManager = MockAdsManager(); + final mockAdsManager = MockAdsManager(); late final void Function(ima.AdEventListener, ima.AdEvent) onAdEventCallback; @@ -47,7 +47,7 @@ void main() { return MockAdErrorListener(); }; - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final adsManager = AndroidAdsManager(mockAdsManager); await adsManager.setAdsManagerDelegate( AndroidAdsManagerDelegate( @@ -60,7 +60,7 @@ void main() { ), ); - final MockAdEvent mockAdEvent = MockAdEvent(); + final mockAdEvent = MockAdEvent(); when(mockAdEvent.type).thenReturn(ima.AdEventType.allAdsCompleted); when(mockAdEvent.ad).thenReturn( createTestAd( @@ -77,7 +77,7 @@ void main() { }); test('CompanionAd sets 0 values for height/width to null', () async { - final MockAdsManager mockAdsManager = MockAdsManager(); + final mockAdsManager = MockAdsManager(); late final void Function(ima.AdEventListener, ima.AdEvent) onAdEventCallback; @@ -98,7 +98,7 @@ void main() { return MockAdErrorListener(); }; - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final adsManager = AndroidAdsManager(mockAdsManager); await adsManager.setAdsManagerDelegate( AndroidAdsManagerDelegate( @@ -111,7 +111,7 @@ void main() { ), ); - final MockAdEvent mockAdEvent = MockAdEvent(); + final mockAdEvent = MockAdEvent(); when(mockAdEvent.type).thenReturn(ima.AdEventType.allAdsCompleted); when(mockAdEvent.ad).thenReturn( createTestAd( @@ -125,7 +125,7 @@ void main() { }); test('Ad sets durations of -1 to null', () async { - final MockAdsManager mockAdsManager = MockAdsManager(); + final mockAdsManager = MockAdsManager(); late final void Function(ima.AdEventListener, ima.AdEvent) onAdEventCallback; @@ -146,7 +146,7 @@ void main() { return MockAdErrorListener(); }; - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final adsManager = AndroidAdsManager(mockAdsManager); await adsManager.setAdsManagerDelegate( AndroidAdsManagerDelegate( @@ -160,7 +160,7 @@ void main() { ), ); - final MockAdEvent mockAdEvent = MockAdEvent(); + final mockAdEvent = MockAdEvent(); when(mockAdEvent.type).thenReturn(ima.AdEventType.allAdsCompleted); when(mockAdEvent.ad).thenReturn( createTestAd( diff --git a/packages/interactive_media_ads/test/android/ads_loader_test.dart b/packages/interactive_media_ads/test/android/ads_loader_test.dart index e07d8fa6f17..08114dd71ac 100644 --- a/packages/interactive_media_ads/test/android/ads_loader_test.dart +++ b/packages/interactive_media_ads/test/android/ads_loader_test.dart @@ -51,12 +51,12 @@ void main() { tester, ); - final MockImaSdkSettings mockImaSdkSettings = MockImaSdkSettings(); + final mockImaSdkSettings = MockImaSdkSettings(); final MockImaSdkFactory mockSdkFactory = _mockImaSdkFactoryInstance( imaSdkSettings: mockImaSdkSettings, ); - final AndroidImaSettings settings = AndroidImaSettings( + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); @@ -79,8 +79,7 @@ void main() { }); testWidgets('contentComplete', (WidgetTester tester) async { - final MockVideoAdPlayerCallback mockAdPlayerCallback = - MockVideoAdPlayerCallback(); + final mockAdPlayerCallback = MockVideoAdPlayerCallback(); final AndroidAdDisplayContainer container = await _pumpAdDisplayContainer( tester, mockAdPlayerCallback: mockAdPlayerCallback, @@ -88,7 +87,7 @@ void main() { _mockImaSdkFactoryInstance(); - final AndroidAdsLoader loader = AndroidAdsLoader( + final loader = AndroidAdsLoader( AndroidAdsLoaderCreationParams( container: container, settings: AndroidImaSettings( @@ -108,19 +107,19 @@ void main() { tester, ); - final MockAdsLoader mockAdsLoader = MockAdsLoader(); - final MockAdsRequest mockAdsRequest = MockAdsRequest(); + final mockAdsLoader = MockAdsLoader(); + final mockAdsRequest = MockAdsRequest(); _mockImaSdkFactoryInstance( adsRequest: mockAdsRequest, adsLoader: mockAdsLoader, ); - final InteractiveMediaAdsProxy proxy = InteractiveMediaAdsProxy( + final proxy = InteractiveMediaAdsProxy( newContentProgressProvider: () => ima.ContentProgressProvider.pigeon_detached(), ); - final AndroidAdsLoader adsLoader = AndroidAdsLoader( + final adsLoader = AndroidAdsLoader( AndroidAdsLoaderCreationParams( container: container, settings: AndroidImaSettings( @@ -132,10 +131,9 @@ void main() { ), ); - final AndroidContentProgressProvider progressProvider = - AndroidContentProgressProvider( - AndroidContentProgressProviderCreationParams(proxy: proxy), - ); + final progressProvider = AndroidContentProgressProvider( + AndroidContentProgressProviderCreationParams(proxy: proxy), + ); await adsLoader.requestAds( PlatformAdsRequest.withAdTagUrl( adTagUrl: 'url', @@ -174,19 +172,19 @@ void main() { tester, ); - final MockAdsLoader mockAdsLoader = MockAdsLoader(); - final MockAdsRequest mockAdsRequest = MockAdsRequest(); + final mockAdsLoader = MockAdsLoader(); + final mockAdsRequest = MockAdsRequest(); _mockImaSdkFactoryInstance( adsRequest: mockAdsRequest, adsLoader: mockAdsLoader, ); - final InteractiveMediaAdsProxy proxy = InteractiveMediaAdsProxy( + final proxy = InteractiveMediaAdsProxy( newContentProgressProvider: () => ima.ContentProgressProvider.pigeon_detached(), ); - final AndroidAdsLoader adsLoader = AndroidAdsLoader( + final adsLoader = AndroidAdsLoader( AndroidAdsLoaderCreationParams( container: container, settings: AndroidImaSettings( @@ -198,10 +196,9 @@ void main() { ), ); - final AndroidContentProgressProvider progressProvider = - AndroidContentProgressProvider( - AndroidContentProgressProviderCreationParams(proxy: proxy), - ); + final progressProvider = AndroidContentProgressProvider( + AndroidContentProgressProviderCreationParams(proxy: proxy), + ); await adsLoader.requestAds( PlatformAdsRequest.withAdsResponse( adsResponse: 'url', @@ -240,8 +237,8 @@ void main() { tester, ); - final MockAdsLoader mockAdsLoader = MockAdsLoader(); - final Completer addEventListenerCompleter = Completer(); + final mockAdsLoader = MockAdsLoader(); + final addEventListenerCompleter = Completer(); when(mockAdsLoader.addAdsLoadedListener(any)).thenAnswer((_) async { addEventListenerCompleter.complete(); }); @@ -250,7 +247,7 @@ void main() { late final void Function(ima.AdsLoadedListener, ima.AdsManagerLoadedEvent) onAdsManagerLoadedCallback; - final InteractiveMediaAdsProxy proxy = InteractiveMediaAdsProxy( + final proxy = InteractiveMediaAdsProxy( newAdsLoadedListener: ({ required void Function( @@ -279,8 +276,7 @@ void main() { ), ); - final MockAdsManagerLoadedEvent mockLoadedEvent = - MockAdsManagerLoadedEvent(); + final mockLoadedEvent = MockAdsManagerLoadedEvent(); when(mockLoadedEvent.manager).thenReturn(MockAdsManager()); await addEventListenerCompleter.future; @@ -293,8 +289,8 @@ void main() { tester, ); - final MockAdsLoader mockAdsLoader = MockAdsLoader(); - final Completer addErrorListenerCompleter = Completer(); + final mockAdsLoader = MockAdsLoader(); + final addErrorListenerCompleter = Completer(); when(mockAdsLoader.addAdErrorListener(any)).thenAnswer((_) async { addErrorListenerCompleter.complete(); }); @@ -303,7 +299,7 @@ void main() { late final void Function(ima.AdErrorListener, ima.AdErrorEvent) onAdErrorCallback; - final InteractiveMediaAdsProxy proxy = InteractiveMediaAdsProxy( + final proxy = InteractiveMediaAdsProxy( newAdsLoadedListener: ({required dynamic onAdsManagerLoaded}) { return MockAdsLoadedListener(); }, @@ -329,8 +325,8 @@ void main() { ), ); - final MockAdErrorEvent mockErrorEvent = MockAdErrorEvent(); - final MockAdError mockError = MockAdError(); + final mockErrorEvent = MockAdErrorEvent(); + final mockError = MockAdError(); when(mockError.errorType).thenReturn(ima.AdErrorType.load); when( mockError.errorCode, @@ -350,7 +346,7 @@ MockImaSdkFactory _mockImaSdkFactoryInstance({ MockAdsRequest? adsRequest, MockAdsLoader? adsLoader, }) { - final MockImaSdkFactory mockSdkFactory = MockImaSdkFactory(); + final mockSdkFactory = MockImaSdkFactory(); when(mockSdkFactory.createImaSdkSettings()).thenAnswer((_) async { return imaSdkSettings ?? MockImaSdkSettings(); }); @@ -368,7 +364,7 @@ Future _pumpAdDisplayContainer( WidgetTester tester, { MockVideoAdPlayerCallback? mockAdPlayerCallback, }) async { - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newFrameLayout: () => MockFrameLayout(), newVideoView: ({ @@ -397,10 +393,8 @@ Future _pumpAdDisplayContainer( }, ); - final MockPlatformViewsServiceProxy mockPlatformViewsProxy = - MockPlatformViewsServiceProxy(); - final MockSurfaceAndroidViewController mockAndroidViewController = - MockSurfaceAndroidViewController(); + final mockPlatformViewsProxy = MockPlatformViewsServiceProxy(); + final mockAndroidViewController = MockSurfaceAndroidViewController(); late final int platformViewId; when( @@ -417,10 +411,9 @@ Future _pumpAdDisplayContainer( return mockAndroidViewController; }); - final Completer adDisplayContainerCompleter = - Completer(); + final adDisplayContainerCompleter = Completer(); - final AndroidAdDisplayContainer container = AndroidAdDisplayContainer( + final container = AndroidAdDisplayContainer( AndroidAdDisplayContainerCreationParams( onContainerAdded: (PlatformAdDisplayContainer container) { adDisplayContainerCompleter.complete( @@ -436,7 +429,7 @@ Future _pumpAdDisplayContainer( Builder(builder: (BuildContext context) => container.build(context)), ); - final void Function(int) onPlatformCreatedCallback = + final onPlatformCreatedCallback = verify( mockAndroidViewController.addOnPlatformViewCreatedListener( captureAny, diff --git a/packages/interactive_media_ads/test/android/ads_manager_test.dart b/packages/interactive_media_ads/test/android/ads_manager_test.dart index e67fe38b112..04efe4d8014 100644 --- a/packages/interactive_media_ads/test/android/ads_manager_test.dart +++ b/packages/interactive_media_ads/test/android/ads_manager_test.dart @@ -28,26 +28,25 @@ import 'ads_manager_test.mocks.dart'; void main() { group('AndroidAdsManager', () { test('destroy', () { - final MockAdsManager mockAdsManager = MockAdsManager(); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final mockAdsManager = MockAdsManager(); + final adsManager = AndroidAdsManager(mockAdsManager); adsManager.destroy(); verify(mockAdsManager.destroy()); }); test('init', () async { - final MockAdsManager mockAdsManager = MockAdsManager(); + final mockAdsManager = MockAdsManager(); - final MockImaSdkFactory mockImaSdkFactory = MockImaSdkFactory(); - final MockAdsRenderingSettings mockAdsRenderingSettings = - MockAdsRenderingSettings(); + final mockImaSdkFactory = MockImaSdkFactory(); + final mockAdsRenderingSettings = MockAdsRenderingSettings(); when(mockImaSdkFactory.createAdsRenderingSettings()).thenAnswer( (_) => Future.value(mockAdsRenderingSettings), ); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final adsManager = AndroidAdsManager(mockAdsManager); - final AndroidAdsRenderingSettings settings = AndroidAdsRenderingSettings( + final settings = AndroidAdsRenderingSettings( AndroidAdsRenderingSettingsCreationParams( bitrate: 1000, enablePreloading: false, @@ -78,52 +77,52 @@ void main() { }); test('start', () { - final MockAdsManager mockAdsManager = MockAdsManager(); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final mockAdsManager = MockAdsManager(); + final adsManager = AndroidAdsManager(mockAdsManager); adsManager.start(AdsManagerStartParams()); verify(mockAdsManager.start()); }); test('discardAdBreak', () { - final MockAdsManager mockAdsManager = MockAdsManager(); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final mockAdsManager = MockAdsManager(); + final adsManager = AndroidAdsManager(mockAdsManager); adsManager.discardAdBreak(); verify(mockAdsManager.discardAdBreak()); }); test('pause', () { - final MockAdsManager mockAdsManager = MockAdsManager(); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final mockAdsManager = MockAdsManager(); + final adsManager = AndroidAdsManager(mockAdsManager); adsManager.pause(); verify(mockAdsManager.pause()); }); test('skip', () { - final MockAdsManager mockAdsManager = MockAdsManager(); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final mockAdsManager = MockAdsManager(); + final adsManager = AndroidAdsManager(mockAdsManager); adsManager.skip(); verify(mockAdsManager.skip()); }); test('resume', () { - final MockAdsManager mockAdsManager = MockAdsManager(); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final mockAdsManager = MockAdsManager(); + final adsManager = AndroidAdsManager(mockAdsManager); adsManager.resume(); verify(mockAdsManager.resume()); }); test('onAdEvent', () async { - final MockAdsManager mockAdsManager = MockAdsManager(); + final mockAdsManager = MockAdsManager(); late final void Function(ima.AdEventListener, ima.AdEvent) onAdEventCallback; - final InteractiveMediaAdsProxy proxy = InteractiveMediaAdsProxy( + final proxy = InteractiveMediaAdsProxy( newAdEventListener: ({ required void Function(ima.AdEventListener, ima.AdEvent) @@ -137,10 +136,7 @@ void main() { }, ); - final AndroidAdsManager adsManager = AndroidAdsManager( - mockAdsManager, - proxy: proxy, - ); + final adsManager = AndroidAdsManager(mockAdsManager, proxy: proxy); await adsManager.setAdsManagerDelegate( AndroidAdsManagerDelegate( PlatformAdsManagerDelegateCreationParams( @@ -152,19 +148,19 @@ void main() { ), ); - final MockAdEvent mockAdEvent = MockAdEvent(); + final mockAdEvent = MockAdEvent(); when(mockAdEvent.type).thenReturn(ima.AdEventType.allAdsCompleted); when(mockAdEvent.adData).thenReturn({'hello': 'world'}); onAdEventCallback(MockAdEventListener(), mockAdEvent); }); test('onAdErrorEvent', () async { - final MockAdsManager mockAdsManager = MockAdsManager(); + final mockAdsManager = MockAdsManager(); late final void Function(ima.AdErrorListener, ima.AdErrorEvent) onAdErrorCallback; - final InteractiveMediaAdsProxy proxy = InteractiveMediaAdsProxy( + final proxy = InteractiveMediaAdsProxy( newAdEventListener: ({required dynamic onAdEvent}) { return MockAdEventListener(); }, @@ -178,10 +174,7 @@ void main() { }, ); - final AndroidAdsManager adsManager = AndroidAdsManager( - mockAdsManager, - proxy: proxy, - ); + final adsManager = AndroidAdsManager(mockAdsManager, proxy: proxy); await adsManager.setAdsManagerDelegate( AndroidAdsManagerDelegate( PlatformAdsManagerDelegateCreationParams( @@ -190,8 +183,8 @@ void main() { ), ); - final MockAdErrorEvent mockErrorEvent = MockAdErrorEvent(); - final MockAdError mockError = MockAdError(); + final mockErrorEvent = MockAdErrorEvent(); + final mockError = MockAdError(); when(mockError.errorType).thenReturn(ima.AdErrorType.load); when( mockError.errorCode, @@ -202,11 +195,11 @@ void main() { }); test('adCuePoints', () { - final MockAdsManager mockAdsManager = MockAdsManager(); + final mockAdsManager = MockAdsManager(); - final List cuePoints = [1.0]; + final cuePoints = [1.0]; when(mockAdsManager.adCuePoints).thenReturn(cuePoints); - final AndroidAdsManager adsManager = AndroidAdsManager(mockAdsManager); + final adsManager = AndroidAdsManager(mockAdsManager); expect(adsManager.adCuePoints, [const Duration(seconds: 1)]); }); diff --git a/packages/interactive_media_ads/test/android/companion_ad_slot_test.dart b/packages/interactive_media_ads/test/android/companion_ad_slot_test.dart index ffde3f4d2c1..24b15914b38 100644 --- a/packages/interactive_media_ads/test/android/companion_ad_slot_test.dart +++ b/packages/interactive_media_ads/test/android/companion_ad_slot_test.dart @@ -21,28 +21,27 @@ import 'companion_ad_slot_test.mocks.dart'; void main() { group('AndroidCompanionAdSlot', () { test('instantiate CompanionAdSlot with size', () async { - final ima.FrameLayout frameLayout = ima.FrameLayout.pigeon_detached( + final frameLayout = ima.FrameLayout.pigeon_detached( pigeon_instanceManager: _TestInstanceManager(), ); - final MockCompanionAdSlot mockCompanionAdSlot = MockCompanionAdSlot(); - final AndroidCompanionAdSlotCreationParams params = - AndroidCompanionAdSlotCreationParams( - size: CompanionAdSlotSize.fixed(width: 300, height: 400), - proxy: InteractiveMediaAdsProxy( - newFrameLayout: () { - return frameLayout; - }, - instanceImaSdkFactory: () { - final MockImaSdkFactory mockFactory = MockImaSdkFactory(); - when( - mockFactory.createCompanionAdSlot(), - ).thenAnswer((_) async => mockCompanionAdSlot); - return mockFactory; - }, - ), - ); + final mockCompanionAdSlot = MockCompanionAdSlot(); + final params = AndroidCompanionAdSlotCreationParams( + size: CompanionAdSlotSize.fixed(width: 300, height: 400), + proxy: InteractiveMediaAdsProxy( + newFrameLayout: () { + return frameLayout; + }, + instanceImaSdkFactory: () { + final mockFactory = MockImaSdkFactory(); + when( + mockFactory.createCompanionAdSlot(), + ).thenAnswer((_) async => mockCompanionAdSlot); + return mockFactory; + }, + ), + ); - final AndroidCompanionAdSlot adSlot = AndroidCompanionAdSlot(params); + final adSlot = AndroidCompanionAdSlot(params); await adSlot.getNativeCompanionAdSlot(); verify(mockCompanionAdSlot.setContainer(frameLayout)); @@ -50,41 +49,40 @@ void main() { }); test('AndroidCompanionAdSlot receives onClick', () async { - final MockCompanionAdSlot mockCompanionAdSlot = MockCompanionAdSlot(); - final AndroidCompanionAdSlotCreationParams params = - AndroidCompanionAdSlotCreationParams( - size: CompanionAdSlotSize.fixed(width: 300, height: 400), - onClicked: expectAsync0(() {}), - proxy: InteractiveMediaAdsProxy( - newFrameLayout: () { - return ima.FrameLayout.pigeon_detached( + final mockCompanionAdSlot = MockCompanionAdSlot(); + final params = AndroidCompanionAdSlotCreationParams( + size: CompanionAdSlotSize.fixed(width: 300, height: 400), + onClicked: expectAsync0(() {}), + proxy: InteractiveMediaAdsProxy( + newFrameLayout: () { + return ima.FrameLayout.pigeon_detached( + pigeon_instanceManager: _TestInstanceManager(), + ); + }, + instanceImaSdkFactory: () { + final mockFactory = MockImaSdkFactory(); + when( + mockFactory.createCompanionAdSlot(), + ).thenAnswer((_) async => mockCompanionAdSlot); + return mockFactory; + }, + newCompanionAdSlotClickListener: + ({ + required void Function(ima.CompanionAdSlotClickListener) + onCompanionAdClick, + }) { + return ima.CompanionAdSlotClickListener.pigeon_detached( + onCompanionAdClick: onCompanionAdClick, pigeon_instanceManager: _TestInstanceManager(), ); }, - instanceImaSdkFactory: () { - final MockImaSdkFactory mockFactory = MockImaSdkFactory(); - when( - mockFactory.createCompanionAdSlot(), - ).thenAnswer((_) async => mockCompanionAdSlot); - return mockFactory; - }, - newCompanionAdSlotClickListener: - ({ - required void Function(ima.CompanionAdSlotClickListener) - onCompanionAdClick, - }) { - return ima.CompanionAdSlotClickListener.pigeon_detached( - onCompanionAdClick: onCompanionAdClick, - pigeon_instanceManager: _TestInstanceManager(), - ); - }, - ), - ); + ), + ); - final AndroidCompanionAdSlot adSlot = AndroidCompanionAdSlot(params); + final adSlot = AndroidCompanionAdSlot(params); await adSlot.getNativeCompanionAdSlot(); - final ima.CompanionAdSlotClickListener clickListener = + final clickListener = verify( mockCompanionAdSlot.addClickListener(captureAny), ).captured.single diff --git a/packages/interactive_media_ads/test/android/content_progress_provider_test.dart b/packages/interactive_media_ads/test/android/content_progress_provider_test.dart index 19d161485d5..8a7ddf7e9d8 100644 --- a/packages/interactive_media_ads/test/android/content_progress_provider_test.dart +++ b/packages/interactive_media_ads/test/android/content_progress_provider_test.dart @@ -16,27 +16,25 @@ import 'content_progress_provider_test.mocks.dart'; void main() { group('AndroidContentProgressProvider', () { test('setProgress', () async { - final MockContentProgressProvider mockContentProgressProvider = - MockContentProgressProvider(); + final mockContentProgressProvider = MockContentProgressProvider(); - final AndroidContentProgressProvider provider = - AndroidContentProgressProvider( - AndroidContentProgressProviderCreationParams( - proxy: InteractiveMediaAdsProxy( - newContentProgressProvider: () => mockContentProgressProvider, - newVideoProgressUpdate: - ({required int currentTimeMs, required int durationMs}) { - expect(currentTimeMs, 1000); - expect(durationMs, 10000); - return ima.VideoProgressUpdate.pigeon_detached( - pigeon_instanceManager: ima.PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - ), - ), - ); + final provider = AndroidContentProgressProvider( + AndroidContentProgressProviderCreationParams( + proxy: InteractiveMediaAdsProxy( + newContentProgressProvider: () => mockContentProgressProvider, + newVideoProgressUpdate: + ({required int currentTimeMs, required int durationMs}) { + expect(currentTimeMs, 1000); + expect(durationMs, 10000); + return ima.VideoProgressUpdate.pigeon_detached( + pigeon_instanceManager: ima.PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ), + ); + }, + ), + ), + ); await provider.setProgress( progress: const Duration(seconds: 1), diff --git a/packages/interactive_media_ads/test/android/ima_settings_test.dart b/packages/interactive_media_ads/test/android/ima_settings_test.dart index fbd9da60c57..91a1fa6fe48 100644 --- a/packages/interactive_media_ads/test/android/ima_settings_test.dart +++ b/packages/interactive_media_ads/test/android/ima_settings_test.dart @@ -25,8 +25,8 @@ void main() { test('language', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const String language = 'en'; - final AndroidImaSettings settings = AndroidImaSettings( + const language = 'en'; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(language: language), ); @@ -37,8 +37,8 @@ void main() { test('setAutoPlayAdBreaks', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const bool autoPlayAdBreaks = true; - final AndroidImaSettings settings = AndroidImaSettings( + const autoPlayAdBreaks = true; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setAutoPlayAdBreaks(autoPlayAdBreaks); @@ -49,8 +49,8 @@ void main() { test('setDebugMode', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const bool debugMode = false; - final AndroidImaSettings settings = AndroidImaSettings( + const debugMode = false; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setDebugMode(debugMode); @@ -61,8 +61,8 @@ void main() { test('setFeatureFlags', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const Map featureFlags = {'a': 'flag'}; - final AndroidImaSettings settings = AndroidImaSettings( + const featureFlags = {'a': 'flag'}; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setFeatureFlags(featureFlags); @@ -73,8 +73,8 @@ void main() { test('setMaxRedirects', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const int maxRedirects = 12; - final AndroidImaSettings settings = AndroidImaSettings( + const maxRedirects = 12; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setMaxRedirects(maxRedirects); @@ -85,8 +85,8 @@ void main() { test('setPlayerType', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const String playerType = 'playerType'; - final AndroidImaSettings settings = AndroidImaSettings( + const playerType = 'playerType'; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setPlayerType(playerType); @@ -97,8 +97,8 @@ void main() { test('setPlayerVersion', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const String playerVersion = 'playerVersion'; - final AndroidImaSettings settings = AndroidImaSettings( + const playerVersion = 'playerVersion'; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setPlayerVersion(playerVersion); @@ -109,8 +109,8 @@ void main() { test('setPpid', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const String ppid = 'ppid'; - final AndroidImaSettings settings = AndroidImaSettings( + const ppid = 'ppid'; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setPpid(ppid); @@ -121,8 +121,8 @@ void main() { test('setSessionID', () async { final MockImaSdkSettings mockImaSdkSettings = _mockImaSdkSettings(); - const String sessionID = 'sessionID'; - final AndroidImaSettings settings = AndroidImaSettings( + const sessionID = 'sessionID'; + final settings = AndroidImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setSessionID(sessionID); @@ -133,8 +133,8 @@ void main() { } MockImaSdkSettings _mockImaSdkSettings() { - final MockImaSdkFactory mockImaSdkFactory = MockImaSdkFactory(); - final MockImaSdkSettings mockImaSdkSettings = MockImaSdkSettings(); + final mockImaSdkFactory = MockImaSdkFactory(); + final mockImaSdkSettings = MockImaSdkSettings(); when( mockImaSdkFactory.createImaSdkSettings(), ).thenAnswer((_) async => mockImaSdkSettings); diff --git a/packages/interactive_media_ads/test/companion_ad_slot_test.dart b/packages/interactive_media_ads/test/companion_ad_slot_test.dart index 75b12054626..ab51c8556c1 100644 --- a/packages/interactive_media_ads/test/companion_ad_slot_test.dart +++ b/packages/interactive_media_ads/test/companion_ad_slot_test.dart @@ -13,7 +13,7 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); testWidgets('buildWidget', (WidgetTester tester) async { - final TestCompanionAdSlot slot = TestCompanionAdSlot( + final slot = TestCompanionAdSlot( PlatformCompanionAdSlotCreationParams(size: CompanionAdSlotSize.fluid()), onBuildWidget: (_) => Container(), ); diff --git a/packages/interactive_media_ads/test/content_progress_provider_test.dart b/packages/interactive_media_ads/test/content_progress_provider_test.dart index b35b29656de..e128b3c786f 100644 --- a/packages/interactive_media_ads/test/content_progress_provider_test.dart +++ b/packages/interactive_media_ads/test/content_progress_provider_test.dart @@ -13,18 +13,16 @@ void main() { late final Duration callbackProgress; late final Duration callbackDuration; - final TestContentProgressProvider platformProvider = - TestContentProgressProvider( - const PlatformContentProgressProviderCreationParams(), - onSetProgress: - ({required Duration progress, required Duration duration}) async { - callbackProgress = progress; - callbackDuration = duration; - }, - ); + final platformProvider = TestContentProgressProvider( + const PlatformContentProgressProviderCreationParams(), + onSetProgress: + ({required Duration progress, required Duration duration}) async { + callbackProgress = progress; + callbackDuration = duration; + }, + ); - final ContentProgressProvider provider = - ContentProgressProvider.fromPlatform(platformProvider); + final provider = ContentProgressProvider.fromPlatform(platformProvider); await provider.setProgress( progress: const Duration(seconds: 1), diff --git a/packages/interactive_media_ads/test/ima_settings_test.dart b/packages/interactive_media_ads/test/ima_settings_test.dart index 4886ca2b987..75507272340 100644 --- a/packages/interactive_media_ads/test/ima_settings_test.dart +++ b/packages/interactive_media_ads/test/ima_settings_test.dart @@ -10,106 +10,106 @@ import 'test_stubs.dart'; void main() { test('setAutoPlayAdBreaks', () async { - const bool autoPlayAdBreaks = false; - final TestImaSettings platformSettings = TestImaSettings( + const autoPlayAdBreaks = false; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetAutoPlayAdBreaks: expectAsync1((bool value) { expect(autoPlayAdBreaks, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setAutoPlayAdBreaks(autoPlayAdBreaks); }); test('setDebugMode', () async { - const bool debugMode = true; - final TestImaSettings platformSettings = TestImaSettings( + const debugMode = true; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetDebugMode: expectAsync1((bool value) { expect(debugMode, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setDebugMode(debugMode); }); test('setFeatureFlags', () async { - const Map featureFlags = {}; - final TestImaSettings platformSettings = TestImaSettings( + const featureFlags = {}; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetFeatureFlags: expectAsync1((Map value) { expect(featureFlags, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setFeatureFlags(featureFlags); }); test('setMaxRedirects', () async { - const int maxRedirects = 11; - final TestImaSettings platformSettings = TestImaSettings( + const maxRedirects = 11; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetMaxRedirects: expectAsync1((int value) { expect(maxRedirects, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setMaxRedirects(maxRedirects); }); test('setPlayerType', () async { - const String playerType = 'playerType'; - final TestImaSettings platformSettings = TestImaSettings( + const playerType = 'playerType'; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetPlayerType: expectAsync1((String value) { expect(playerType, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setPlayerType(playerType); }); test('setPlayerVersion', () async { - const String playerVersion = 'playerVersion'; - final TestImaSettings platformSettings = TestImaSettings( + const playerVersion = 'playerVersion'; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetPlayerVersion: expectAsync1((String value) { expect(playerVersion, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setPlayerVersion(playerVersion); }); test('setPpid', () async { - const String ppid = 'ppid'; - final TestImaSettings platformSettings = TestImaSettings( + const ppid = 'ppid'; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetPpid: expectAsync1((String value) { expect(ppid, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setPpid(ppid); }); test('setSessionID', () async { - const String sessionID = 'session'; - final TestImaSettings platformSettings = TestImaSettings( + const sessionID = 'session'; + final platformSettings = TestImaSettings( const PlatformImaSettingsCreationParams(), onSetSessionID: expectAsync1((String value) { expect(sessionID, value); }), ); - final ImaSettings settings = ImaSettings.fromPlatform(platformSettings); + final settings = ImaSettings.fromPlatform(platformSettings); await settings.setSessionID(sessionID); }); } diff --git a/packages/interactive_media_ads/test/ios/ad_display_container_test.dart b/packages/interactive_media_ads/test/ios/ad_display_container_test.dart index bb343feaae8..5b842cdc7cb 100644 --- a/packages/interactive_media_ads/test/ios/ad_display_container_test.dart +++ b/packages/interactive_media_ads/test/ios/ad_display_container_test.dart @@ -27,7 +27,7 @@ void main() { group('IOSAdDisplayContainer', () { testWidgets('build with key', (WidgetTester tester) async { - final IOSAdDisplayContainer container = IOSAdDisplayContainer( + final container = IOSAdDisplayContainer( IOSAdDisplayContainerCreationParams( key: const Key('testKey'), onContainerAdded: (_) {}, @@ -44,20 +44,20 @@ void main() { testWidgets('onContainerAdded is called', (WidgetTester tester) async { late final void Function(UIViewController, bool) viewDidAppearCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newUIViewController: ({void Function(UIViewController, bool)? viewDidAppear}) { viewDidAppearCallback = viewDidAppear!; - final PigeonInstanceManager instanceManager = - PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); - final UIView view = UIView.pigeon_detached( + final instanceManager = PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); + final view = UIView.pigeon_detached( pigeon_instanceManager: instanceManager, ); instanceManager.addDartCreatedInstance(view); - final MockUIViewController mockController = - MockUIViewController(); + final mockController = MockUIViewController(); when(mockController.view).thenReturn(view); return mockController; }, @@ -69,9 +69,9 @@ void main() { }) => MockIMAAdDisplayContainer(), ); - final Completer onContainerAddedCompleter = Completer(); + final onContainerAddedCompleter = Completer(); - final IOSAdDisplayContainer container = IOSAdDisplayContainer( + final container = IOSAdDisplayContainer( IOSAdDisplayContainerCreationParams( onContainerAdded: (_) => onContainerAddedCompleter.complete(), imaProxy: imaProxy, @@ -82,8 +82,7 @@ void main() { Builder(builder: (BuildContext context) => container.build(context)), ); - final UiKitView view = - find.byType(UiKitView).evaluate().single.widget as UiKitView; + final view = find.byType(UiKitView).evaluate().single.widget as UiKitView; view.onPlatformViewCreated!.call(0); // Ensure onContainerAdded is not called until viewDidAppear is called. @@ -98,27 +97,24 @@ void main() { testWidgets('AdDisplayContainer ads CompanionAdSlots', ( WidgetTester tester, ) async { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final MockIMACompanionAdSlot mockCompanionAdSlot = - MockIMACompanionAdSlot(); + final mockCompanionAdSlot = MockIMACompanionAdSlot(); late final void Function(UIViewController, bool) viewDidAppearCallback; - final Completer?> addedAdSlotsCompleter = - Completer?>(); - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final addedAdSlotsCompleter = Completer?>(); + final imaProxy = InteractiveMediaAdsProxy( newUIViewController: ({void Function(UIViewController, bool)? viewDidAppear}) { viewDidAppearCallback = viewDidAppear!; - final UIView view = UIView.pigeon_detached( + final view = UIView.pigeon_detached( pigeon_instanceManager: instanceManager, ); instanceManager.addDartCreatedInstance(view); - final MockUIViewController mockController = - MockUIViewController(); + final mockController = MockUIViewController(); when(mockController.view).thenReturn(view); return mockController; }, @@ -144,9 +140,9 @@ void main() { }, ); - final Completer onContainerAddedCompleter = Completer(); + final onContainerAddedCompleter = Completer(); - final IOSAdDisplayContainer container = IOSAdDisplayContainer( + final container = IOSAdDisplayContainer( IOSAdDisplayContainerCreationParams( onContainerAdded: (_) => onContainerAddedCompleter.complete(), companionSlots: [ @@ -165,8 +161,7 @@ void main() { Builder(builder: (BuildContext context) => container.build(context)), ); - final UiKitView view = - find.byType(UiKitView).evaluate().single.widget as UiKitView; + final view = find.byType(UiKitView).evaluate().single.widget as UiKitView; view.onPlatformViewCreated!.call(0); viewDidAppearCallback(MockUIViewController(), true); diff --git a/packages/interactive_media_ads/test/ios/ad_test.dart b/packages/interactive_media_ads/test/ios/ad_test.dart index 8151a24631d..35606233097 100644 --- a/packages/interactive_media_ads/test/ios/ad_test.dart +++ b/packages/interactive_media_ads/test/ios/ad_test.dart @@ -48,7 +48,7 @@ void main() { return delegate; }; - final IOSAdsManagerDelegate adsManagerDelegate = IOSAdsManagerDelegate( + final adsManagerDelegate = IOSAdsManagerDelegate( IOSAdsManagerDelegateCreationParams( onAdEvent: expectAsync1((PlatformAdEvent event) { expect(event.ad!.universalAdIds.single.adIdValue, isNull); @@ -113,7 +113,7 @@ void main() { return delegate; }; - final IOSAdsManagerDelegate adsManagerDelegate = IOSAdsManagerDelegate( + final adsManagerDelegate = IOSAdsManagerDelegate( IOSAdsManagerDelegateCreationParams( onAdEvent: expectAsync1((PlatformAdEvent event) { expect(event.ad!.companionAds.single.width, isNull); @@ -175,7 +175,7 @@ void main() { return delegate; }; - final IOSAdsManagerDelegate adsManagerDelegate = IOSAdsManagerDelegate( + final adsManagerDelegate = IOSAdsManagerDelegate( IOSAdsManagerDelegateCreationParams( onAdEvent: expectAsync1((PlatformAdEvent event) { expect(event.ad!.duration, isNull); diff --git a/packages/interactive_media_ads/test/ios/ads_loader_test.dart b/packages/interactive_media_ads/test/ios/ads_loader_test.dart index 171ea2c1411..65a9c053eed 100644 --- a/packages/interactive_media_ads/test/ios/ads_loader_test.dart +++ b/packages/interactive_media_ads/test/ios/ads_loader_test.dart @@ -55,12 +55,12 @@ void main() { ima.PigeonOverrides.iMASettings_new = () => MockIMASettings(); - final MockIMAAdsLoader mockLoader = MockIMAAdsLoader(); - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final mockLoader = MockIMAAdsLoader(); + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsLoader: ({ima.IMASettings? settings}) => mockLoader, ); - final IOSAdsLoader loader = IOSAdsLoader( + final loader = IOSAdsLoader( IOSAdsLoaderCreationParams( container: container, settings: IOSImaSettings(const PlatformImaSettingsCreationParams()), @@ -81,13 +81,12 @@ void main() { ima.PigeonOverrides.iMASettings_new = () => MockIMASettings(); - const String adTag = 'myAdTag'; + const adTag = 'myAdTag'; - final MockIMAAdsLoader mockLoader = MockIMAAdsLoader(); - final ima.IMAContentPlayhead contentPlayheadInstance = - ima.IMAContentPlayhead(); - final MockIMAAdsRequest mockRequest = MockIMAAdsRequest(); - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final mockLoader = MockIMAAdsLoader(); + final contentPlayheadInstance = ima.IMAContentPlayhead(); + final mockRequest = MockIMAAdsRequest(); + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsLoader: ({ima.IMASettings? settings}) => mockLoader, newIMAContentPlayhead: () => contentPlayheadInstance, ); @@ -104,7 +103,7 @@ void main() { return mockRequest; }; - final IOSAdsLoader loader = IOSAdsLoader( + final loader = IOSAdsLoader( IOSAdsLoaderCreationParams( container: container, settings: IOSImaSettings(const PlatformImaSettingsCreationParams()), @@ -114,7 +113,7 @@ void main() { ), ); - final IOSContentProgressProvider provider = IOSContentProgressProvider( + final provider = IOSContentProgressProvider( IOSContentProgressProviderCreationParams(proxy: imaProxy), ); @@ -159,7 +158,7 @@ void main() { ) adLoaderLoadedWithCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsLoader: ({ima.IMASettings? settings}) => MockIMAAdsLoader(), newIMAAdsLoaderDelegate: ({ @@ -176,7 +175,7 @@ void main() { }, ); - final IOSAdsLoader adsLoader = IOSAdsLoader( + final adsLoader = IOSAdsLoader( IOSAdsLoaderCreationParams( container: container, settings: IOSImaSettings(const PlatformImaSettingsCreationParams()), @@ -214,7 +213,7 @@ void main() { ) adsLoaderFailedWithErrorDataCallback; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsLoader: ({ima.IMASettings? settings}) => MockIMAAdsLoader(), newIMAAdsLoaderDelegate: ({ @@ -232,7 +231,7 @@ void main() { }, ); - final IOSAdsLoader adsLoader = IOSAdsLoader( + final adsLoader = IOSAdsLoader( IOSAdsLoaderCreationParams( container: container, settings: IOSImaSettings(const PlatformImaSettingsCreationParams()), @@ -247,8 +246,9 @@ void main() { // Trigger lazy initialization of native IMAAdsLoader await adsLoader.contentComplete(); - final ima.PigeonInstanceManager instanceManager = - ima.PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); + final instanceManager = ima.PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); adsLoaderFailedWithErrorDataCallback( MockIMAAdsLoaderDelegate(), @@ -269,17 +269,18 @@ void main() { Future _pumpAdDisplayContainer( WidgetTester tester, ) async { - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newUIViewController: ({void Function(ima.UIViewController, bool)? viewDidAppear}) { - final ima.PigeonInstanceManager instanceManager = - ima.PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); - final ima.UIView view = ima.UIView.pigeon_detached( + final instanceManager = ima.PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); + final view = ima.UIView.pigeon_detached( pigeon_instanceManager: instanceManager, ); instanceManager.addDartCreatedInstance(view); - final MockUIViewController mockController = MockUIViewController(); + final mockController = MockUIViewController(); viewDidAppear!.call(mockController, true); when(mockController.view).thenReturn(view); return mockController; @@ -292,7 +293,7 @@ Future _pumpAdDisplayContainer( }) => MockIMAAdDisplayContainer(), ); - final IOSAdDisplayContainer container = IOSAdDisplayContainer( + final container = IOSAdDisplayContainer( IOSAdDisplayContainerCreationParams( onContainerAdded: expectAsync1((_) {}), imaProxy: imaProxy, @@ -303,8 +304,7 @@ Future _pumpAdDisplayContainer( Builder(builder: (BuildContext context) => container.build(context)), ); - final UiKitView view = - find.byType(UiKitView).evaluate().single.widget as UiKitView; + final view = find.byType(UiKitView).evaluate().single.widget as UiKitView; view.onPlatformViewCreated!.call(0); await tester.pumpAndSettle(const Duration(seconds: 1)); diff --git a/packages/interactive_media_ads/test/ios/ads_manager_delegate_test.dart b/packages/interactive_media_ads/test/ios/ads_manager_delegate_test.dart index 4662ed0535c..2f5421c2407 100644 --- a/packages/interactive_media_ads/test/ios/ads_manager_delegate_test.dart +++ b/packages/interactive_media_ads/test/ios/ads_manager_delegate_test.dart @@ -12,8 +12,9 @@ import 'package:interactive_media_ads/src/platform_interface/platform_interface. void main() { group('IOSAdsManagerDelegate', () { test('didReceiveAdEvent calls onAdEvent', () { - final ima.PigeonInstanceManager instanceManager = - ima.PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); + final instanceManager = ima.PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); late final void Function( ima.IMAAdsManagerDelegate, @@ -23,7 +24,7 @@ void main() { didReceiveAdEventCallback; late final ima.IMAAdsManagerDelegate delegate; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsManagerDelegate: ({ required void Function( @@ -61,7 +62,7 @@ void main() { }, ); - final IOSAdsManagerDelegate adsManagerDelegate = IOSAdsManagerDelegate( + final adsManagerDelegate = IOSAdsManagerDelegate( IOSAdsManagerDelegateCreationParams( onAdEvent: expectAsync1((PlatformAdEvent event) { expect(event.type, AdEventType.allAdsCompleted); @@ -91,14 +92,15 @@ void main() { }); test('didRequestContentPause calls onAdEvent', () { - final ima.PigeonInstanceManager instanceManager = - ima.PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); + final instanceManager = ima.PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); late final void Function(ima.IMAAdsManagerDelegate, ima.IMAAdsManager) didRequestContentPauseCallback; late final ima.IMAAdsManagerDelegate delegate; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsManagerDelegate: ({ required void Function( @@ -136,7 +138,7 @@ void main() { }, ); - final IOSAdsManagerDelegate adsManagerDelegate = IOSAdsManagerDelegate( + final adsManagerDelegate = IOSAdsManagerDelegate( IOSAdsManagerDelegateCreationParams( onAdEvent: expectAsync1((PlatformAdEvent event) { expect(event.type, AdEventType.contentPauseRequested); @@ -159,14 +161,15 @@ void main() { }); test('didRequestContentResume calls onAdEvent', () { - final ima.PigeonInstanceManager instanceManager = - ima.PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); + final instanceManager = ima.PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); late final void Function(ima.IMAAdsManagerDelegate, ima.IMAAdsManager) didRequestContentResumeCallback; late final ima.IMAAdsManagerDelegate delegate; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsManagerDelegate: ({ required void Function( @@ -204,7 +207,7 @@ void main() { }, ); - final IOSAdsManagerDelegate adsManagerDelegate = IOSAdsManagerDelegate( + final adsManagerDelegate = IOSAdsManagerDelegate( IOSAdsManagerDelegateCreationParams( onAdEvent: expectAsync1((PlatformAdEvent event) { expect(event.type, AdEventType.contentResumeRequested); @@ -227,8 +230,9 @@ void main() { }); test('didReceiveAdError calls onAdErrorEvent', () { - final ima.PigeonInstanceManager instanceManager = - ima.PigeonInstanceManager(onWeakReferenceRemoved: (_) {}); + final instanceManager = ima.PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); late final void Function( ima.IMAAdsManagerDelegate, @@ -238,7 +242,7 @@ void main() { didReceiveAdErrorCallback; late final ima.IMAAdsManagerDelegate delegate; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsManagerDelegate: ({ required void Function( @@ -276,7 +280,7 @@ void main() { }, ); - final IOSAdsManagerDelegate adsManagerDelegate = IOSAdsManagerDelegate( + final adsManagerDelegate = IOSAdsManagerDelegate( IOSAdsManagerDelegateCreationParams( onAdErrorEvent: expectAsync1((AdErrorEvent event) { expect(event.error.type, AdErrorType.loading); diff --git a/packages/interactive_media_ads/test/ios/ads_manager_test.dart b/packages/interactive_media_ads/test/ios/ads_manager_test.dart index e042f78777d..3413bdb5dd0 100644 --- a/packages/interactive_media_ads/test/ios/ads_manager_test.dart +++ b/packages/interactive_media_ads/test/ios/ads_manager_test.dart @@ -22,22 +22,21 @@ import 'ads_manager_test.mocks.dart'; void main() { group('IOSAdsManager', () { test('destroy', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final mockAdsManager = MockIMAAdsManager(); + final adsManager = IOSAdsManager(mockAdsManager); adsManager.destroy(); verify(mockAdsManager.destroy()); }); test('init', () async { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); + final mockAdsManager = MockIMAAdsManager(); - final MockIMAAdsRenderingSettings mockAdsRenderingSettings = - MockIMAAdsRenderingSettings(); + final mockAdsRenderingSettings = MockIMAAdsRenderingSettings(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final adsManager = IOSAdsManager(mockAdsManager); - final IOSAdsRenderingSettings settings = IOSAdsRenderingSettings( + final settings = IOSAdsRenderingSettings( IOSAdsRenderingSettingsCreationParams( bitrate: 1000, enablePreloading: false, @@ -66,51 +65,51 @@ void main() { }); test('start', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final mockAdsManager = MockIMAAdsManager(); + final adsManager = IOSAdsManager(mockAdsManager); adsManager.start(AdsManagerStartParams()); verify(mockAdsManager.start()); }); test('discardAdBreak', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final mockAdsManager = MockIMAAdsManager(); + final adsManager = IOSAdsManager(mockAdsManager); adsManager.discardAdBreak(); verify(mockAdsManager.discardAdBreak()); }); test('pause', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final mockAdsManager = MockIMAAdsManager(); + final adsManager = IOSAdsManager(mockAdsManager); adsManager.pause(); verify(mockAdsManager.pause()); }); test('skip', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final mockAdsManager = MockIMAAdsManager(); + final adsManager = IOSAdsManager(mockAdsManager); adsManager.skip(); verify(mockAdsManager.skip()); }); test('resume', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final mockAdsManager = MockIMAAdsManager(); + final adsManager = IOSAdsManager(mockAdsManager); adsManager.resume(); verify(mockAdsManager.resume()); }); test('setAdsManagerDelegate', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final mockAdsManager = MockIMAAdsManager(); + final adsManager = IOSAdsManager(mockAdsManager); late final ima.IMAAdsManagerDelegate delegate; - final InteractiveMediaAdsProxy imaProxy = InteractiveMediaAdsProxy( + final imaProxy = InteractiveMediaAdsProxy( newIMAAdsManagerDelegate: ({ required void Function( @@ -159,11 +158,11 @@ void main() { }); test('adCuePoints', () { - final MockIMAAdsManager mockAdsManager = MockIMAAdsManager(); + final mockAdsManager = MockIMAAdsManager(); - final List cuePoints = [1.0]; + final cuePoints = [1.0]; when(mockAdsManager.adCuePoints).thenReturn(cuePoints); - final IOSAdsManager adsManager = IOSAdsManager(mockAdsManager); + final adsManager = IOSAdsManager(mockAdsManager); expect(adsManager.adCuePoints, [const Duration(seconds: 1)]); }); diff --git a/packages/interactive_media_ads/test/ios/companion_ad_slot_test.dart b/packages/interactive_media_ads/test/ios/companion_ad_slot_test.dart index 451e7e2f0fc..848a747b802 100644 --- a/packages/interactive_media_ads/test/ios/companion_ad_slot_test.dart +++ b/packages/interactive_media_ads/test/ios/companion_ad_slot_test.dart @@ -16,79 +16,71 @@ import 'companion_ad_slot_test.mocks.dart'; void main() { group('IOSCompanionAdSlot', () { test('instantiate CompanionAdSlot with size', () async { - final MockIMACompanionAdSlot mockCompanionAdSlot = - MockIMACompanionAdSlot(); - final IOSCompanionAdSlotCreationParams params = - IOSCompanionAdSlotCreationParams( - size: CompanionAdSlotSize.fixed(width: 300, height: 400), - proxy: InteractiveMediaAdsProxy( - sizeIMACompanionAdSlot: - ({ - required int width, - required int height, - required UIView view, - }) { - expect(width, 300); - expect(height, 400); - return mockCompanionAdSlot; - }, - newUIView: () { - return UIView.pigeon_detached( - pigeon_instanceManager: _TestInstanceManager(), - ); + final mockCompanionAdSlot = MockIMACompanionAdSlot(); + final params = IOSCompanionAdSlotCreationParams( + size: CompanionAdSlotSize.fixed(width: 300, height: 400), + proxy: InteractiveMediaAdsProxy( + sizeIMACompanionAdSlot: + ({ + required int width, + required int height, + required UIView view, + }) { + expect(width, 300); + expect(height, 400); + return mockCompanionAdSlot; }, - ), - ); + newUIView: () { + return UIView.pigeon_detached( + pigeon_instanceManager: _TestInstanceManager(), + ); + }, + ), + ); - final IOSCompanionAdSlot adSlot = IOSCompanionAdSlot(params); + final adSlot = IOSCompanionAdSlot(params); expect(adSlot.nativeCompanionAdSlot, mockCompanionAdSlot); }); test('IOSCompanionAdSlot receives onClick', () async { - final MockIMACompanionAdSlot mockCompanionAdSlot = - MockIMACompanionAdSlot(); - final IOSCompanionAdSlotCreationParams params = - IOSCompanionAdSlotCreationParams( - size: CompanionAdSlotSize.fixed(width: 300, height: 400), - onClicked: expectAsync0(() {}), - proxy: InteractiveMediaAdsProxy( - sizeIMACompanionAdSlot: - ({ - required int width, - required int height, - required UIView view, - }) { - return mockCompanionAdSlot; - }, - newUIView: () { - return UIView.pigeon_detached( + final mockCompanionAdSlot = MockIMACompanionAdSlot(); + final params = IOSCompanionAdSlotCreationParams( + size: CompanionAdSlotSize.fixed(width: 300, height: 400), + onClicked: expectAsync0(() {}), + proxy: InteractiveMediaAdsProxy( + sizeIMACompanionAdSlot: + ({ + required int width, + required int height, + required UIView view, + }) { + return mockCompanionAdSlot; + }, + newUIView: () { + return UIView.pigeon_detached( + pigeon_instanceManager: _TestInstanceManager(), + ); + }, + newIMACompanionDelegate: + ({ + void Function(IMACompanionDelegate, IMACompanionAdSlot, bool)? + companionAdSlotFilled, + void Function(IMACompanionDelegate, IMACompanionAdSlot)? + companionSlotWasClicked, + }) { + return IMACompanionDelegate.pigeon_detached( + companionAdSlotFilled: companionAdSlotFilled, + companionSlotWasClicked: companionSlotWasClicked, pigeon_instanceManager: _TestInstanceManager(), ); }, - newIMACompanionDelegate: - ({ - void Function( - IMACompanionDelegate, - IMACompanionAdSlot, - bool, - )? - companionAdSlotFilled, - void Function(IMACompanionDelegate, IMACompanionAdSlot)? - companionSlotWasClicked, - }) { - return IMACompanionDelegate.pigeon_detached( - companionAdSlotFilled: companionAdSlotFilled, - companionSlotWasClicked: companionSlotWasClicked, - pigeon_instanceManager: _TestInstanceManager(), - ); - }, - ), - ); + ), + ); - final IOSCompanionAdSlot adSlot = IOSCompanionAdSlot(params); + final adSlot = IOSCompanionAdSlot(params); expect(adSlot.nativeCompanionAdSlot, mockCompanionAdSlot); - final IMACompanionDelegate delegate = + final delegate = verify(mockCompanionAdSlot.setDelegate(captureAny)).captured.single as IMACompanionDelegate; diff --git a/packages/interactive_media_ads/test/ios/content_progress_provider_test.dart b/packages/interactive_media_ads/test/ios/content_progress_provider_test.dart index 46e3db8ff35..088e6729cbf 100644 --- a/packages/interactive_media_ads/test/ios/content_progress_provider_test.dart +++ b/packages/interactive_media_ads/test/ios/content_progress_provider_test.dart @@ -15,10 +15,9 @@ import 'content_progress_provider_test.mocks.dart'; void main() { group('IOSContentProgressProvider', () { test('setProgress', () async { - final MockIMAContentPlayhead mockContentPlayhead = - MockIMAContentPlayhead(); + final mockContentPlayhead = MockIMAContentPlayhead(); - final IOSContentProgressProvider provider = IOSContentProgressProvider( + final provider = IOSContentProgressProvider( IOSContentProgressProviderCreationParams( proxy: InteractiveMediaAdsProxy( newIMAContentPlayhead: () => mockContentPlayhead, diff --git a/packages/interactive_media_ads/test/ios/ima_settings_test.dart b/packages/interactive_media_ads/test/ios/ima_settings_test.dart index adb2f2fdf0a..5f7a2ca2170 100644 --- a/packages/interactive_media_ads/test/ios/ima_settings_test.dart +++ b/packages/interactive_media_ads/test/ios/ima_settings_test.dart @@ -21,8 +21,8 @@ void main() { test('language', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const String language = 'en'; - final IOSImaSettings settings = IOSImaSettings( + const language = 'en'; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(language: language), ); @@ -36,8 +36,8 @@ void main() { test('setAutoPlayAdBreaks', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const bool autoPlayAdBreaks = true; - final IOSImaSettings settings = IOSImaSettings( + const autoPlayAdBreaks = true; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setAutoPlayAdBreaks(autoPlayAdBreaks); @@ -48,8 +48,8 @@ void main() { test('setDebugMode', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const bool debugMode = false; - final IOSImaSettings settings = IOSImaSettings( + const debugMode = false; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setDebugMode(debugMode); @@ -60,8 +60,8 @@ void main() { test('setFeatureFlags', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const Map featureFlags = {'a': 'flag'}; - final IOSImaSettings settings = IOSImaSettings( + const featureFlags = {'a': 'flag'}; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setFeatureFlags(featureFlags); @@ -72,8 +72,8 @@ void main() { test('setMaxRedirects', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const int maxRedirects = 12; - final IOSImaSettings settings = IOSImaSettings( + const maxRedirects = 12; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setMaxRedirects(maxRedirects); @@ -84,8 +84,8 @@ void main() { test('setPlayerType', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const String playerType = 'playerType'; - final IOSImaSettings settings = IOSImaSettings( + const playerType = 'playerType'; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setPlayerType(playerType); @@ -96,8 +96,8 @@ void main() { test('setPlayerVersion', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const String playerVersion = 'playerVersion'; - final IOSImaSettings settings = IOSImaSettings( + const playerVersion = 'playerVersion'; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setPlayerVersion(playerVersion); @@ -108,8 +108,8 @@ void main() { test('setPpid', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const String ppid = 'ppid'; - final IOSImaSettings settings = IOSImaSettings( + const ppid = 'ppid'; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setPpid(ppid); @@ -120,8 +120,8 @@ void main() { test('setSessionID', () async { final MockIMASettings mockIMASettings = _mockIMASettings(); - const String sessionID = 'sessionID'; - final IOSImaSettings settings = IOSImaSettings( + const sessionID = 'sessionID'; + final settings = IOSImaSettings( const PlatformImaSettingsCreationParams(), ); await settings.setSessionID(sessionID); @@ -132,7 +132,7 @@ void main() { } MockIMASettings _mockIMASettings() { - final MockIMASettings mockIMASettings = MockIMASettings(); + final mockIMASettings = MockIMASettings(); PigeonOverrides.iMASettings_new = () => mockIMASettings; return mockIMASettings; diff --git a/packages/interactive_media_ads/test/version_test.dart b/packages/interactive_media_ads/test/version_test.dart index 6f3c3d3bb8c..176bd79af5b 100644 --- a/packages/interactive_media_ads/test/version_test.dart +++ b/packages/interactive_media_ads/test/version_test.dart @@ -10,7 +10,7 @@ void main() { test('AdsRequestProxyApi.pluginVersion matches pubspec version', () { final String pubspecVersion = _getPubspecVersion(); - final String adsRequestProxyApiPath = + final adsRequestProxyApiPath = '${Directory.current.path}/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt'; final String apiFileAsString = File( adsRequestProxyApiPath, @@ -25,7 +25,7 @@ void main() { test('AdsRequestProxyAPIDelegate.pluginVersion matches pubspec version', () { final String pubspecVersion = _getPubspecVersion(); - final String adsRequestProxyApiDelegatePath = + final adsRequestProxyApiDelegatePath = '${Directory.current.path}/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift'; final String apiFileAsString = File( adsRequestProxyApiDelegatePath, @@ -39,10 +39,10 @@ void main() { } String _getPubspecVersion() { - final String pubspecPath = '${Directory.current.path}/pubspec.yaml'; + final pubspecPath = '${Directory.current.path}/pubspec.yaml'; final String pubspec = File(pubspecPath).readAsStringSync(); - final RegExp regex = RegExp(r'version:\s*(.*?) #'); + final regex = RegExp(r'version:\s*(.*?) #'); final RegExpMatch? match = regex.firstMatch(pubspec); return match!.group(1)!.trim(); diff --git a/packages/local_auth/local_auth/example/lib/main.dart b/packages/local_auth/local_auth/example/lib/main.dart index 384f71f801c..4dfc1b86b79 100644 --- a/packages/local_auth/local_auth/example/lib/main.dart +++ b/packages/local_auth/local_auth/example/lib/main.dart @@ -76,7 +76,7 @@ class _MyAppState extends State { } Future _authenticate() async { - bool authenticated = false; + var authenticated = false; try { setState(() { _isAuthenticating = true; @@ -118,7 +118,7 @@ class _MyAppState extends State { } Future _authenticateWithBiometrics() async { - bool authenticated = false; + var authenticated = false; try { setState(() { _isAuthenticating = true; @@ -157,7 +157,7 @@ class _MyAppState extends State { return; } - final String message = authenticated ? 'Authorized' : 'Not Authorized'; + final message = authenticated ? 'Authorized' : 'Not Authorized'; setState(() { _authorized = message; }); diff --git a/packages/local_auth/local_auth_android/example/lib/main.dart b/packages/local_auth/local_auth_android/example/lib/main.dart index 7e1ac81d1b1..ed2cfea7216 100644 --- a/packages/local_auth/local_auth_android/example/lib/main.dart +++ b/packages/local_auth/local_auth_android/example/lib/main.dart @@ -78,7 +78,7 @@ class _MyAppState extends State { } Future _authenticate() async { - bool authenticated = false; + var authenticated = false; try { setState(() { _isAuthenticating = true; @@ -120,7 +120,7 @@ class _MyAppState extends State { } Future _authenticateWithBiometrics() async { - bool authenticated = false; + var authenticated = false; try { setState(() { _isAuthenticating = true; @@ -161,7 +161,7 @@ class _MyAppState extends State { return; } - final String message = authenticated ? 'Authorized' : 'Not Authorized'; + final message = authenticated ? 'Authorized' : 'Not Authorized'; setState(() { _authorized = message; }); diff --git a/packages/local_auth/local_auth_android/lib/local_auth_android.dart b/packages/local_auth/local_auth_android/lib/local_auth_android.dart index af9289be3f2..017eb07a897 100644 --- a/packages/local_auth/local_auth_android/lib/local_auth_android.dart +++ b/packages/local_auth/local_auth_android/lib/local_auth_android.dart @@ -148,7 +148,7 @@ class LocalAuthAndroid extends LocalAuthPlatform { Iterable messagesList, ) { AndroidAuthMessages? messages; - for (final AuthMessages entry in messagesList) { + for (final entry in messagesList) { if (entry is AndroidAuthMessages) { messages = entry; } diff --git a/packages/local_auth/local_auth_android/test/local_auth_test.dart b/packages/local_auth/local_auth_android/test/local_auth_test.dart index 8b2a109f96a..ffc36392ade 100644 --- a/packages/local_auth/local_auth_android/test/local_auth_test.dart +++ b/packages/local_auth/local_auth_android/test/local_auth_test.dart @@ -109,7 +109,7 @@ void main() { api.authenticate(any, any), ).thenAnswer((_) async => AuthResult(code: AuthResultCode.success)); - const String reason = 'test reason'; + const reason = 'test reason'; await plugin.authenticate( localizedReason: reason, authMessages: [], @@ -118,7 +118,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); // These should all be the default values from // auth_messages_android.dart @@ -134,7 +134,7 @@ void main() { api.authenticate(any, any), ).thenAnswer((_) async => AuthResult(code: AuthResultCode.success)); - const String reason = 'test reason'; + const reason = 'test reason'; await plugin.authenticate( localizedReason: reason, authMessages: [AnotherPlatformAuthMessages()], @@ -143,7 +143,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); // These should all be the default values from // auth_messages_android.dart @@ -161,10 +161,10 @@ void main() { // These are arbitrary values; all that matters is that: // - they are different from the defaults, and // - they are different from each other. - const String reason = 'A'; - const String hint = 'B'; - const String cancel = 'C'; - const String signInTitle = 'D'; + const reason = 'A'; + const hint = 'B'; + const cancel = 'C'; + const signInTitle = 'D'; await plugin.authenticate( localizedReason: reason, authMessages: [ @@ -180,7 +180,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); expect(strings.signInHint, hint); expect(strings.cancelButton, cancel); @@ -195,9 +195,9 @@ void main() { // These are arbitrary values; all that matters is that: // - they are different from the defaults, and // - they are different from each other. - const String reason = 'A'; - const String hint = 'B'; - const String cancel = 'C'; + const reason = 'A'; + const hint = 'B'; + const cancel = 'C'; await plugin.authenticate( localizedReason: reason, authMessages: [ @@ -208,7 +208,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); // These should all be the provided values. expect(strings.signInHint, hint); @@ -233,7 +233,7 @@ void main() { final VerificationResult result = verify( api.authenticate(captureAny, any), ); - final AuthOptions options = result.captured[0] as AuthOptions; + final options = result.captured[0] as AuthOptions; expect(options.biometricOnly, false); expect(options.sensitiveTransaction, true); expect(options.sticky, false); @@ -257,7 +257,7 @@ void main() { final VerificationResult result = verify( api.authenticate(captureAny, any), ); - final AuthOptions options = result.captured[0] as AuthOptions; + final options = result.captured[0] as AuthOptions; expect(options.biometricOnly, true); expect(options.sensitiveTransaction, false); expect(options.sticky, true); @@ -630,7 +630,7 @@ void main() { test( 'converts unknownError to unknownError LocalAuthException, passing error message', () async { - const String errorMessage = 'Some error message'; + const errorMessage = 'Some error message'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResult( code: AuthResultCode.unknownError, diff --git a/packages/local_auth/local_auth_darwin/example/lib/main.dart b/packages/local_auth/local_auth_darwin/example/lib/main.dart index 0c9fabec413..c14e5862d97 100644 --- a/packages/local_auth/local_auth_darwin/example/lib/main.dart +++ b/packages/local_auth/local_auth_darwin/example/lib/main.dart @@ -78,7 +78,7 @@ class _MyAppState extends State { } Future _authenticate() async { - bool authenticated = false; + var authenticated = false; try { setState(() { _isAuthenticating = true; @@ -120,7 +120,7 @@ class _MyAppState extends State { } Future _authenticateWithBiometrics() async { - bool authenticated = false; + var authenticated = false; try { setState(() { _isAuthenticating = true; @@ -161,7 +161,7 @@ class _MyAppState extends State { return; } - final String message = authenticated ? 'Authorized' : 'Not Authorized'; + final message = authenticated ? 'Authorized' : 'Not Authorized'; setState(() { _authorized = message; }); diff --git a/packages/local_auth/local_auth_darwin/lib/local_auth_darwin.dart b/packages/local_auth/local_auth_darwin/lib/local_auth_darwin.dart index 82ee3554e39..461c0c57c74 100644 --- a/packages/local_auth/local_auth_darwin/lib/local_auth_darwin.dart +++ b/packages/local_auth/local_auth_darwin/lib/local_auth_darwin.dart @@ -124,7 +124,7 @@ class LocalAuthDarwin extends LocalAuthPlatform { Iterable messagesList, ) { IOSAuthMessages? messages; - for (final AuthMessages entry in messagesList) { + for (final entry in messagesList) { if (entry is IOSAuthMessages) { messages = entry; break; @@ -142,7 +142,7 @@ class LocalAuthDarwin extends LocalAuthPlatform { Iterable messagesList, ) { MacOSAuthMessages? messages; - for (final AuthMessages entry in messagesList) { + for (final entry in messagesList) { if (entry is MacOSAuthMessages) { messages = entry; break; diff --git a/packages/local_auth/local_auth_darwin/test/local_auth_darwin_test.dart b/packages/local_auth/local_auth_darwin/test/local_auth_darwin_test.dart index 4f6e37515e8..169cb467788 100644 --- a/packages/local_auth/local_auth_darwin/test/local_auth_darwin_test.dart +++ b/packages/local_auth/local_auth_darwin/test/local_auth_darwin_test.dart @@ -94,7 +94,7 @@ void main() { (_) async => AuthResultDetails(result: AuthResult.success), ); - const String reason = 'test reason'; + const reason = 'test reason'; await plugin.authenticate( localizedReason: reason, authMessages: [], @@ -103,7 +103,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); // These should all be the default values from // auth_messages_ios.dart @@ -123,7 +123,7 @@ void main() { (_) async => AuthResultDetails(result: AuthResult.success), ); - const String reason = 'test reason'; + const reason = 'test reason'; await plugin.authenticate( localizedReason: reason, authMessages: [AnotherPlatformAuthMessages()], @@ -132,7 +132,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); // These should all be the default values from // auth_messages_ios.dart @@ -153,7 +153,7 @@ void main() { (_) async => AuthResultDetails(result: AuthResult.success), ); - const String reason = 'test reason'; + const reason = 'test reason'; await plugin.authenticate( localizedReason: reason, authMessages: [const MacOSAuthMessages()], @@ -162,7 +162,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); // These should all be the default values from // auth_messages_ios.dart @@ -186,9 +186,9 @@ void main() { // These are arbitrary values; all that matters is that: // - they are different from the defaults, and // - they are different from each other. - const String reason = 'A'; - const String cancel = 'B'; - const String localizedFallbackTitle = 'C'; + const reason = 'A'; + const cancel = 'B'; + const localizedFallbackTitle = 'C'; await plugin.authenticate( localizedReason: reason, @@ -204,7 +204,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); expect(strings.cancelButton, cancel); expect(strings.localizedFallbackTitle, localizedFallbackTitle); @@ -225,9 +225,9 @@ void main() { // These are arbitrary values; all that matters is that: // - they are different from the defaults, and // - they are different from each other. - const String reason = 'A'; - const String cancel = 'B'; - const String localizedFallbackTitle = 'C'; + const reason = 'A'; + const cancel = 'B'; + const localizedFallbackTitle = 'C'; await plugin.authenticate( localizedReason: reason, authMessages: [ @@ -242,7 +242,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; expect(strings.reason, reason); expect(strings.cancelButton, cancel); expect(strings.localizedFallbackTitle, localizedFallbackTitle); @@ -259,8 +259,8 @@ void main() { // These are arbitrary values; all that matters is that: // - they are different from the defaults, and // - they are different from each other. - const String reason = 'A'; - const String localizedFallbackTitle = 'B'; + const reason = 'A'; + const localizedFallbackTitle = 'B'; await plugin.authenticate( localizedReason: reason, authMessages: [ @@ -273,7 +273,7 @@ void main() { final VerificationResult result = verify( api.authenticate(any, captureAny), ); - final AuthStrings strings = result.captured[0] as AuthStrings; + final strings = result.captured[0] as AuthStrings; // These should all be the provided values. expect(strings.reason, reason); expect(strings.localizedFallbackTitle, localizedFallbackTitle); @@ -299,7 +299,7 @@ void main() { final VerificationResult result = verify( api.authenticate(captureAny, any), ); - final AuthOptions options = result.captured[0] as AuthOptions; + final options = result.captured[0] as AuthOptions; expect(options.biometricOnly, false); expect(options.sticky, false); }); @@ -321,7 +321,7 @@ void main() { final VerificationResult result = verify( api.authenticate(captureAny, any), ); - final AuthOptions options = result.captured[0] as AuthOptions; + final options = result.captured[0] as AuthOptions; expect(options.biometricOnly, true); expect(options.sticky, true); }); @@ -371,8 +371,8 @@ void main() { test( 'converts uiUnavailable to LocalAuthExceptionCode.uiUnavailable', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.uiUnavailable, @@ -411,8 +411,8 @@ void main() { test( 'converts systemCancel to LocalAuthExceptionCode.systemCanceled', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.systemCancel, @@ -451,8 +451,8 @@ void main() { test( 'converts userCancel to LocalAuthExceptionCode.userCanceled', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.userCancel, @@ -491,8 +491,8 @@ void main() { test( 'converts biometryDisconnected to LocalAuthExceptionCode.biometricHardwareTemporarilyUnavailable', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.biometryDisconnected, @@ -532,8 +532,8 @@ void main() { test( 'converts biometryLockout to LocalAuthExceptionCode.biometricLockout', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.biometryLockout, @@ -572,8 +572,8 @@ void main() { test( 'converts biometryNotAvailable to LocalAuthExceptionCode.noBiometricHardware', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.biometryNotAvailable, @@ -612,8 +612,8 @@ void main() { test( 'converts biometryNotPaired to LocalAuthExceptionCode.noBiometricHardware', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.biometryNotPaired, @@ -652,8 +652,8 @@ void main() { test( 'converts biometryNotEnrolled to LocalAuthExceptionCode.noBiometricsEnrolled', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.biometryNotEnrolled, @@ -692,8 +692,8 @@ void main() { test( 'converts invalidContext to LocalAuthExceptionCode.uiUnavailable', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.invalidContext, @@ -732,8 +732,8 @@ void main() { test( 'converts invalidDimensions to LocalAuthExceptionCode.uiUnavailable', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.invalidDimensions, @@ -772,8 +772,8 @@ void main() { test( 'converts notInteractive to LocalAuthExceptionCode.uiUnavailable', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.notInteractive, @@ -812,8 +812,8 @@ void main() { test( 'converts passcodeNotSet to LocalAuthExceptionCode.noCredentialsSet', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.passcodeNotSet, @@ -852,8 +852,8 @@ void main() { test( 'converts userFallback to LocalAuthExceptionCode.userRequestedFallback', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.userFallback, @@ -892,8 +892,8 @@ void main() { test( 'converts unknownError to LocalAuthExceptionCode.unknownError', () async { - const String errorMessage = 'a message'; - const String errorDetails = 'some details'; + const errorMessage = 'a message'; + const errorDetails = 'some details'; when(api.authenticate(any, any)).thenAnswer( (_) async => AuthResultDetails( result: AuthResult.unknownError, diff --git a/packages/local_auth/local_auth_platform_interface/CHANGELOG.md b/packages/local_auth/local_auth_platform_interface/CHANGELOG.md index 42419a0370e..98a6c634470 100644 --- a/packages/local_auth/local_auth_platform_interface/CHANGELOG.md +++ b/packages/local_auth/local_auth_platform_interface/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 1.1.0 diff --git a/packages/local_auth/local_auth_platform_interface/lib/default_method_channel_platform.dart b/packages/local_auth/local_auth_platform_interface/lib/default_method_channel_platform.dart index 822b3573046..ec4606f8979 100644 --- a/packages/local_auth/local_auth_platform_interface/lib/default_method_channel_platform.dart +++ b/packages/local_auth/local_auth_platform_interface/lib/default_method_channel_platform.dart @@ -22,14 +22,14 @@ class DefaultLocalAuthPlatform extends LocalAuthPlatform { AuthenticationOptions options = const AuthenticationOptions(), }) async { assert(localizedReason.isNotEmpty); - final Map args = { + final args = { 'localizedReason': localizedReason, 'useErrorDialogs': options.useErrorDialogs, 'stickyAuth': options.stickyAuth, 'sensitiveTransaction': options.sensitiveTransaction, 'biometricOnly': options.biometricOnly, }; - for (final AuthMessages messages in authMessages) { + for (final messages in authMessages) { args.addAll(messages.args); } return (await _channel.invokeMethod('authenticate', args)) ?? false; @@ -40,8 +40,8 @@ class DefaultLocalAuthPlatform extends LocalAuthPlatform { final List result = (await _channel.invokeListMethod('getAvailableBiometrics')) ?? []; - final List biometrics = []; - for (final String value in result) { + final biometrics = []; + for (final value in result) { switch (value) { case 'face': biometrics.add(BiometricType.face); diff --git a/packages/local_auth/local_auth_platform_interface/pubspec.yaml b/packages/local_auth/local_auth_platform_interface/pubspec.yaml index b428edfcd2f..13512c3ef12 100644 --- a/packages/local_auth/local_auth_platform_interface/pubspec.yaml +++ b/packages/local_auth/local_auth_platform_interface/pubspec.yaml @@ -7,8 +7,8 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 1.1.0 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/local_auth/local_auth_platform_interface/test/default_method_channel_platform_test.dart b/packages/local_auth/local_auth_platform_interface/test/default_method_channel_platform_test.dart index c538336e1fc..5372ca1b151 100644 --- a/packages/local_auth/local_auth_platform_interface/test/default_method_channel_platform_test.dart +++ b/packages/local_auth/local_auth_platform_interface/test/default_method_channel_platform_test.dart @@ -10,7 +10,7 @@ import 'package:local_auth_platform_interface/local_auth_platform_interface.dart void main() { TestWidgetsFlutterBinding.ensureInitialized(); - const MethodChannel channel = MethodChannel('plugins.flutter.io/local_auth'); + const channel = MethodChannel('plugins.flutter.io/local_auth'); late List log; late LocalAuthPlatform localAuthentication; diff --git a/packages/local_auth/local_auth_windows/example/lib/main.dart b/packages/local_auth/local_auth_windows/example/lib/main.dart index 1c76c6abb15..5d76d8a34de 100644 --- a/packages/local_auth/local_auth_windows/example/lib/main.dart +++ b/packages/local_auth/local_auth_windows/example/lib/main.dart @@ -78,7 +78,7 @@ class _MyAppState extends State { } Future _authenticate() async { - bool authenticated = false; + var authenticated = false; try { setState(() { _isAuthenticating = true; diff --git a/packages/metrics_center/CHANGELOG.md b/packages/metrics_center/CHANGELOG.md index f93b33e247b..59359e9fef0 100644 --- a/packages/metrics_center/CHANGELOG.md +++ b/packages/metrics_center/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 1.0.14 diff --git a/packages/metrics_center/lib/src/common.dart b/packages/metrics_center/lib/src/common.dart index 126f66554ce..ad2a1bc9744 100644 --- a/packages/metrics_center/lib/src/common.dart +++ b/packages/metrics_center/lib/src/common.dart @@ -52,15 +52,7 @@ abstract class MetricDestination { /// credentials json. It's currently the case for Chrmoium LUCI bots. AuthClient authClientFromAccessToken(String token, List scopes) { final DateTime anHourLater = DateTime.now().add(const Duration(hours: 1)); - final AccessToken accessToken = AccessToken( - 'Bearer', - token, - anHourLater.toUtc(), - ); - final AccessCredentials accessCredentials = AccessCredentials( - accessToken, - null, - scopes, - ); + final accessToken = AccessToken('Bearer', token, anHourLater.toUtc()); + final accessCredentials = AccessCredentials(accessToken, null, scopes); return authenticatedClient(Client(), accessCredentials); } diff --git a/packages/metrics_center/lib/src/gcs_lock.dart b/packages/metrics_center/lib/src/gcs_lock.dart index 0c1d05a3ed8..74a41fa7e09 100644 --- a/packages/metrics_center/lib/src/gcs_lock.dart +++ b/packages/metrics_center/lib/src/gcs_lock.dart @@ -43,13 +43,13 @@ class GcsLock { } Future _lock(String lockFileName) async { - final Object object = Object(); + final object = Object(); object.bucket = _bucketName; object.name = lockFileName; - final Media content = Media(const Stream>.empty(), 0); + final content = Media(const Stream>.empty(), 0); - Duration waitPeriod = const Duration(milliseconds: 10); - bool locked = false; + var waitPeriod = const Duration(milliseconds: 10); + var locked = false; while (!locked) { try { await _api.objects.insert( @@ -82,8 +82,8 @@ class GcsLock { } Future _unlock(String lockFileName) async { - Duration waitPeriod = const Duration(milliseconds: 10); - bool unlocked = false; + var waitPeriod = const Duration(milliseconds: 10); + var unlocked = false; // Retry in the case of GCS returning an API error, but rethrow if unable // to unlock after a certain period of time. while (!unlocked) { diff --git a/packages/metrics_center/lib/src/google_benchmark.dart b/packages/metrics_center/lib/src/google_benchmark.dart index 8c907c214d9..75a1f8a4498 100644 --- a/packages/metrics_center/lib/src/google_benchmark.dart +++ b/packages/metrics_center/lib/src/google_benchmark.dart @@ -41,17 +41,16 @@ const List _kContextIgnoreKeys = [ class GoogleBenchmarkParser { /// Given a Google benchmark json output, parse its content into a list of [MetricPoint]. static Future> parse(String jsonFileName) async { - final Map jsonResult = + final jsonResult = jsonDecode(File(jsonFileName).readAsStringSync()) as Map; - final Map rawContext = - jsonResult['context'] as Map; + final rawContext = jsonResult['context'] as Map; final Map context = rawContext.map( (String k, dynamic v) => MapEntry(k, v.toString()), )..removeWhere((String k, String v) => _kContextIgnoreKeys.contains(k)); - final List points = []; + final points = []; for (final dynamic item in jsonResult['benchmarks'] as List) { _parseAnItem(item as Map, points, context); } @@ -64,8 +63,8 @@ void _parseAnItem( List points, Map context, ) { - final String name = item[kNameKey] as String; - final Map timeUnitMap = { + final name = item[kNameKey] as String; + final timeUnitMap = { if (item.containsKey(_kTimeUnitKey)) kUnitKey: item[_kTimeUnitKey] as String, }; diff --git a/packages/metrics_center/lib/src/skiaperf.dart b/packages/metrics_center/lib/src/skiaperf.dart index d218e1ebbcd..caa57319cd4 100644 --- a/packages/metrics_center/lib/src/skiaperf.dart +++ b/packages/metrics_center/lib/src/skiaperf.dart @@ -99,7 +99,7 @@ class SkiaPerfPoint extends MetricPoint { final String subResult = p.tags[kSubResultKey] ?? kSkiaPerfValueKey; - final Map options = {} + final options = {} ..addEntries( p.tags.entries.where( (MapEntry entry) => @@ -169,7 +169,7 @@ class SkiaPerfPoint extends MetricPoint { static Map toSkiaPerfJson(List points) { assert(points.isNotEmpty); assert(() { - for (final SkiaPerfPoint p in points) { + for (final p in points) { if (p.githubRepo != points[0].githubRepo || p.gitHash != points[0].gitHash) { return false; @@ -178,8 +178,8 @@ class SkiaPerfPoint extends MetricPoint { return true; }(), 'All points must have same githubRepo and gitHash'); - final Map results = {}; - for (final SkiaPerfPoint p in points) { + final results = {}; + for (final p in points) { final Map subResultJson = p._toSubResultJson(); if (results[p.testName] == null) { results[p.testName] = { @@ -238,7 +238,7 @@ class SkiaPerfGcsAdaptor { final List content = utf8.encode(jsonString); // Retry multiple times as GCS may return 504 timeout. - for (int retry = 0; retry < 5; retry += 1) { + for (var retry = 0; retry < 5; retry += 1) { try { await _gcsBucket.writeBytes(objectName, content); return; @@ -265,7 +265,7 @@ class SkiaPerfGcsAdaptor { /// 504 happens. Future> readPoints(String objectName) async { // Retry multiple times as GCS may return 504 timeout. - for (int retry = 0; retry < 5; retry += 1) { + for (var retry = 0; retry < 5; retry += 1) { try { return await _readPointsWithoutRetry(objectName); } catch (e) { @@ -294,21 +294,20 @@ class SkiaPerfGcsAdaptor { final Stream> stream = _gcsBucket.read(objectName); final Stream byteStream = stream.expand((List x) => x); - final Map decodedJson = + final decodedJson = jsonDecode(utf8.decode(await byteStream.toList())) as Map; - final List points = []; + final points = []; final String firstGcsNameComponent = objectName.split('/')[0]; _populateGcsNameToGithubRepoMapIfNeeded(); final String githubRepo = _gcsNameToGithubRepo[firstGcsNameComponent]!; - final String? gitHash = decodedJson[kSkiaPerfGitHashKey] as String?; - final Map results = - decodedJson[kSkiaPerfResultsKey] as Map; + final gitHash = decodedJson[kSkiaPerfGitHashKey] as String?; + final results = decodedJson[kSkiaPerfResultsKey] as Map; for (final String name in results.keys) { - final Map subResultMap = + final subResultMap = results[name][kSkiaPerfDefaultConfig] as Map; for (final String subResult in subResultMap.keys.where( (String s) => s != kSkiaPerfOptionsKey, @@ -352,7 +351,7 @@ class SkiaPerfGcsAdaptor { final String month = commitUtcTime.month.toString().padLeft(2, '0'); final String day = commitUtcTime.day.toString().padLeft(2, '0'); final String hour = commitUtcTime.hour.toString().padLeft(2, '0'); - final String dateComponents = '${commitUtcTime.year}/$month/$day/$hour'; + final dateComponents = '${commitUtcTime.year}/$month/$day/$hour'; return '$topComponent/$dateComponents/$revision/${taskName}_values.json'; } @@ -414,15 +413,13 @@ class SkiaPerfDestination extends MetricDestination { String projectId, { bool isTesting = false, }) async { - final Storage storage = Storage(client, projectId); + final storage = Storage(client, projectId); final String bucketName = isTesting ? kTestBucketName : kBucketName; if (!await storage.bucketExists(bucketName)) { throw StateError('Bucket $bucketName does not exist.'); } - final SkiaPerfGcsAdaptor adaptor = SkiaPerfGcsAdaptor( - storage.bucket(bucketName), - ); - final GcsLock lock = GcsLock(StorageApi(client), bucketName); + final adaptor = SkiaPerfGcsAdaptor(storage.bucket(bucketName)); + final lock = GcsLock(StorageApi(client), bucketName); return SkiaPerfDestination(adaptor, lock); } @@ -446,7 +443,7 @@ class SkiaPerfDestination extends MetricDestination { } // All created locks must be released before returning - final List> lockFutures = >[]; + final lockFutures = >[]; // 2nd, read existing points from the gcs object and update with new ones. for (final String repo in pointMap.keys) { @@ -468,7 +465,7 @@ class SkiaPerfDestination extends MetricDestination { final List oldPoints = await _gcs.readPoints( objectName, ); - for (final SkiaPerfPoint p in oldPoints) { + for (final p in oldPoints) { if (newPoints![p.id] == null) { newPoints[p.id] = p; } diff --git a/packages/metrics_center/pubspec.yaml b/packages/metrics_center/pubspec.yaml index f059b9ec32c..89e52f6e4e1 100644 --- a/packages/metrics_center/pubspec.yaml +++ b/packages/metrics_center/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/flutter/packages/tree/main/packages/metrics_cente issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+metrics_center%22 environment: - sdk: ^3.8.0 + sdk: ^3.9.0 dependencies: _discoveryapis_commons: ^1.0.0 diff --git a/packages/metrics_center/test/flutter_test.dart b/packages/metrics_center/test/flutter_test.dart index eb27f65ce38..44cb155d41d 100644 --- a/packages/metrics_center/test/flutter_test.dart +++ b/packages/metrics_center/test/flutter_test.dart @@ -9,8 +9,8 @@ import 'common.dart'; import 'utility.dart'; void main() { - const String gitRevision = 'ca799fa8b2254d09664b78ee80c43b434788d112'; - final FlutterEngineMetricPoint simplePoint = FlutterEngineMetricPoint( + const gitRevision = 'ca799fa8b2254d09664b78ee80c43b434788d112'; + final simplePoint = FlutterEngineMetricPoint( 'BM_ParagraphLongLayout', 287235, gitRevision, @@ -22,7 +22,7 @@ void main() { expect(simplePoint.tags[kGitRevisionKey], gitRevision); expect(simplePoint.tags[kNameKey], 'BM_ParagraphLongLayout'); - final FlutterEngineMetricPoint detailedPoint = FlutterEngineMetricPoint( + final detailedPoint = FlutterEngineMetricPoint( 'BM_ParagraphLongLayout', 287224, 'ca799fa8b2254d09664b78ee80c43b434788d112', diff --git a/packages/metrics_center/test/gcs_lock_test.dart b/packages/metrics_center/test/gcs_lock_test.dart index 8d3180e030d..4dbbb2b1cd6 100644 --- a/packages/metrics_center/test/gcs_lock_test.dart +++ b/packages/metrics_center/test/gcs_lock_test.dart @@ -26,20 +26,20 @@ enum TestPhase { run1, run2 } ], ) void main() { - const Duration kDelayStep = Duration(milliseconds: 10); + const kDelayStep = Duration(milliseconds: 10); final Map? credentialsJson = getTestGcpCredentialsJson(); test('GcsLock prints warnings for long waits', () { // Capture print to verify error messages. - final List prints = []; - final ZoneSpecification spec = ZoneSpecification( + final prints = []; + final spec = ZoneSpecification( print: (_, __, ___, String msg) => prints.add(msg), ); Zone.current.fork(specification: spec).run(() { fakeAsync((FakeAsync fakeAsync) { - final MockAuthClient mockClient = MockAuthClient(); - final GcsLock lock = GcsLock(StorageApi(mockClient), 'mockBucket'); + final mockClient = MockAuthClient(); + final lock = GcsLock(StorageApi(mockClient), 'mockBucket'); when(mockClient.send(any)).thenThrow(DetailedApiRequestError(412, '')); final Future runFinished = lock.protectedRun( 'mock.lock', @@ -48,7 +48,7 @@ void main() { fakeAsync.elapse(const Duration(seconds: 10)); when(mockClient.send(any)).thenThrow(AssertionError('Stop!')); runFinished.catchError((dynamic e) { - final AssertionError error = e as AssertionError; + final error = e as AssertionError; expect(error.message, 'Stop!'); // TODO(goderbauer): We should not be printing from a test. // ignore: avoid_print @@ -58,7 +58,7 @@ void main() { }); }); - const String kExpectedErrorMessage = + const kExpectedErrorMessage = 'The lock is waiting for a long time: ' '0:00:10.240000. If the lock file mock.lock in bucket mockBucket ' 'seems to be stuck (i.e., it was created a long time ago and no one ' @@ -73,8 +73,8 @@ void main() { ServiceAccountCredentials.fromJson(credentialsJson), Storage.SCOPES, ); - final GcsLock lock = GcsLock(StorageApi(client), kTestBucketName); - int testValue = 0; + final lock = GcsLock(StorageApi(client), kTestBucketName); + var testValue = 0; await lock.protectedRun('test.lock', () async { testValue = 1; }); @@ -90,11 +90,11 @@ void main() { ServiceAccountCredentials.fromJson(credentialsJson), Storage.SCOPES, ); - final GcsLock lock1 = GcsLock(StorageApi(client), kTestBucketName); - final GcsLock lock2 = GcsLock(StorageApi(client), kTestBucketName); + final lock1 = GcsLock(StorageApi(client), kTestBucketName); + final lock2 = GcsLock(StorageApi(client), kTestBucketName); TestPhase phase = TestPhase.run1; - final Completer started1 = Completer(); + final started1 = Completer(); final Future finished1 = lock1.protectedRun('test.lock', () async { started1.complete(); while (phase == TestPhase.run1) { @@ -104,7 +104,7 @@ void main() { await started1.future; - final Completer started2 = Completer(); + final started2 = Completer(); final Future finished2 = lock2.protectedRun('test.lock', () async { started2.complete(); }); @@ -128,8 +128,8 @@ void main() { fakeAsync((FakeAsync fakeAsync) { final StorageApi mockStorageApi = MockStorageApi(); final ObjectsResource mockObjectsResource = MockObjectsResource(); - final GcsLock gcsLock = GcsLock(mockStorageApi, kTestBucketName); - const String lockFileName = 'test.lock'; + final gcsLock = GcsLock(mockStorageApi, kTestBucketName); + const lockFileName = 'test.lock'; when(mockStorageApi.objects).thenReturn(mockObjectsResource); // Simulate a failure to delete a lock file. diff --git a/packages/metrics_center/test/google_benchmark_test.dart b/packages/metrics_center/test/google_benchmark_test.dart index 6f856ac07ba..8e7a7625737 100644 --- a/packages/metrics_center/test/google_benchmark_test.dart +++ b/packages/metrics_center/test/google_benchmark_test.dart @@ -43,7 +43,7 @@ void main() { 'ParagraphFixture/TextBigO_BigO', 'ParagraphFixture/TextBigO_RMS', ]); - for (final MetricPoint p in points) { + for (final p in points) { expect(p.tags.containsKey('host_name'), false); expect(p.tags.containsKey('load_avg'), false); expect(p.tags.containsKey('caches'), false); diff --git a/packages/metrics_center/test/skiaperf_test.dart b/packages/metrics_center/test/skiaperf_test.dart index 424d8b123af..864ac46cb7a 100644 --- a/packages/metrics_center/test/skiaperf_test.dart +++ b/packages/metrics_center/test/skiaperf_test.dart @@ -59,46 +59,43 @@ class MockSkiaPerfGcsAdaptor implements SkiaPerfGcsAdaptor { @GenerateMocks([Bucket, ObjectInfo]) Future main() async { - const double kValue1 = 1.0; - const double kValue2 = 2.0; - const double kValue3 = 3.0; - - const String kFrameworkRevision1 = '9011cece2595447eea5dd91adaa241c1c9ef9a33'; - const String kFrameworkRevision2 = '372fe290e4d4f3f97cbf02a57d235771a9412f10'; - const String kEngineRevision1 = '617938024315e205f26ed72ff0f0647775fa6a71'; - const String kEngineRevision2 = '5858519139c22484aaff1cf5b26bdf7951259344'; - const String kTaskName = 'analyzer_benchmark'; - const String kMetric1 = 'flutter_repo_batch_maximum'; - const String kMetric2 = 'flutter_repo_watch_maximum'; - - final MetricPoint cocoonPointRev1Metric1 = - MetricPoint(kValue1, const { - kGithubRepoKey: kFlutterFrameworkRepo, - kGitRevisionKey: kFrameworkRevision1, - kNameKey: kTaskName, - kSubResultKey: kMetric1, - kUnitKey: 's', - }); + const kValue1 = 1.0; + const kValue2 = 2.0; + const kValue3 = 3.0; + + const kFrameworkRevision1 = '9011cece2595447eea5dd91adaa241c1c9ef9a33'; + const kFrameworkRevision2 = '372fe290e4d4f3f97cbf02a57d235771a9412f10'; + const kEngineRevision1 = '617938024315e205f26ed72ff0f0647775fa6a71'; + const kEngineRevision2 = '5858519139c22484aaff1cf5b26bdf7951259344'; + const kTaskName = 'analyzer_benchmark'; + const kMetric1 = 'flutter_repo_batch_maximum'; + const kMetric2 = 'flutter_repo_watch_maximum'; + + final cocoonPointRev1Metric1 = MetricPoint(kValue1, const { + kGithubRepoKey: kFlutterFrameworkRepo, + kGitRevisionKey: kFrameworkRevision1, + kNameKey: kTaskName, + kSubResultKey: kMetric1, + kUnitKey: 's', + }); - final MetricPoint cocoonPointRev1Metric2 = - MetricPoint(kValue2, const { - kGithubRepoKey: kFlutterFrameworkRepo, - kGitRevisionKey: kFrameworkRevision1, - kNameKey: kTaskName, - kSubResultKey: kMetric2, - kUnitKey: 's', - }); + final cocoonPointRev1Metric2 = MetricPoint(kValue2, const { + kGithubRepoKey: kFlutterFrameworkRepo, + kGitRevisionKey: kFrameworkRevision1, + kNameKey: kTaskName, + kSubResultKey: kMetric2, + kUnitKey: 's', + }); - final MetricPoint cocoonPointRev2Metric1 = - MetricPoint(kValue3, const { - kGithubRepoKey: kFlutterFrameworkRepo, - kGitRevisionKey: kFrameworkRevision2, - kNameKey: kTaskName, - kSubResultKey: kMetric1, - kUnitKey: 's', - }); + final cocoonPointRev2Metric1 = MetricPoint(kValue3, const { + kGithubRepoKey: kFlutterFrameworkRepo, + kGitRevisionKey: kFrameworkRevision2, + kNameKey: kTaskName, + kSubResultKey: kMetric1, + kUnitKey: 's', + }); - final MetricPoint cocoonPointBetaRev1Metric1 = + final cocoonPointBetaRev1Metric1 = MetricPoint(kValue1, const { kGithubRepoKey: kFlutterFrameworkRepo, kGitRevisionKey: kFrameworkRevision1, @@ -108,8 +105,7 @@ Future main() async { 'branch': 'beta', }); - final MetricPoint - cocoonPointBetaRev1Metric1BadBranch = MetricPoint(kValue1, const < + final cocoonPointBetaRev1Metric1BadBranch = MetricPoint(kValue1, const < String, String >{ @@ -126,12 +122,12 @@ Future main() async { 'branch': 'beta', }); - const String engineMetricName = 'BM_PaintRecordInit'; - const String engineRevision = 'ca799fa8b2254d09664b78ee80c43b434788d112'; + const engineMetricName = 'BM_PaintRecordInit'; + const engineRevision = 'ca799fa8b2254d09664b78ee80c43b434788d112'; const double engineValue1 = 101; const double engineValue2 = 102; - final FlutterEngineMetricPoint enginePoint1 = FlutterEngineMetricPoint( + final enginePoint1 = FlutterEngineMetricPoint( engineMetricName, engineValue1, engineRevision, @@ -146,7 +142,7 @@ Future main() async { }, ); - final FlutterEngineMetricPoint enginePoint2 = FlutterEngineMetricPoint( + final enginePoint2 = FlutterEngineMetricPoint( engineMetricName, engineValue2, engineRevision, @@ -162,29 +158,20 @@ Future main() async { ); test('Throw if invalid points are converted to SkiaPoint', () { - final MetricPoint noGithubRepoPoint = MetricPoint( - kValue1, - const { - kGitRevisionKey: kFrameworkRevision1, - kNameKey: kTaskName, - }, - ); + final noGithubRepoPoint = MetricPoint(kValue1, const { + kGitRevisionKey: kFrameworkRevision1, + kNameKey: kTaskName, + }); - final MetricPoint noGitRevisionPoint = MetricPoint( - kValue1, - const { - kGithubRepoKey: kFlutterFrameworkRepo, - kNameKey: kTaskName, - }, - ); + final noGitRevisionPoint = MetricPoint(kValue1, const { + kGithubRepoKey: kFlutterFrameworkRepo, + kNameKey: kTaskName, + }); - final MetricPoint noTestNamePoint = MetricPoint( - kValue1, - const { - kGithubRepoKey: kFlutterFrameworkRepo, - kGitRevisionKey: kFrameworkRevision1, - }, - ); + final noTestNamePoint = MetricPoint(kValue1, const { + kGithubRepoKey: kFlutterFrameworkRepo, + kGitRevisionKey: kFrameworkRevision1, + }); expect(() => SkiaPerfPoint.fromPoint(noGithubRepoPoint), throwsA(anything)); expect( @@ -195,9 +182,7 @@ Future main() async { }); test('Correctly convert a metric point from cocoon to SkiaPoint', () { - final SkiaPerfPoint skiaPoint1 = SkiaPerfPoint.fromPoint( - cocoonPointRev1Metric1, - ); + final skiaPoint1 = SkiaPerfPoint.fromPoint(cocoonPointRev1Metric1); expect(skiaPoint1, isNotNull); expect(skiaPoint1.testName, equals(kTaskName)); expect(skiaPoint1.subResult, equals(kMetric1)); @@ -206,13 +191,11 @@ Future main() async { }); test('Cocoon points correctly encode into Skia perf json format', () { - final SkiaPerfPoint p1 = SkiaPerfPoint.fromPoint(cocoonPointRev1Metric1); - final SkiaPerfPoint p2 = SkiaPerfPoint.fromPoint(cocoonPointRev1Metric2); - final SkiaPerfPoint p3 = SkiaPerfPoint.fromPoint( - cocoonPointBetaRev1Metric1, - ); + final p1 = SkiaPerfPoint.fromPoint(cocoonPointRev1Metric1); + final p2 = SkiaPerfPoint.fromPoint(cocoonPointRev1Metric2); + final p3 = SkiaPerfPoint.fromPoint(cocoonPointBetaRev1Metric1); - const JsonEncoder encoder = JsonEncoder.withIndent(' '); + const encoder = JsonEncoder.withIndent(' '); expect( encoder.convert( @@ -246,7 +229,7 @@ Future main() async { }); test('Engine metric points correctly encode into Skia perf json format', () { - const JsonEncoder encoder = JsonEncoder.withIndent(' '); + const encoder = JsonEncoder.withIndent(' '); expect( encoder.convert( SkiaPerfPoint.toSkiaPerfJson([ @@ -280,7 +263,7 @@ Future main() async { 'Throw if engine points with the same test name but different options are converted to ' 'Skia perf points', () { - final FlutterEngineMetricPoint enginePoint1 = FlutterEngineMetricPoint( + final enginePoint1 = FlutterEngineMetricPoint( 'BM_PaintRecordInit', 101, 'ca799fa8b2254d09664b78ee80c43b434788d112', @@ -290,7 +273,7 @@ Future main() async { 'cpu_scaling_enabled': 'true', }, ); - final FlutterEngineMetricPoint enginePoint2 = FlutterEngineMetricPoint( + final enginePoint2 = FlutterEngineMetricPoint( 'BM_PaintRecordInit', 102, 'ca799fa8b2254d09664b78ee80c43b434788d112', @@ -301,7 +284,7 @@ Future main() async { }, ); - const JsonEncoder encoder = JsonEncoder.withIndent(' '); + const encoder = JsonEncoder.withIndent(' '); expect( () => encoder.convert( SkiaPerfPoint.toSkiaPerfJson([ @@ -318,10 +301,8 @@ Future main() async { 'Throw if two Cocoon metric points with the same name and subResult keys ' 'but different options are converted to Skia perf points', () { - final SkiaPerfPoint p1 = SkiaPerfPoint.fromPoint(cocoonPointRev1Metric1); - final SkiaPerfPoint p2 = SkiaPerfPoint.fromPoint( - cocoonPointBetaRev1Metric1BadBranch, - ); + final p1 = SkiaPerfPoint.fromPoint(cocoonPointRev1Metric1); + final p2 = SkiaPerfPoint.fromPoint(cocoonPointBetaRev1Metric1BadBranch); expect( () => SkiaPerfPoint.toSkiaPerfJson([p1, p2]), @@ -363,8 +344,8 @@ Future main() async { }); test('Successfully read mock GCS that fails 1st time with 504', () async { - final MockBucket testBucket = MockBucket(); - final SkiaPerfGcsAdaptor skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket); + final testBucket = MockBucket(); + final skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket); final String testObjectName = await SkiaPerfGcsAdaptor.computeObjectName( kFlutterFrameworkRepo, @@ -373,7 +354,7 @@ Future main() async { 'test', ); - final List writePoints = [ + final writePoints = [ SkiaPerfPoint.fromPoint(cocoonPointRev1Metric1), ]; final String skiaPerfJson = jsonEncode( @@ -390,7 +371,7 @@ Future main() async { testBucket.info(testObjectName), ).thenThrow(DetailedApiRequestError(504, 'Test Failure')); - final MockObjectInfo mockObjectInfo = MockObjectInfo(); + final mockObjectInfo = MockObjectInfo(); when( mockObjectInfo.downloadLink, ).thenReturn(Uri.https('test.com', 'mock.json')); @@ -414,8 +395,8 @@ Future main() async { }); test('Return empty list if the GCS file does not exist', () async { - final MockBucket testBucket = MockBucket(); - final SkiaPerfGcsAdaptor skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket); + final testBucket = MockBucket(); + final skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket); final String testObjectName = await SkiaPerfGcsAdaptor.computeObjectName( kFlutterFrameworkRepo, kFrameworkRevision1, @@ -433,19 +414,15 @@ Future main() async { GcsLock? testLock; final Map? credentialsJson = getTestGcpCredentialsJson(); if (credentialsJson != null) { - final ServiceAccountCredentials credentials = - ServiceAccountCredentials.fromJson(credentialsJson); + final credentials = ServiceAccountCredentials.fromJson(credentialsJson); final AutoRefreshingAuthClient client = await clientViaServiceAccount( credentials, Storage.SCOPES, ); - final Storage storage = Storage( - client, - credentialsJson['project_id'] as String, - ); + final storage = Storage(client, credentialsJson['project_id'] as String); - const String kTestBucketName = 'flutter-skia-perf-test'; + const kTestBucketName = 'flutter-skia-perf-test'; assert(await storage.bucketExists(kTestBucketName)); testBucket = storage.bucket(kTestBucketName); @@ -453,7 +430,7 @@ Future main() async { } Future skiaPerfGcsAdapterIntegrationTest() async { - final SkiaPerfGcsAdaptor skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket!); + final skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket!); final String testObjectName = await SkiaPerfGcsAdaptor.computeObjectName( kFlutterFrameworkRepo, @@ -488,13 +465,13 @@ Future main() async { expectSetMatch(points.map((SkiaPerfPoint p) => p.gitHash), [ kFrameworkRevision1, ]); - for (int i = 0; i < 2; i += 1) { + for (var i = 0; i < 2; i += 1) { expect(points[0].jsonUrl, startsWith('https://')); } } Future skiaPerfGcsIntegrationTestWithEnginePoints() async { - final SkiaPerfGcsAdaptor skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket!); + final skiaPerfGcs = SkiaPerfGcsAdaptor(testBucket!); final String testObjectName = await SkiaPerfGcsAdaptor.computeObjectName( kFlutterEngineRepo, @@ -526,7 +503,7 @@ Future main() async { expectSetMatch(points.map((SkiaPerfPoint p) => p.gitHash), [ engineRevision, ]); - for (int i = 0; i < 2; i += 1) { + for (var i = 0; i < 2; i += 1) { expect(points[0].jsonUrl, startsWith('https://')); } } @@ -591,13 +568,13 @@ Future main() async { ); test('SkiaPerfDestination.update awaits locks', () async { - bool updateCompleted = false; - final Completer callbackCompleter = Completer(); + var updateCompleted = false; + final callbackCompleter = Completer(); final SkiaPerfGcsAdaptor mockGcs = MockSkiaPerfGcsAdaptor( writePointsOverride: () => callbackCompleter.future, ); final GcsLock mockLock = MockGcsLock(); - final SkiaPerfDestination dst = SkiaPerfDestination(mockGcs, mockLock); + final dst = SkiaPerfDestination(mockGcs, mockLock); final Future updateFuture = dst.update( [cocoonPointRev1Metric1], DateTime.fromMillisecondsSinceEpoch(123), @@ -620,7 +597,7 @@ Future main() async { test('SkiaPerfDestination correctly updates points', () async { final SkiaPerfGcsAdaptor mockGcs = MockSkiaPerfGcsAdaptor(); final GcsLock mockLock = MockGcsLock(); - final SkiaPerfDestination dst = SkiaPerfDestination(mockGcs, mockLock); + final dst = SkiaPerfDestination(mockGcs, mockLock); await dst.update( [cocoonPointRev1Metric1], DateTime.fromMillisecondsSinceEpoch(123), @@ -652,10 +629,7 @@ Future main() async { kValue2, ]); - final MetricPoint updated = MetricPoint( - kValue3, - cocoonPointRev1Metric1.tags, - ); + final updated = MetricPoint(kValue3, cocoonPointRev1Metric1.tags); await dst.update( [updated, cocoonPointRev2Metric1], @@ -690,7 +664,7 @@ Future main() async { }); Future skiaPerfDestinationIntegrationTest() async { - final SkiaPerfDestination destination = SkiaPerfDestination( + final destination = SkiaPerfDestination( SkiaPerfGcsAdaptor(testBucket!), testLock, ); diff --git a/packages/metrics_center/test/utility.dart b/packages/metrics_center/test/utility.dart index 78f52d93526..321b5762568 100644 --- a/packages/metrics_center/test/utility.dart +++ b/packages/metrics_center/test/utility.dart @@ -14,7 +14,7 @@ void expectSetMatch(Iterable actual, Iterable expected) { // May return null if the credentials file doesn't exist. Map? getTestGcpCredentialsJson() { - final File f = File('secret/test_gcp_credentials.json'); + final f = File('secret/test_gcp_credentials.json'); if (!f.existsSync()) { return null; } diff --git a/packages/multicast_dns/CHANGELOG.md b/packages/multicast_dns/CHANGELOG.md index a5055cd9e8b..ab44bf6b730 100644 --- a/packages/multicast_dns/CHANGELOG.md +++ b/packages/multicast_dns/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 0.3.3 diff --git a/packages/multicast_dns/example/main.dart b/packages/multicast_dns/example/main.dart index 360d5a3273b..bb441d7495d 100644 --- a/packages/multicast_dns/example/main.dart +++ b/packages/multicast_dns/example/main.dart @@ -12,8 +12,8 @@ import 'package:multicast_dns/multicast_dns.dart'; Future main() async { // Parse the command line arguments. - const String name = '_dartobservatory._tcp.local'; - final MDnsClient client = MDnsClient(); + const name = '_dartobservatory._tcp.local'; + final client = MDnsClient(); // Start the client with default options. await client.start(); diff --git a/packages/multicast_dns/example/mdns_resolve.dart b/packages/multicast_dns/example/mdns_resolve.dart index 97ef0d8c88b..ed4301476c5 100644 --- a/packages/multicast_dns/example/mdns_resolve.dart +++ b/packages/multicast_dns/example/mdns_resolve.dart @@ -21,7 +21,7 @@ For example: final String name = args[0]; - final MDnsClient client = MDnsClient(); + final client = MDnsClient(); await client.start(); await for (final IPAddressResourceRecord record in client.lookup( diff --git a/packages/multicast_dns/example/mdns_sd.dart b/packages/multicast_dns/example/mdns_sd.dart index 4c4d5fea7a8..1d2f3623007 100644 --- a/packages/multicast_dns/example/mdns_sd.dart +++ b/packages/multicast_dns/example/mdns_sd.dart @@ -21,7 +21,7 @@ For example: final bool verbose = args.contains('--verbose') || args.contains('-v'); final String name = args.last; - final MDnsClient client = MDnsClient(); + final client = MDnsClient(); await client.start(); await for (final PtrResourceRecord ptr in client.lookup( diff --git a/packages/multicast_dns/lib/multicast_dns.dart b/packages/multicast_dns/lib/multicast_dns.dart index 0a0c7d74062..3b5b2b5fc8e 100644 --- a/packages/multicast_dns/lib/multicast_dns.dart +++ b/packages/multicast_dns/lib/multicast_dns.dart @@ -143,7 +143,7 @@ class MDnsClient { listenAddress.type, )).toList(); - for (final NetworkInterface interface in interfaces) { + for (final interface in interfaces) { final InternetAddress targetAddress = interface.addresses[0]; // Ensure that we're using this address/interface for multicast. @@ -217,14 +217,14 @@ class MDnsClient { throw StateError('mDNS client must be started before calling lookup.'); } // Look for entries in the cache. - final List cached = []; + final cached = []; _cache.lookup( query.fullyQualifiedName, query.resourceRecordType, cached, ); if (cached.isNotEmpty) { - final StreamController controller = StreamController(); + final controller = StreamController(); cached.forEach(controller.add); controller.close(); return controller.stream; diff --git a/packages/multicast_dns/lib/src/lookup_resolver.dart b/packages/multicast_dns/lib/src/lookup_resolver.dart index 531be38f2b1..bca9c16cbcb 100644 --- a/packages/multicast_dns/lib/src/lookup_resolver.dart +++ b/packages/multicast_dns/lib/src/lookup_resolver.dart @@ -40,9 +40,9 @@ class LookupResolver { String name, Duration timeout, ) { - final StreamController controller = StreamController(); - final PendingRequest request = PendingRequest(type, name, controller); - final Timer timer = Timer(timeout, () { + final controller = StreamController(); + final request = PendingRequest(type, name, controller); + final timer = Timer(timeout, () { request.unlink(); controller.close(); }); @@ -54,7 +54,7 @@ class LookupResolver { /// Parses [ResoureRecord]s received and delivers them to the appropriate /// listener(s) added via [addPendingRequest]. void handleResponse(List response) { - for (final ResourceRecord r in response) { + for (final r in response) { final int type = r.resourceRecordType; String name = r.name.toLowerCase(); if (name.endsWith('.')) { diff --git a/packages/multicast_dns/lib/src/native_protocol_client.dart b/packages/multicast_dns/lib/src/native_protocol_client.dart index 4c07df865df..89ea986d33c 100644 --- a/packages/multicast_dns/lib/src/native_protocol_client.dart +++ b/packages/multicast_dns/lib/src/native_protocol_client.dart @@ -25,7 +25,7 @@ class ResourceRecordCache { /// The number of entries in the cache. int get entryCount { - int count = 0; + var count = 0; for (final SplayTreeMap> map in _cache.values) { for (final List records in map.values) { @@ -40,8 +40,8 @@ class ResourceRecordCache { // TODO(karlklose): include flush bit in the record and only flush if // necessary. // Clear the cache for all name/type combinations to be updated. - final Map> seenRecordTypes = >{}; - for (final ResourceRecord record in records) { + final seenRecordTypes = >{}; + for (final record in records) { // TODO(dnfield): Update this to use set literal syntax when we're able to bump the SDK constraint. seenRecordTypes[record.resourceRecordType] ??= Set(); // ignore: prefer_collection_literals diff --git a/packages/multicast_dns/lib/src/packet.dart b/packages/multicast_dns/lib/src/packet.dart index 60e1b07fe5e..a914370594f 100644 --- a/packages/multicast_dns/lib/src/packet.dart +++ b/packages/multicast_dns/lib/src/packet.dart @@ -56,14 +56,14 @@ List encodeMDnsQuery( // Calculate the size of the packet. int size = _kHeaderSize; - for (int i = 0; i < rawNameParts.length; i++) { + for (var i = 0; i < rawNameParts.length; i++) { size += 1 + rawNameParts[i].length; } size += 1; // End with empty part size += 4; // Trailer (QTYPE and QCLASS). - final Uint8List data = Uint8List(size); - final ByteData packetByteData = ByteData.view(data.buffer); + final data = Uint8List(size); + final packetByteData = ByteData.view(data.buffer); // Query identifier - just use 0. packetByteData.setUint16(_kIdOffset, 0); // Flags - 0 for query. @@ -77,7 +77,7 @@ List encodeMDnsQuery( // Number of resource records - 0 for query. packetByteData.setUint16(_kArcountOffset, 0); int offset = _kHeaderSize; - for (int i = 0; i < rawNameParts.length; i++) { + for (var i = 0; i < rawNameParts.length; i++) { data[offset++] = rawNameParts[i].length; data.setRange(offset, offset + rawNameParts[i].length, rawNameParts[i]); offset += rawNameParts[i].length; @@ -119,7 +119,7 @@ String readFQDN(List packet, [int offset = 0]) { final Uint8List data = packet is Uint8List ? packet : Uint8List.fromList(packet); - final ByteData byteData = ByteData.view(data.buffer); + final byteData = ByteData.view(data.buffer); return _readFQDN(data, byteData, offset, data.length).fqdn; } @@ -140,11 +140,11 @@ _FQDNReadResult _readFQDN( } } - final List parts = []; - final int prevOffset = offset; - final List offsetsToVisit = [offset]; - int upperLimitOffset = offset; - int highestOffsetRead = offset; + final parts = []; + final prevOffset = offset; + final offsetsToVisit = [offset]; + var upperLimitOffset = offset; + var highestOffsetRead = offset; while (offsetsToVisit.isNotEmpty) { offset = offsetsToVisit.removeLast(); @@ -175,11 +175,7 @@ _FQDNReadResult _readFQDN( offset++; if (partLength > 0) { checkLength(offset + partLength); - final Uint8List partBytes = Uint8List.view( - data.buffer, - offset, - partLength, - ); + final partBytes = Uint8List.view(data.buffer, offset, partLength); offset += partLength; // According to the RFC, this is supposed to be utf-8 encoded, but // we should continue decoding even if it isn't to avoid dropping the @@ -210,7 +206,7 @@ List? decodeMDnsResponse(List packet) { final Uint8List data = packet is Uint8List ? packet : Uint8List.fromList(packet); - final ByteData packetBytes = ByteData.view(data.buffer); + final packetBytes = ByteData.view(data.buffer); final int answerCount = packetBytes.getUint16(_kAncountOffset); final int authorityCount = packetBytes.getUint16(_kNscountOffset); @@ -261,7 +257,7 @@ List? decodeMDnsResponse(List packet) { switch (type) { case ResourceRecordType.addressIPv4: checkLength(offset + readDataLength); - final StringBuffer addr = StringBuffer(); + final addr = StringBuffer(); final int stop = offset + readDataLength; addr.write(packetBytes.getUint8(offset)); offset++; @@ -276,7 +272,7 @@ List? decodeMDnsResponse(List packet) { ); case ResourceRecordType.addressIPv6: checkLength(offset + readDataLength); - final StringBuffer addr = StringBuffer(); + final addr = StringBuffer(); final int stop = offset + readDataLength; addr.write(packetBytes.getUint16(offset).toRadixString(16)); offset += 2; @@ -329,8 +325,8 @@ List? decodeMDnsResponse(List packet) { // The first byte of the buffer is the length of the first string of // the TXT record. Further length-prefixed strings may follow. We // concatenate them with newlines. - final StringBuffer strings = StringBuffer(); - int index = 0; + final strings = StringBuffer(); + var index = 0; while (index < readDataLength) { final int txtLength = data[offset + index]; index++; @@ -356,10 +352,10 @@ List? decodeMDnsResponse(List packet) { // This list can't be fixed length right now because we might get // resource record types we don't support, and consumers expect this list // to not have null entries. - final List result = []; + final result = []; try { - for (int i = 0; i < questionCount; i++) { + for (var i = 0; i < questionCount; i++) { final _FQDNReadResult result = _readFQDN( data, packetBytes, @@ -370,7 +366,7 @@ List? decodeMDnsResponse(List packet) { checkLength(offset + 4); offset += 4; } - for (int i = 0; i < remainingCount; i++) { + for (var i = 0; i < remainingCount; i++) { final ResourceRecord? record = readResourceRecord(); if (record != null) { result.add(record); diff --git a/packages/multicast_dns/lib/src/resource_record.dart b/packages/multicast_dns/lib/src/resource_record.dart index bb2cc9c23d6..f16d9a163dc 100644 --- a/packages/multicast_dns/lib/src/resource_record.dart +++ b/packages/multicast_dns/lib/src/resource_record.dart @@ -310,8 +310,8 @@ class SrvResourceRecord extends ResourceRecord { @override Uint8List encodeResponseRecord() { final List data = utf8.encode(target); - final Uint8List result = Uint8List(data.length + 7); - final ByteData resultData = ByteData.view(result.buffer); + final result = Uint8List(data.length + 7); + final resultData = ByteData.view(result.buffer); resultData.setUint16(0, priority); resultData.setUint16(2, weight); resultData.setUint16(4, port); diff --git a/packages/multicast_dns/pubspec.yaml b/packages/multicast_dns/pubspec.yaml index b8921c68434..ebd2ed2c79a 100644 --- a/packages/multicast_dns/pubspec.yaml +++ b/packages/multicast_dns/pubspec.yaml @@ -5,7 +5,7 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 0.3.3 environment: - sdk: ^3.8.0 + sdk: ^3.9.0 dependencies: meta: ^1.3.0 diff --git a/packages/multicast_dns/test/client_test.dart b/packages/multicast_dns/test/client_test.dart index 79483e5ef71..89bb64783a5 100644 --- a/packages/multicast_dns/test/client_test.dart +++ b/packages/multicast_dns/test/client_test.dart @@ -12,8 +12,8 @@ import 'package:test/test.dart'; void main() { test('Can inject datagram socket factory and configure mdns port', () async { late int lastPort; - final FakeRawDatagramSocket datagramSocket = FakeRawDatagramSocket(); - final MDnsClient client = MDnsClient( + final datagramSocket = FakeRawDatagramSocket(); + final client = MDnsClient( rawDatagramSocketFactory: ( dynamic host, @@ -37,8 +37,8 @@ void main() { }); test('Closes IPv4 sockets', () async { - final FakeRawDatagramSocket datagramSocket = FakeRawDatagramSocket(); - final MDnsClient client = MDnsClient( + final datagramSocket = FakeRawDatagramSocket(); + final client = MDnsClient( rawDatagramSocketFactory: ( dynamic host, @@ -62,9 +62,9 @@ void main() { }); test('Closes IPv6 sockets', () async { - final FakeRawDatagramSocket datagramSocket = FakeRawDatagramSocket(); + final datagramSocket = FakeRawDatagramSocket(); datagramSocket.address = InternetAddress.anyIPv6; - final MDnsClient client = MDnsClient( + final client = MDnsClient( rawDatagramSocketFactory: ( dynamic host, @@ -88,9 +88,9 @@ void main() { }); test('start() is idempotent', () async { - final FakeRawDatagramSocket datagramSocket = FakeRawDatagramSocket(); + final datagramSocket = FakeRawDatagramSocket(); datagramSocket.address = InternetAddress.anyIPv4; - final MDnsClient client = MDnsClient( + final client = MDnsClient( rawDatagramSocketFactory: ( dynamic host, @@ -112,7 +112,7 @@ void main() { }); group('Bind a single socket to ANY IPv4 and more than one when IPv6', () { - final List> testCases = >[ + final testCases = >[ { 'name': 'IPv4', 'datagramSocketType': InternetAddress.anyIPv4, @@ -125,15 +125,15 @@ void main() { }, ]; - for (final Map testCase in testCases) { + for (final testCase in testCases) { test('Bind a single socket to ANY ${testCase["name"]}', () async { - final FakeRawDatagramSocket datagramSocket = FakeRawDatagramSocket(); + final datagramSocket = FakeRawDatagramSocket(); datagramSocket.address = testCase['datagramSocketType']! as InternetAddress; - final List selectedInterfacesForSendingPackets = []; - final MDnsClient client = MDnsClient( + final selectedInterfacesForSendingPackets = []; + final client = MDnsClient( rawDatagramSocketFactory: ( dynamic host, @@ -147,14 +147,14 @@ void main() { }, ); - const int numberOfFakeInterfaces = 10; + const numberOfFakeInterfaces = 10; Future> fakeNetworkInterfacesFactory( InternetAddressType type, ) async { - final List fakeInterfaces = []; + final fakeInterfaces = []; // Generate "fake" interfaces - for (int i = 0; i < numberOfFakeInterfaces; i++) { + for (var i = 0; i < numberOfFakeInterfaces; i++) { fakeInterfaces.add( FakeNetworkInterface('inetfake$i', [ InternetAddress("${testCase['interfacePrefix']! as String}$i"), @@ -166,7 +166,7 @@ void main() { return Future.value(fakeInterfaces); } - final InternetAddress listenAddress = + final listenAddress = testCase['datagramSocketType']! as InternetAddress; await client.start( @@ -191,9 +191,8 @@ void main() { }); test('Calls onError callback in case of socket error', () async { - final FakeRawDatagramSocketThatSendsError datagramSocket = - FakeRawDatagramSocketThatSendsError(); - final MDnsClient client = MDnsClient( + final datagramSocket = FakeRawDatagramSocketThatSendsError(); + final client = MDnsClient( rawDatagramSocketFactory: ( dynamic host, @@ -206,7 +205,7 @@ void main() { }, ); - final Completer onErrorCalledCompleter = Completer(); + final onErrorCalledCompleter = Completer(); await client.start( mDnsPort: 1234, interfacesFactory: (InternetAddressType type) async => diff --git a/packages/multicast_dns/test/decode_test.dart b/packages/multicast_dns/test/decode_test.dart index acadeed165d..b4712c881cc 100644 --- a/packages/multicast_dns/test/decode_test.dart +++ b/packages/multicast_dns/test/decode_test.dart @@ -24,7 +24,7 @@ void testValidPackages() { List result = decodeMDnsResponse(package1)!; expect(result, isNotNull); expect(result.length, 1); - IPAddressResourceRecord ipResult = result[0] as IPAddressResourceRecord; + var ipResult = result[0] as IPAddressResourceRecord; expect(ipResult.name, 'raspberrypi.local'); expect(ipResult.address.address, '192.168.1.191'); @@ -193,8 +193,8 @@ void testValidPackages() { void testBadPackages() { test('Returns null for invalid packets', () { - for (final List p in >[package1, package2, package3]) { - for (int i = 0; i < p.length; i++) { + for (final p in >[package1, package2, package3]) { + for (var i = 0; i < p.length; i++) { expect(decodeMDnsResponse(p.sublist(0, i)), isNull); } } @@ -226,7 +226,7 @@ void testNonUtf8DomainName() { final List result = decodeMDnsResponse(nonUtf8Package)!; expect(result, isNotNull); expect(result[0] is TxtResourceRecord, isTrue); - final TxtResourceRecord txt = result[0] as TxtResourceRecord; + final txt = result[0] as TxtResourceRecord; expect(txt.name, contains('�')); }); } diff --git a/packages/multicast_dns/test/lookup_resolver_test.dart b/packages/multicast_dns/test/lookup_resolver_test.dart index dde83f9f8d8..f67549b8bc0 100644 --- a/packages/multicast_dns/test/lookup_resolver_test.dart +++ b/packages/multicast_dns/test/lookup_resolver_test.dart @@ -22,8 +22,8 @@ ResourceRecord ip4Result(String name, InternetAddress address) { void testTimeout() { test('Resolver does not return with short timeout', () async { - const Duration shortTimeout = Duration(milliseconds: 1); - final LookupResolver resolver = LookupResolver(); + const shortTimeout = Duration(milliseconds: 1); + final resolver = LookupResolver(); final Stream result = resolver.addPendingRequest( ResourceRecordType.addressIPv4, 'xxx', @@ -36,8 +36,8 @@ void testTimeout() { // One pending request and one response. void testResult() { test('One pending request and one response', () async { - const Duration noTimeout = Duration(days: 1); - final LookupResolver resolver = LookupResolver(); + const noTimeout = Duration(days: 1); + final resolver = LookupResolver(); final Stream futureResult = resolver.addPendingRequest( ResourceRecordType.addressIPv4, 'xxx.local', @@ -48,8 +48,7 @@ void testResult() { InternetAddress('1.2.3.4'), ); resolver.handleResponse([response]); - final IPAddressResourceRecord result = - await futureResult.first as IPAddressResourceRecord; + final result = await futureResult.first as IPAddressResourceRecord; expect('1.2.3.4', result.address.address); resolver.clearPendingRequests(); }); @@ -57,8 +56,8 @@ void testResult() { void testResult2() { test('Two requests', () async { - const Duration noTimeout = Duration(days: 1); - final LookupResolver resolver = LookupResolver(); + const noTimeout = Duration(days: 1); + final resolver = LookupResolver(); final Stream futureResult1 = resolver.addPendingRequest( ResourceRecordType.addressIPv4, 'xxx.local', @@ -78,10 +77,8 @@ void testResult2() { InternetAddress('2.3.4.5'), ); resolver.handleResponse([response2, response1]); - final IPAddressResourceRecord result1 = - await futureResult1.first as IPAddressResourceRecord; - final IPAddressResourceRecord result2 = - await futureResult2.first as IPAddressResourceRecord; + final result1 = await futureResult1.first as IPAddressResourceRecord; + final result2 = await futureResult2.first as IPAddressResourceRecord; expect('1.2.3.4', result1.address.address); expect('2.3.4.5', result2.address.address); resolver.clearPendingRequests(); @@ -90,8 +87,8 @@ void testResult2() { void testResult3() { test('Multiple requests', () async { - const Duration noTimeout = Duration(days: 1); - final LookupResolver resolver = LookupResolver(); + const noTimeout = Duration(days: 1); + final resolver = LookupResolver(); final ResourceRecord response0 = ip4Result( 'zzz.local', InternetAddress('2.3.4.5'), @@ -121,10 +118,8 @@ void testResult3() { resolver.handleResponse([response0]); resolver.handleResponse([response2, response1]); resolver.handleResponse([response0]); - final IPAddressResourceRecord result1 = - await futureResult1.first as IPAddressResourceRecord; - final IPAddressResourceRecord result2 = - await futureResult2.first as IPAddressResourceRecord; + final result1 = await futureResult1.first as IPAddressResourceRecord; + final result2 = await futureResult2.first as IPAddressResourceRecord; expect('1.2.3.4', result1.address.address); expect('2.3.4.5', result2.address.address); resolver.clearPendingRequests(); diff --git a/packages/multicast_dns/test/resource_record_cache_test.dart b/packages/multicast_dns/test/resource_record_cache_test.dart index 703211eea49..9ecb88d1eab 100644 --- a/packages/multicast_dns/test/resource_record_cache_test.dart +++ b/packages/multicast_dns/test/resource_record_cache_test.dart @@ -20,11 +20,11 @@ void main() { void testOverwrite() { test('Cache can overwrite entries', () { - final InternetAddress ip1 = InternetAddress('192.168.1.1'); - final InternetAddress ip2 = InternetAddress('192.168.1.2'); + final ip1 = InternetAddress('192.168.1.1'); + final ip2 = InternetAddress('192.168.1.2'); final int valid = DateTime.now().millisecondsSinceEpoch + 86400 * 1000; - final ResourceRecordCache cache = ResourceRecordCache(); + final cache = ResourceRecordCache(); // Add two different records. cache.updateRecords([ @@ -58,11 +58,11 @@ void testOverwrite() { void testTimeout() { test('Cache can evict records after timeout', () { - final InternetAddress ip1 = InternetAddress('192.168.1.1'); + final ip1 = InternetAddress('192.168.1.1'); final int valid = DateTime.now().millisecondsSinceEpoch + 86400 * 1000; final int notValid = DateTime.now().millisecondsSinceEpoch - 1; - final ResourceRecordCache cache = ResourceRecordCache(); + final cache = ResourceRecordCache(); cache.updateRecords([ IPAddressResourceRecord('hest', valid, address: ip1), @@ -73,7 +73,7 @@ void testTimeout() { IPAddressResourceRecord('fisk', notValid, address: ip1), ]); - List results = []; + var results = []; cache.lookup('hest', ResourceRecordType.addressIPv4, results); expect(results.isEmpty, isFalse); diff --git a/packages/multicast_dns/tool/packet_gen.dart b/packages/multicast_dns/tool/packet_gen.dart index de4e5b635bd..d3df26c9fad 100644 --- a/packages/multicast_dns/tool/packet_gen.dart +++ b/packages/multicast_dns/tool/packet_gen.dart @@ -9,8 +9,8 @@ import 'dart:io'; void formatHexStream(String hexStream) { - String s = ''; - for (int i = 0; i < hexStream.length / 2; i++) { + var s = ''; + for (var i = 0; i < hexStream.length / 2; i++) { if (s.isNotEmpty) { s += ', '; } @@ -30,8 +30,8 @@ void formatHexStream(String hexStream) { // Support code for generating the hex-lists in test/decode_test.dart. void hexDumpList(List package) { - String s = ''; - for (int i = 0; i < package.length; i++) { + var s = ''; + for (var i = 0; i < package.length; i++) { if (s.isNotEmpty) { s += ', '; } @@ -54,8 +54,8 @@ void hexDumpList(List package) { void dumpDatagram(Datagram datagram) { String toHex(List ints) { - final StringBuffer buffer = StringBuffer(); - for (int i = 0; i < ints.length; i++) { + final buffer = StringBuffer(); + for (var i = 0; i < ints.length; i++) { buffer.write(ints[i].toRadixString(16).padLeft(2, '0')); if ((i + 1) % 10 == 0) { buffer.writeln(); diff --git a/packages/path_provider/path_provider/example/integration_test/path_provider_test.dart b/packages/path_provider/path_provider/example/integration_test/path_provider_test.dart index 41606be831d..69647b68dce 100644 --- a/packages/path_provider/path_provider/example/integration_test/path_provider_test.dart +++ b/packages/path_provider/path_provider/example/integration_test/path_provider_test.dart @@ -71,7 +71,7 @@ void main() { } }); - final List allDirs = [ + final allDirs = [ null, StorageDirectory.music, StorageDirectory.podcasts, @@ -82,7 +82,7 @@ void main() { StorageDirectory.movies, ]; - for (final StorageDirectory? type in allDirs) { + for (final type in allDirs) { testWidgets('getExternalStorageDirectories (type: $type)', ( WidgetTester tester, ) async { @@ -117,7 +117,7 @@ void _verifySampleFile(Directory? directory, String name) { if (directory == null) { return; } - final File file = File('${directory.path}/$name'); + final file = File('${directory.path}/$name'); if (file.existsSync()) { file.deleteSync(); diff --git a/packages/path_provider/path_provider/example/lib/main.dart b/packages/path_provider/path_provider/example/lib/main.dart index e60a40e944c..a3aeb6cc657 100644 --- a/packages/path_provider/path_provider/example/lib/main.dart +++ b/packages/path_provider/path_provider/example/lib/main.dart @@ -55,7 +55,7 @@ class _MyHomePageState extends State { BuildContext context, AsyncSnapshot snapshot, ) { - Text text = const Text(''); + var text = const Text(''); if (snapshot.connectionState == ConnectionState.done) { if (snapshot.hasError) { text = Text('Error: ${snapshot.error}'); @@ -72,7 +72,7 @@ class _MyHomePageState extends State { BuildContext context, AsyncSnapshot?> snapshot, ) { - Text text = const Text(''); + var text = const Text(''); if (snapshot.connectionState == ConnectionState.done) { if (snapshot.hasError) { text = Text('Error: ${snapshot.error}'); diff --git a/packages/path_provider/path_provider/lib/path_provider.dart b/packages/path_provider/path_provider/lib/path_provider.dart index 9ccad357ae5..d855c260889 100644 --- a/packages/path_provider/path_provider/lib/path_provider.dart +++ b/packages/path_provider/path_provider/lib/path_provider.dart @@ -30,7 +30,7 @@ class MissingPlatformDirectoryException implements Exception { @override String toString() { - final String detailsAddition = details == null ? '' : ': $details'; + final detailsAddition = details == null ? '' : ': $details'; return 'MissingPlatformDirectoryException($message)$detailsAddition'; } } diff --git a/packages/path_provider/path_provider_android/example/integration_test/path_provider_test.dart b/packages/path_provider/path_provider_android/example/integration_test/path_provider_test.dart index af788344fac..ab6b1b76eaf 100644 --- a/packages/path_provider/path_provider_android/example/integration_test/path_provider_test.dart +++ b/packages/path_provider/path_provider_android/example/integration_test/path_provider_test.dart @@ -57,7 +57,7 @@ void main() { } }); - final List allDirs = [ + final allDirs = [ null, StorageDirectory.music, StorageDirectory.podcasts, @@ -68,7 +68,7 @@ void main() { StorageDirectory.movies, ]; - for (final StorageDirectory? type in allDirs) { + for (final type in allDirs) { testWidgets('getExternalStorageDirectories (type: $type)', ( WidgetTester tester, ) async { @@ -93,8 +93,8 @@ void _verifySampleFile(String? directoryPath, String name) { if (directoryPath == null) { return; } - final Directory directory = Directory(directoryPath); - final File file = File('${directory.path}${Platform.pathSeparator}$name'); + final directory = Directory(directoryPath); + final file = File('${directory.path}${Platform.pathSeparator}$name'); if (file.existsSync()) { file.deleteSync(); diff --git a/packages/path_provider/path_provider_android/example/lib/main.dart b/packages/path_provider/path_provider_android/example/lib/main.dart index 546d3f125f2..1bec8806abb 100644 --- a/packages/path_provider/path_provider_android/example/lib/main.dart +++ b/packages/path_provider/path_provider_android/example/lib/main.dart @@ -53,7 +53,7 @@ class _MyHomePageState extends State { BuildContext context, AsyncSnapshot snapshot, ) { - Text text = const Text(''); + var text = const Text(''); if (snapshot.connectionState == ConnectionState.done) { if (snapshot.hasError) { text = Text('Error: ${snapshot.error}'); @@ -70,7 +70,7 @@ class _MyHomePageState extends State { BuildContext context, AsyncSnapshot?> snapshot, ) { - Text text = const Text(''); + var text = const Text(''); if (snapshot.connectionState == ConnectionState.done) { if (snapshot.hasError) { text = Text('Error: ${snapshot.error}'); diff --git a/packages/path_provider/path_provider_foundation/example/integration_test/path_provider_test.dart b/packages/path_provider/path_provider_foundation/example/integration_test/path_provider_test.dart index 2bd88a2c98f..9ad8b748b97 100644 --- a/packages/path_provider/path_provider_foundation/example/integration_test/path_provider_test.dart +++ b/packages/path_provider/path_provider_foundation/example/integration_test/path_provider_test.dart @@ -76,7 +76,7 @@ void main() { testWidgets('getContainerDirectory', (WidgetTester tester) async { if (Platform.isIOS) { - final PathProviderFoundation provider = PathProviderFoundation(); + final provider = PathProviderFoundation(); final String? result = await provider.getContainerPath( appGroupIdentifier: 'group.flutter.appGroupTest', ); @@ -90,11 +90,12 @@ void main() { // NSString, etc.) that aren't available in an actual unit test. For these // tests, the platform is stubbed out. group('unit', () { - final ValueVariant platformVariants = - ValueVariant({ - FakePlatformProvider(isIOS: true), - FakePlatformProvider(isMacOS: true), - }); + final platformVariants = ValueVariant( + { + FakePlatformProvider(isIOS: true), + FakePlatformProvider(isMacOS: true), + }, + ); // These tests use the actual filesystem, since an injectable filesystem // would add a runtime dependency to the package, so everything is contained @@ -110,8 +111,8 @@ void main() { }); testWidgets('getTemporaryPath iOS', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: FakePlatformProvider(isIOS: true), ); @@ -131,8 +132,8 @@ void main() { }); testWidgets('getTemporaryPath macOS', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: FakePlatformProvider(isMacOS: true), ); @@ -153,8 +154,8 @@ void main() { }); testWidgets('getApplicationSupportPath iOS', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: FakePlatformProvider(isIOS: true), ); @@ -179,8 +180,8 @@ void main() { }); testWidgets('getApplicationSupportPath macOS', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: FakePlatformProvider(isMacOS: true), ); @@ -211,8 +212,8 @@ void main() { testWidgets( 'getApplicationSupportPath creates the directory if necessary', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: platformVariants.currentValue, ); @@ -239,8 +240,8 @@ void main() { ); testWidgets('getLibraryPath', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: platformVariants.currentValue, ); @@ -260,8 +261,8 @@ void main() { }, variant: platformVariants); testWidgets('getApplicationDocumentsPath', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: platformVariants.currentValue, ); @@ -286,8 +287,8 @@ void main() { }, variant: platformVariants); testWidgets('getApplicationCachePath iOS', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: FakePlatformProvider(isIOS: true), ); @@ -312,8 +313,8 @@ void main() { }); testWidgets('getApplicationCachePath macOS', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: FakePlatformProvider(isMacOS: true), ); @@ -344,8 +345,8 @@ void main() { testWidgets( 'getApplicationCachePath creates the directory if necessary', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: platformVariants.currentValue, ); @@ -372,8 +373,8 @@ void main() { ); testWidgets('getDownloadsPath', (_) async { - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, platform: platformVariants.currentValue, ); @@ -396,14 +397,14 @@ void main() { final String containerPath = p.join(testRoot.path, 'container', 'path'); final NSURL containerUrl = NSURL.fileURLWithPath(NSString(containerPath)); - final MockFoundationFFI mockFfiLib = MockFoundationFFI(); - final PathProviderFoundation pathProvider = PathProviderFoundation( + final mockFfiLib = MockFoundationFFI(); + final pathProvider = PathProviderFoundation( ffiLib: mockFfiLib, containerURLForSecurityApplicationGroupIdentifier: (_) => containerUrl, platform: FakePlatformProvider(isIOS: true), ); - const String appGroupIdentifier = 'group.example.test'; + const appGroupIdentifier = 'group.example.test'; final String? result = await pathProvider.getContainerPath( appGroupIdentifier: appGroupIdentifier, ); @@ -426,8 +427,8 @@ void _verifySampleFile(String? directoryPath, String name) { if (directoryPath == null) { return; } - final Directory directory = Directory(directoryPath); - final File file = File('${directory.path}${Platform.pathSeparator}$name'); + final directory = Directory(directoryPath); + final file = File('${directory.path}${Platform.pathSeparator}$name'); if (file.existsSync()) { file.deleteSync(); diff --git a/packages/path_provider/path_provider_foundation/example/lib/main.dart b/packages/path_provider/path_provider_foundation/example/lib/main.dart index 884f68ec7f9..ca2af824df4 100644 --- a/packages/path_provider/path_provider_foundation/example/lib/main.dart +++ b/packages/path_provider/path_provider_foundation/example/lib/main.dart @@ -45,7 +45,7 @@ class _MyAppState extends State { String? containerDirectory; String? cacheDirectory; final PathProviderPlatform provider = PathProviderPlatform.instance; - final PathProviderFoundation providerFoundation = PathProviderFoundation(); + final providerFoundation = PathProviderFoundation(); try { tempDirectory = await provider.getTemporaryPath(); diff --git a/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.dart b/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.dart index 459444bb53a..506e135768d 100644 --- a/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.dart +++ b/packages/path_provider/path_provider_foundation/test/path_provider_foundation_test.dart @@ -30,16 +30,12 @@ void main() { }); test('getExternalCachePaths throws', () async { - final PathProviderFoundation pathProvider = PathProviderFoundation( - ffiLib: FakeFoundationFFI(), - ); + final pathProvider = PathProviderFoundation(ffiLib: FakeFoundationFFI()); expect(pathProvider.getExternalCachePaths(), throwsA(isUnsupportedError)); }); test('getExternalStoragePath throws', () async { - final PathProviderFoundation pathProvider = PathProviderFoundation( - ffiLib: FakeFoundationFFI(), - ); + final pathProvider = PathProviderFoundation(ffiLib: FakeFoundationFFI()); expect( pathProvider.getExternalStoragePath(), throwsA(isUnsupportedError), @@ -47,9 +43,7 @@ void main() { }); test('getExternalStoragePaths throws', () async { - final PathProviderFoundation pathProvider = PathProviderFoundation( - ffiLib: FakeFoundationFFI(), - ); + final pathProvider = PathProviderFoundation(ffiLib: FakeFoundationFFI()); expect( pathProvider.getExternalStoragePaths(), throwsA(isUnsupportedError), @@ -57,7 +51,7 @@ void main() { }); test('getContainerPath throws on macOS', () async { - final PathProviderFoundation pathProvider = PathProviderFoundation( + final pathProvider = PathProviderFoundation( platform: FakePlatformProvider(isMacOS: true), ffiLib: FakeFoundationFFI(), ); diff --git a/packages/path_provider/path_provider_foundation/tool/ffigen.dart b/packages/path_provider/path_provider_foundation/tool/ffigen.dart index 214cba31e6f..e07f848581e 100644 --- a/packages/path_provider/path_provider_foundation/tool/ffigen.dart +++ b/packages/path_provider/path_provider_foundation/tool/ffigen.dart @@ -33,7 +33,7 @@ void main() { }, includeMember: (Declaration declaration, String member) { final String interfaceName = declaration.originalName; - final String signature = member; + final signature = member; return switch (interfaceName) { 'NSFileManager' => { 'containerURLForSecurityApplicationGroupIdentifier:', diff --git a/packages/path_provider/path_provider_linux/example/integration_test/path_provider_test.dart b/packages/path_provider/path_provider_linux/example/integration_test/path_provider_test.dart index 8ab4e8374bb..2c916682b46 100644 --- a/packages/path_provider/path_provider_linux/example/integration_test/path_provider_test.dart +++ b/packages/path_provider/path_provider_linux/example/integration_test/path_provider_test.dart @@ -11,7 +11,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); testWidgets('getTemporaryDirectory', (WidgetTester tester) async { - final PathProviderLinux provider = PathProviderLinux(); + final provider = PathProviderLinux(); final String? result = await provider.getTemporaryPath(); _verifySampleFile(result, 'temporaryDirectory'); }); @@ -20,25 +20,25 @@ void main() { if (!Platform.isLinux) { return; } - final PathProviderLinux provider = PathProviderLinux(); + final provider = PathProviderLinux(); final String? result = await provider.getDownloadsPath(); _verifySampleFile(result, 'downloadDirectory'); }); testWidgets('getApplicationDocumentsDirectory', (WidgetTester tester) async { - final PathProviderLinux provider = PathProviderLinux(); + final provider = PathProviderLinux(); final String? result = await provider.getApplicationDocumentsPath(); _verifySampleFile(result, 'applicationDocuments'); }); testWidgets('getApplicationSupportDirectory', (WidgetTester tester) async { - final PathProviderLinux provider = PathProviderLinux(); + final provider = PathProviderLinux(); final String? result = await provider.getApplicationSupportPath(); _verifySampleFile(result, 'applicationSupport'); }); testWidgets('getApplicationCacheDirectory', (WidgetTester tester) async { - final PathProviderLinux provider = PathProviderLinux(); + final provider = PathProviderLinux(); final String? result = await provider.getApplicationCachePath(); _verifySampleFile(result, 'applicationCache'); }); @@ -51,8 +51,8 @@ void _verifySampleFile(String? directoryPath, String name) { if (directoryPath == null) { return; } - final Directory directory = Directory(directoryPath); - final File file = File('${directory.path}${Platform.pathSeparator}$name'); + final directory = Directory(directoryPath); + final file = File('${directory.path}${Platform.pathSeparator}$name'); if (file.existsSync()) { file.deleteSync(); diff --git a/packages/path_provider/path_provider_linux/lib/src/path_provider_linux.dart b/packages/path_provider/path_provider_linux/lib/src/path_provider_linux.dart index 64874471249..20c4226cdac 100644 --- a/packages/path_provider/path_provider_linux/lib/src/path_provider_linux.dart +++ b/packages/path_provider/path_provider_linux/lib/src/path_provider_linux.dart @@ -47,16 +47,14 @@ class PathProviderLinux extends PathProviderPlatform { @override Future getApplicationSupportPath() async { - final Directory directory = Directory( - path.join(xdg.dataHome.path, await _getId()), - ); + final directory = Directory(path.join(xdg.dataHome.path, await _getId())); if (directory.existsSync()) { return directory.path; } // This plugin originally used the executable name as a directory. // Use that if it exists for backwards compatibility. - final Directory legacyDirectory = Directory( + final legacyDirectory = Directory( path.join(xdg.dataHome.path, await _getExecutableName()), ); if (legacyDirectory.existsSync()) { @@ -75,9 +73,7 @@ class PathProviderLinux extends PathProviderPlatform { @override Future getApplicationCachePath() async { - final Directory directory = Directory( - path.join(xdg.cacheHome.path, await _getId()), - ); + final directory = Directory(path.join(xdg.cacheHome.path, await _getId())); if (!directory.existsSync()) { await directory.create(recursive: true); } diff --git a/packages/path_provider/path_provider_linux/test/get_application_id_test.dart b/packages/path_provider/path_provider_linux/test/get_application_id_test.dart index 1730d897d78..4e6afb33441 100644 --- a/packages/path_provider/path_provider_linux/test/get_application_id_test.dart +++ b/packages/path_provider/path_provider_linux/test/get_application_id_test.dart @@ -53,7 +53,7 @@ void main() { test('returns value if g_application_get_application_id returns a value', () { fakeGio.libraryIsPresent = true; fakeGio.application = 1; - const String id = 'foo'; + const id = 'foo'; final Pointer idPtr = id.toNativeUtf8(); fakeGio.applicationId = idPtr; expect(getApplicationId(), id); diff --git a/packages/path_provider/path_provider_platform_interface/test/method_channel_path_provider_test.dart b/packages/path_provider/path_provider_platform_interface/test/method_channel_path_provider_test.dart index b404c977fec..77e19949597 100644 --- a/packages/path_provider/path_provider_platform_interface/test/method_channel_path_provider_test.dart +++ b/packages/path_provider/path_provider_platform_interface/test/method_channel_path_provider_test.dart @@ -10,18 +10,18 @@ import 'package:platform/platform.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - const String kTemporaryPath = 'temporaryPath'; - const String kApplicationSupportPath = 'applicationSupportPath'; - const String kLibraryPath = 'libraryPath'; - const String kApplicationDocumentsPath = 'applicationDocumentsPath'; - const String kApplicationCachePath = 'applicationCachePath'; - const String kExternalCachePaths = 'externalCachePaths'; - const String kExternalStoragePaths = 'externalStoragePaths'; - const String kDownloadsPath = 'downloadsPath'; + const kTemporaryPath = 'temporaryPath'; + const kApplicationSupportPath = 'applicationSupportPath'; + const kLibraryPath = 'libraryPath'; + const kApplicationDocumentsPath = 'applicationDocumentsPath'; + const kApplicationCachePath = 'applicationCachePath'; + const kExternalCachePaths = 'externalCachePaths'; + const kExternalStoragePaths = 'externalStoragePaths'; + const kDownloadsPath = 'downloadsPath'; group('$MethodChannelPathProvider', () { late MethodChannelPathProvider methodChannelPathProvider; - final List log = []; + final log = []; setUp(() async { methodChannelPathProvider = MethodChannelPathProvider(); @@ -155,10 +155,7 @@ void main() { } }); - for (final StorageDirectory? type in [ - null, - ...StorageDirectory.values, - ]) { + for (final type in [null, ...StorageDirectory.values]) { test('getExternalStoragePaths (type: $type) android succeeds', () async { final List? result = await methodChannelPathProvider .getExternalStoragePaths(type: type); diff --git a/packages/path_provider/path_provider_platform_interface/test/path_provider_platform_interface_test.dart b/packages/path_provider/path_provider_platform_interface/test/path_provider_platform_interface_test.dart index 18eeadf34ba..f38d94ee94b 100644 --- a/packages/path_provider/path_provider_platform_interface/test/path_provider_platform_interface_test.dart +++ b/packages/path_provider/path_provider_platform_interface/test/path_provider_platform_interface_test.dart @@ -15,8 +15,7 @@ void main() { }); test('getApplicationCachePath throws unimplemented error', () { - final ExtendsPathProviderPlatform pathProviderPlatform = - ExtendsPathProviderPlatform(); + final pathProviderPlatform = ExtendsPathProviderPlatform(); expect( () => pathProviderPlatform.getApplicationCachePath(), diff --git a/packages/path_provider/path_provider_windows/example/integration_test/path_provider_test.dart b/packages/path_provider/path_provider_windows/example/integration_test/path_provider_test.dart index 913e79cb742..214fc901499 100644 --- a/packages/path_provider/path_provider_windows/example/integration_test/path_provider_test.dart +++ b/packages/path_provider/path_provider_windows/example/integration_test/path_provider_test.dart @@ -11,31 +11,31 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); testWidgets('getTemporaryDirectory', (WidgetTester tester) async { - final PathProviderWindows provider = PathProviderWindows(); + final provider = PathProviderWindows(); final String? result = await provider.getTemporaryPath(); _verifySampleFile(result, 'temporaryDirectory'); }); testWidgets('getApplicationDocumentsDirectory', (WidgetTester tester) async { - final PathProviderWindows provider = PathProviderWindows(); + final provider = PathProviderWindows(); final String? result = await provider.getApplicationDocumentsPath(); _verifySampleFile(result, 'applicationDocuments'); }); testWidgets('getApplicationSupportDirectory', (WidgetTester tester) async { - final PathProviderWindows provider = PathProviderWindows(); + final provider = PathProviderWindows(); final String? result = await provider.getApplicationSupportPath(); _verifySampleFile(result, 'applicationSupport'); }); testWidgets('getApplicationCacheDirectory', (WidgetTester tester) async { - final PathProviderWindows provider = PathProviderWindows(); + final provider = PathProviderWindows(); final String? result = await provider.getApplicationCachePath(); _verifySampleFile(result, 'applicationCache'); }); testWidgets('getDownloadsDirectory', (WidgetTester tester) async { - final PathProviderWindows provider = PathProviderWindows(); + final provider = PathProviderWindows(); final String? result = await provider.getDownloadsPath(); _verifySampleFile(result, 'downloads'); }); @@ -48,8 +48,8 @@ void _verifySampleFile(String? directoryPath, String name) { if (directoryPath == null) { return; } - final Directory directory = Directory(directoryPath); - final File file = File('${directory.path}${Platform.pathSeparator}$name'); + final directory = Directory(directoryPath); + final file = File('${directory.path}${Platform.pathSeparator}$name'); if (file.existsSync()) { file.deleteSync(); diff --git a/packages/path_provider/path_provider_windows/example/lib/main.dart b/packages/path_provider/path_provider_windows/example/lib/main.dart index 4dc03bf414e..465492c1ece 100644 --- a/packages/path_provider/path_provider_windows/example/lib/main.dart +++ b/packages/path_provider/path_provider_windows/example/lib/main.dart @@ -39,7 +39,7 @@ class _MyAppState extends State { String? appSupportDirectory; String? documentsDirectory; String? cacheDirectory; - final PathProviderWindows provider = PathProviderWindows(); + final provider = PathProviderWindows(); try { tempDirectory = await provider.getTemporaryPath(); diff --git a/packages/path_provider/path_provider_windows/lib/src/guid.dart b/packages/path_provider/path_provider_windows/lib/src/guid.dart index 07bf17714eb..c240b809806 100644 --- a/packages/path_provider/path_provider_windows/lib/src/guid.dart +++ b/packages/path_provider/path_provider_windows/lib/src/guid.dart @@ -34,8 +34,8 @@ base class GUID extends Struct { if (hexOnly.length != 32) { throw ArgumentError.value(guid, 'guid', 'Invalid GUID string'); } - final ByteData bytes = ByteData(16); - for (int i = 0; i < 16; ++i) { + final bytes = ByteData(16); + for (var i = 0; i < 16; ++i) { bytes.setUint8( i, int.parse(hexOnly.substring(i * 2, i * 2 + 2), radix: 16), diff --git a/packages/path_provider/path_provider_windows/lib/src/path_provider_windows_real.dart b/packages/path_provider/path_provider_windows/lib/src/path_provider_windows_real.dart index 98df30bdf31..e82bafc6332 100644 --- a/packages/path_provider/path_provider_windows/lib/src/path_provider_windows_real.dart +++ b/packages/path_provider/path_provider_windows/lib/src/path_provider_windows_real.dart @@ -104,7 +104,7 @@ class PathProviderWindows extends PathProviderPlatform { } // Ensure that the directory exists, since GetTempPath doesn't. - final Directory directory = Directory(path); + final directory = Directory(path); if (!directory.existsSync()) { await directory.create(recursive: true); } @@ -255,7 +255,7 @@ class PathProviderWindows extends PathProviderPlatform { .trimRight() // Ensure that it does not end with a '.'. .replaceAll(RegExp(r'[.]+$'), ''); - const int kMaxComponentLength = 255; + const kMaxComponentLength = 255; if (sanitized.length > kMaxComponentLength) { sanitized = sanitized.substring(0, kMaxComponentLength); } @@ -267,7 +267,7 @@ class PathProviderWindows extends PathProviderPlatform { if (baseDir == null) { return null; } - final Directory directory = Directory( + final directory = Directory( path.join(baseDir, _getApplicationSpecificSubdirectory()), ); // Ensure that the directory exists if possible, since it will on other diff --git a/packages/path_provider/path_provider_windows/test/guid_test.dart b/packages/path_provider/path_provider_windows/test/guid_test.dart index 9c7cbd41f6e..dbb64d407ca 100644 --- a/packages/path_provider/path_provider_windows/test/guid_test.dart +++ b/packages/path_provider/path_provider_windows/test/guid_test.dart @@ -13,7 +13,7 @@ void main() { test('has correct byte representation', () async { final Pointer guid = calloc() ..ref.parse('{00112233-4455-6677-8899-aabbccddeeff}'); - final ByteData data = ByteData(16) + final data = ByteData(16) ..setInt32(0, guid.ref.data1, Endian.little) ..setInt16(4, guid.ref.data2, Endian.little) ..setInt16(6, guid.ref.data3, Endian.little) diff --git a/packages/path_provider/path_provider_windows/test/path_provider_windows_test.dart b/packages/path_provider/path_provider_windows/test/path_provider_windows_test.dart index ed79b00d661..5ef6c87299a 100644 --- a/packages/path_provider/path_provider_windows/test/path_provider_windows_test.dart +++ b/packages/path_provider/path_provider_windows/test/path_provider_windows_test.dart @@ -45,12 +45,12 @@ void main() { }); test('getTemporaryPath', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); expect(await pathProvider.getTemporaryPath(), contains(r'C:\')); }, skip: !Platform.isWindows); test('getApplicationSupportPath with no version info', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier( {}, ); @@ -64,7 +64,7 @@ void main() { test( 'getApplicationSupportPath with full version info in CP1252', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier({ 'CompanyName': 'A Company', 'ProductName': 'Amazing App', @@ -82,7 +82,7 @@ void main() { test( 'getApplicationSupportPath with full version info in Unicode', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier({ 'CompanyName': 'A Company', 'ProductName': 'Amazing App', @@ -100,7 +100,7 @@ void main() { test( 'getApplicationSupportPath with full version info in Unsupported Encoding', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier( { 'CompanyName': 'A Company', @@ -119,7 +119,7 @@ void main() { ); test('getApplicationSupportPath with missing company', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier({ 'ProductName': 'Amazing App', }); @@ -132,7 +132,7 @@ void main() { }, skip: !Platform.isWindows); test('getApplicationSupportPath with problematic values', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier({ 'CompanyName': r'A Company: Name.', 'ProductName': r'A"/Terrible\|App?*Name', @@ -153,7 +153,7 @@ void main() { test( 'getApplicationSupportPath with a completely invalid company', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier({ 'CompanyName': r'..', 'ProductName': r'Amazing App', @@ -169,7 +169,7 @@ void main() { ); test('getApplicationSupportPath with very long app name', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); final String truncatedName = 'A' * 255; pathProvider.versionInfoQuerier = FakeVersionInfoQuerier({ 'CompanyName': 'A Company', @@ -182,14 +182,14 @@ void main() { }, skip: !Platform.isWindows); test('getApplicationDocumentsPath', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); final String? path = await pathProvider.getApplicationDocumentsPath(); expect(path, contains(r'C:\')); expect(path, contains(r'Documents')); }, skip: !Platform.isWindows); test('getApplicationCachePath', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); pathProvider.versionInfoQuerier = FakeVersionInfoQuerier({ 'CompanyName': 'A Company', 'ProductName': 'Amazing App', @@ -203,7 +203,7 @@ void main() { }, skip: !Platform.isWindows); test('getDownloadsPath', () async { - final PathProviderWindows pathProvider = PathProviderWindows(); + final pathProvider = PathProviderWindows(); final String? path = await pathProvider.getDownloadsPath(); expect(path, contains(r'C:\')); expect(path, contains(r'Downloads')); diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md index b06060a495e..96f8ff9629a 100644 --- a/packages/pigeon/CHANGELOG.md +++ b/packages/pigeon/CHANGELOG.md @@ -1,3 +1,7 @@ +## NEXT + +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. + ## 26.1.2 * [kotlin] Fixes compilation error with unbounded type parameter for InstanceManager. diff --git a/packages/pigeon/example/README.md b/packages/pigeon/example/README.md index b3e895b26c6..1ce5a202cb7 100644 --- a/packages/pigeon/example/README.md +++ b/packages/pigeon/example/README.md @@ -103,7 +103,7 @@ Future add(int a, int b) async { /// Sends message through host api using `MessageData` class /// and api `sendMessage` method. Future sendMessage(String messageText) { - final MessageData message = MessageData( + final message = MessageData( code: Code.one, data: {'header': 'this is a header'}, description: 'uri text', diff --git a/packages/pigeon/example/app/lib/main.dart b/packages/pigeon/example/app/lib/main.dart index fe1dfe9bf9d..eeb193aa1f6 100644 --- a/packages/pigeon/example/app/lib/main.dart +++ b/packages/pigeon/example/app/lib/main.dart @@ -74,7 +74,7 @@ class _MyHomePageState extends State { /// Sends message through host api using `MessageData` class /// and api `sendMessage` method. Future sendMessage(String messageText) { - final MessageData message = MessageData( + final message = MessageData( code: Code.one, data: {'header': 'this is a header'}, description: 'uri text', diff --git a/packages/pigeon/example/app/lib/src/event_channel_messages.g.dart b/packages/pigeon/example/app/lib/src/event_channel_messages.g.dart index 36df9a2ce33..5c7f5c6b31b 100644 --- a/packages/pigeon/example/app/lib/src/event_channel_messages.g.dart +++ b/packages/pigeon/example/app/lib/src/event_channel_messages.g.dart @@ -3,7 +3,7 @@ // found in the LICENSE file. // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; diff --git a/packages/pigeon/example/app/lib/src/messages.g.dart b/packages/pigeon/example/app/lib/src/messages.g.dart index a1707968cf7..d120ea68daf 100644 --- a/packages/pigeon/example/app/lib/src/messages.g.dart +++ b/packages/pigeon/example/app/lib/src/messages.g.dart @@ -3,7 +3,7 @@ // found in the LICENSE file. // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -125,7 +125,7 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : Code.values[value]; case 130: return MessageData.decode(readValue(buffer)!); @@ -153,17 +153,15 @@ class ExampleHostApi { final String pigeonVar_messageChannelSuffix; Future getHostLanguage() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_example_package.ExampleHostApi.getHostLanguage$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -183,19 +181,17 @@ class ExampleHostApi { } Future add(int a, int b) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_example_package.ExampleHostApi.add$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [a, b], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -215,19 +211,17 @@ class ExampleHostApi { } Future sendMessage(MessageData message) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_example_package.ExampleHostApi.sendMessage$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [message], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -261,8 +255,7 @@ abstract class MessageFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_example_package.MessageFlutterApi.flutterMethod$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/lib/src/ast.dart b/packages/pigeon/lib/src/ast.dart index 669d3bdca61..078c4acedeb 100644 --- a/packages/pigeon/lib/src/ast.dart +++ b/packages/pigeon/lib/src/ast.dart @@ -91,10 +91,10 @@ class Method extends Node { @override String toString() { - final String objcSelectorStr = objcSelector.isEmpty + final objcSelectorStr = objcSelector.isEmpty ? '' : ' objcSelector:$objcSelector'; - final String swiftFunctionStr = swiftFunction.isEmpty + final swiftFunctionStr = swiftFunction.isEmpty ? '' : ' swiftFunction:$swiftFunction'; return '(Method name:$name returnType:$returnType parameters:$parameters isAsynchronous:$isAsynchronous$objcSelectorStr$swiftFunctionStr documentationComments:$documentationComments)'; @@ -202,7 +202,7 @@ class AstProxyApi extends Api { /// This method also assumes that the type of [superClass] is annotated with /// `@ProxyApi`. Otherwise, throws an [ArgumentError]. Iterable allSuperClasses() { - final List superClassChain = []; + final superClassChain = []; if (superClass != null && !superClass!.isProxyApi) { throw ArgumentError( @@ -259,7 +259,7 @@ class AstProxyApi extends Api { final Set interfaceApisFromSuperClasses = superClass! .associatedProxyApi! ._recursiveFindAllInterfaceApis(); - for (final AstProxyApi proxyApi in interfaceApisFromSuperClasses) { + for (final proxyApi in interfaceApisFromSuperClasses) { yield* proxyApi.methods.map((Method method) => (method, proxyApi)); } } @@ -320,7 +320,7 @@ class AstProxyApi extends Api { Set _recursiveFindAllInterfaceApis([ Set seenApis = const {}, ]) { - final Set allInterfaces = {}; + final allInterfaces = {}; allInterfaces.addAll( interfaces.map((TypeDeclaration type) { @@ -339,9 +339,9 @@ class AstProxyApi extends Api { // Adds the current api since it would be invalid for it to be an interface // of itself. - final Set newSeenApis = {...seenApis, this}; + final newSeenApis = {...seenApis, this}; - for (final AstProxyApi interfaceApi in {...allInterfaces}) { + for (final interfaceApi in {...allInterfaces}) { allInterfaces.addAll( interfaceApi._recursiveFindAllInterfaceApis(newSeenApis), ); @@ -397,7 +397,7 @@ class Constructor extends Method { @override String toString() { - final String swiftFunctionStr = swiftFunction.isEmpty + final swiftFunctionStr = swiftFunction.isEmpty ? '' : ' swiftFunction:$swiftFunction'; return '(Constructor name:$name parameters:$parameters $swiftFunctionStr documentationComments:$documentationComments)'; @@ -530,7 +530,7 @@ class TypeDeclaration { int get hashCode { // This has to be implemented because TypeDeclaration is used as a Key to a // Map in generator_tools.dart. - int hash = 17; + var hash = 17; hash = hash * 37 + baseName.hashCode; hash = hash * 37 + isNullable.hashCode; for (final TypeDeclaration typeArgument in typeArguments) { @@ -599,7 +599,7 @@ class TypeDeclaration { @override String toString() { - final String typeArgumentsStr = typeArguments.isEmpty + final typeArgumentsStr = typeArguments.isEmpty ? '' : ' typeArguments:$typeArguments'; return '(TypeDeclaration baseName:$baseName isNullable:$isNullable$typeArgumentsStr isEnum:$isEnum isClass:$isClass isProxyApi:$isProxyApi)'; diff --git a/packages/pigeon/lib/src/ast_generator.dart b/packages/pigeon/lib/src/ast_generator.dart index 187d7521990..9081a094a08 100644 --- a/packages/pigeon/lib/src/ast_generator.dart +++ b/packages/pigeon/lib/src/ast_generator.dart @@ -7,11 +7,11 @@ import 'generator_tools.dart'; /// Writes the AST representation of [root] to [sink]. void generateAst(Root root, StringSink sink) { - final Indent indent = Indent(sink); - final String output = root.toString(); - bool isFirst = true; + final indent = Indent(sink); + final output = root.toString(); + var isFirst = true; for (final int ch in output.runes) { - final String chStr = String.fromCharCode(ch); + final chStr = String.fromCharCode(ch); if (chStr == '(') { if (isFirst) { isFirst = false; diff --git a/packages/pigeon/lib/src/cpp/cpp_generator.dart b/packages/pigeon/lib/src/cpp/cpp_generator.dart index 78f6eb263ee..9708198f6cd 100644 --- a/packages/pigeon/lib/src/cpp/cpp_generator.dart +++ b/packages/pigeon/lib/src/cpp/cpp_generator.dart @@ -87,7 +87,7 @@ class CppOptions { /// Converts a [CppOptions] to a Map representation where: /// `x = CppOptions.fromMap(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (headerIncludePath != null) 'headerIncludePath': headerIncludePath!, if (namespace != null) 'namespace': namespace!, if (copyrightHeader != null) 'copyrightHeader': copyrightHeader!, @@ -232,7 +232,7 @@ class CppHeaderGenerator extends StructuredGenerator { } indent.newln(); if (generatorOptions.namespace?.endsWith('_pigeontest') ?? false) { - final String testFixtureClass = + final testFixtureClass = '${_pascalCaseFromSnakeCase(generatorOptions.namespace!.replaceAll('_pigeontest', ''))}Test'; indent.writeln('class $testFixtureClass;'); } @@ -262,7 +262,7 @@ class CppHeaderGenerator extends StructuredGenerator { member.documentationComments, _docCommentSpec, ); - final String valueName = 'k${_pascalCaseFromCamelCase(member.name)}'; + final valueName = 'k${_pascalCaseFromCamelCase(member.name)}'; indent.writeln( '$valueName = $index${index == anEnum.members.length - 1 ? '' : ','}', ); @@ -333,7 +333,7 @@ class CppHeaderGenerator extends StructuredGenerator { } indent.newln(); - const List generatedMessages = [ + const generatedMessages = [ ' Generated class from Pigeon that represents data sent in messages.', ]; @@ -417,7 +417,7 @@ class CppHeaderGenerator extends StructuredGenerator { ); } - for (final NamedType field in orderedFields) { + for (final field in orderedFields) { addDocumentationComments( indent, field.documentationComments, @@ -508,7 +508,7 @@ class CppHeaderGenerator extends StructuredGenerator { indent.writeln('friend class $testFixtureClass;'); } - for (final NamedType field in orderedFields) { + for (final field in orderedFields) { final HostDatatype hostDatatype = getFieldHostDatatype( field, _baseCppTypeForBuiltinDartType, @@ -588,7 +588,7 @@ class CppHeaderGenerator extends StructuredGenerator { AstFlutterApi api, { required String dartPackageName, }) { - const List generatedMessages = [ + const generatedMessages = [ ' Generated class from Pigeon that represents Flutter messages that can be called from C++.', ]; addDocumentationComments( @@ -643,7 +643,7 @@ class CppHeaderGenerator extends StructuredGenerator { func.parameters, _getArgumentName, ); - final List parameters = [ + final parameters = [ ...map2(argTypes, argNames, (String x, String y) => '$x $y'), ..._flutterApiCallbackParameters(returnType), ]; @@ -671,7 +671,7 @@ class CppHeaderGenerator extends StructuredGenerator { AstHostApi api, { required String dartPackageName, }) { - const List generatedMessages = [ + const generatedMessages = [ ' Generated interface from Pigeon that represents a handler of messages from Flutter.', ]; addDocumentationComments( @@ -711,7 +711,7 @@ class CppHeaderGenerator extends StructuredGenerator { ); final String returnTypeName = _hostApiReturnType(returnType); - final List parameters = []; + final parameters = []; if (method.parameters.isNotEmpty) { final Iterable argTypes = method.parameters.map(( NamedType arg, @@ -963,7 +963,7 @@ class CppSourceGenerator extends StructuredGenerator { Indent indent, { required String dartPackageName, }) { - final List usingDirectives = [ + final usingDirectives = [ 'flutter::BasicMessageChannel', 'flutter::CustomEncodableValue', 'flutter::EncodableList', @@ -971,7 +971,7 @@ class CppSourceGenerator extends StructuredGenerator { 'flutter::EncodableValue', ]; usingDirectives.sort(); - for (final String using in usingDirectives) { + for (final using in usingDirectives) { indent.writeln('using $using;'); } indent.newln(); @@ -1025,7 +1025,7 @@ class CppSourceGenerator extends StructuredGenerator { } // Getters and setters. - for (final NamedType field in orderedFields) { + for (final field in orderedFields) { _writeCppSourceClassField( generatorOptions, root, @@ -1125,7 +1125,7 @@ class CppSourceGenerator extends StructuredGenerator { returnType: classDefinition.name, parameters: ['const EncodableList& list'], body: () { - const String instanceVariable = 'decoded'; + const instanceVariable = 'decoded'; final Iterable<_IndexedField> indexedFields = indexMap( getFieldsInSerializationOrder(classDefinition), (int index, NamedType field) => _IndexedField(index, field), @@ -1154,10 +1154,10 @@ class CppSourceGenerator extends StructuredGenerator { // Add the nullable fields via setters, since converting the encodable // values to the pointer types that the convenience constructor uses for // nullable fields is non-trivial. - for (final _IndexedField entry in nullableFields) { + for (final entry in nullableFields) { final NamedType field = entry.field; final String setterName = _makeSetterName(field); - final String encodableFieldName = + final encodableFieldName = '${_encodablePrefix}_${_makeVariableName(field)}'; indent.writeln('auto& $encodableFieldName = list[${entry.index}];'); @@ -1298,7 +1298,7 @@ EncodableValue $_overflowClassName::FromEncodableList( if (enumeratedTypes.isNotEmpty) { indent.writeln('switch (type) {'); indent.inc(); - for (final EnumeratedType customType in enumeratedTypes) { + for (final customType in enumeratedTypes) { if (customType.enumeration < maximumCodecFieldKey) { indent.write('case ${customType.enumeration}: '); indent.nest(1, () { @@ -1339,13 +1339,11 @@ EncodableValue $_overflowClassName::FromEncodableList( 'if (const CustomEncodableValue* custom_value = std::get_if(&value)) ', ); indent.addScoped('{', '}', () { - for (final EnumeratedType customType in enumeratedTypes) { - final String encodeString = - customType.type == CustomTypes.customClass + for (final customType in enumeratedTypes) { + final encodeString = customType.type == CustomTypes.customClass ? 'std::any_cast<${customType.name}>(*custom_value).ToEncodableList()' : 'static_cast(std::any_cast<${customType.name}>(*custom_value))'; - final String valueString = - customType.enumeration < maximumCodecFieldKey + final valueString = customType.enumeration < maximumCodecFieldKey ? encodeString : 'wrap.ToEncodableList()'; final int enumeration = @@ -1442,7 +1440,7 @@ EncodableValue $_overflowClassName::FromEncodableList( ); }, ); - final List parameters = [ + final parameters = [ ...hostParameters.map( (_HostNamedType arg) => '${_flutterApiArgumentType(arg.hostType)} ${arg.name}', @@ -1465,13 +1463,13 @@ EncodableValue $_overflowClassName::FromEncodableList( ); // Convert arguments to EncodableValue versions. - const String argumentListVariableName = 'encoded_api_arguments'; + const argumentListVariableName = 'encoded_api_arguments'; indent.write('EncodableValue $argumentListVariableName = '); if (func.parameters.isEmpty) { indent.addln('EncodableValue();'); } else { indent.addScoped('EncodableValue(EncodableList{', '});', () { - for (final _HostNamedType param in hostParameters) { + for (final param in hostParameters) { final String encodedArgument = _wrappedHostApiArgumentExpression( root, @@ -1494,9 +1492,8 @@ EncodableValue $_overflowClassName::FromEncodableList( indent.addScoped('{', '});', () { String successCallbackArgument; successCallbackArgument = 'return_value'; - final String encodedReplyName = - 'encodable_$successCallbackArgument'; - final String listReplyName = 'list_$successCallbackArgument'; + final encodedReplyName = 'encodable_$successCallbackArgument'; + final listReplyName = 'list_$successCallbackArgument'; indent.writeln( 'std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size);', ); @@ -1602,7 +1599,7 @@ EncodableValue $_overflowClassName::FromEncodableList( ); indent.addScoped('{', '});', () { indent.writeScoped('try {', '}', () { - final List methodArgument = []; + final methodArgument = []; if (method.parameters.isNotEmpty) { indent.writeln( 'const auto& args = std::get(message);', @@ -1616,8 +1613,7 @@ EncodableValue $_overflowClassName::FromEncodableList( ); final String argName = _getSafeArgumentName(index, arg); - final String encodableArgName = - '${_encodablePrefix}_$argName'; + final encodableArgName = '${_encodablePrefix}_$argName'; indent.writeln( 'const auto& $encodableArgName = args.at($index);', ); @@ -1641,8 +1637,7 @@ EncodableValue $_overflowClassName::FromEncodableList( encodableArgName: encodableArgName, apiType: ApiType.host, ); - final String unwrapEnum = - arg.type.isEnum && arg.type.isNullable + final unwrapEnum = arg.type.isEnum && arg.type.isNullable ? ' ? &(*$argName) : nullptr' : ''; methodArgument.add('$argName$unwrapEnum'); @@ -1661,7 +1656,7 @@ EncodableValue $_overflowClassName::FromEncodableList( '}', ); } - final String call = + final call = 'api->${_makeMethodName(method)}(${methodArgument.join(', ')})'; if (method.isAsynchronous) { indent.format('$call;'); @@ -1797,17 +1792,17 @@ return EncodableValue(EncodableList{ returnType: '${classDefinition.name}&', parameters: ['const ${classDefinition.name}& other'], body: () { - for (final NamedType field in fields) { + for (final field in fields) { final HostDatatype hostDatatype = getFieldHostDatatype( field, _shortBaseCppTypeForBuiltinDartType, ); final String ivarName = _makeInstanceVariableName(field); - final String otherIvar = 'other.$ivarName'; + final otherIvar = 'other.$ivarName'; final String valueExpression; if (_isPointerField(hostDatatype)) { - final String constructor = + final constructor = 'std::make_unique<${hostDatatype.datatype}>(*$otherIvar)'; valueExpression = hostDatatype.isNullable ? '$otherIvar ? $constructor : nullptr' @@ -1852,7 +1847,7 @@ return EncodableValue(EncodableList{ // Writes a setter treating the type as [type], to allow generating multiple // setter variants. void writeSetter(HostDatatype type) { - const String setterArgumentName = 'value_arg'; + const setterArgumentName = 'value_arg'; _writeFunctionDefinition( indent, setterName, @@ -1901,9 +1896,9 @@ return EncodableValue(EncodableList{ bool sourceIsField = false, }) { if (_isPointerField(type)) { - final String constructor = 'std::make_unique<${type.datatype}>'; + final constructor = 'std::make_unique<${type.datatype}>'; // If the source is a pointer field, it always needs dereferencing. - final String maybeDereference = sourceIsField ? '*' : ''; + final maybeDereference = sourceIsField ? '*' : ''; return type.isNullable ? '$variable ? $constructor(*$variable) : nullptr' : '$constructor($maybeDereference$variable)'; @@ -1923,7 +1918,7 @@ return EncodableValue(EncodableList{ final String errorCondition; final String errorGetter; - const String nullValue = 'EncodableValue()'; + const nullValue = 'EncodableValue()'; if (returnType.isVoid) { nonErrorPath = '${prefix}wrapped.push_back($nullValue);'; errorCondition = 'output.has_value()'; @@ -1934,8 +1929,8 @@ return EncodableValue(EncodableList{ _shortBaseCppTypeForBuiltinDartType, ); - const String extractedValue = 'std::move(output).TakeValue()'; - final String wrapperType = hostType.isBuiltin + const extractedValue = 'std::move(output).TakeValue()'; + final wrapperType = hostType.isBuiltin ? 'EncodableValue' : 'CustomEncodableValue'; if (returnType.isNullable) { @@ -1993,16 +1988,16 @@ ${prefix}reply(EncodableValue(std::move(wrapped)));'''; ) { final String encodableValue; if (!hostType.isBuiltin) { - final String nonNullValue = + final nonNullValue = hostType.isNullable || (!hostType.isEnum && isNestedClass) ? '*$variableName' : variableName; encodableValue = 'CustomEncodableValue($nonNullValue)'; } else if (dartType.baseName == 'Object') { - final String operator = hostType.isNullable ? '*' : ''; + final operator = hostType.isNullable ? '*' : ''; encodableValue = '$operator$variableName'; } else { - final String operator = hostType.isNullable ? '*' : ''; + final operator = hostType.isNullable ? '*' : ''; encodableValue = 'EncodableValue($operator$variableName)'; } @@ -2192,8 +2187,8 @@ String? _baseCppTypeForBuiltinDartType( TypeDeclaration type, { bool includeFlutterNamespace = true, }) { - final String flutterNamespace = includeFlutterNamespace ? 'flutter::' : ''; - final Map cppTypeForDartTypeMap = { + final flutterNamespace = includeFlutterNamespace ? 'flutter::' : ''; + final cppTypeForDartTypeMap = { 'void': 'void', 'bool': 'bool', 'int': 'int64_t', @@ -2241,7 +2236,7 @@ bool _isPointerField(HostDatatype type) { /// Returns the C++ type to use in an argument context without ownership /// transfer for the given base type. String _unownedArgumentType(HostDatatype type) { - final bool isString = type.datatype == 'std::string'; + final isString = type.datatype == 'std::string'; final String baseType = isString ? 'std::string_view' : type.datatype; if (isString || _isPodType(type)) { return type.isNullable ? 'const $baseType*' : baseType; @@ -2315,7 +2310,7 @@ String _flutterApiReturnType(HostDatatype type) { } String _getGuardName(String? headerFileName) { - const String prefix = 'PIGEON_'; + const prefix = 'PIGEON_'; if (headerFileName != null) { return '$prefix${headerFileName.replaceAll('.', '_').toUpperCase()}_'; } else { @@ -2325,7 +2320,7 @@ String _getGuardName(String? headerFileName) { void _writeSystemHeaderIncludeBlock(Indent indent, List headers) { headers.sort(); - for (final String header in headers) { + for (final header in headers) { indent.writeln('#include <$header>'); } } @@ -2352,7 +2347,7 @@ void _writeFunction( // Set the initial indentation. indent.write(''); // Write any starting annotations (e.g., 'static'). - for (final String annotation in startingAnnotations) { + for (final annotation in startingAnnotations) { indent.add('$annotation '); } // Write the signature. @@ -2380,7 +2375,7 @@ void _writeFunction( }, addTrailingNewline: false); } // Write any trailing annotations (e.g., 'const'). - for (final String annotation in trailingAnnotations) { + for (final annotation in trailingAnnotations) { indent.add(' $annotation'); } // Write the initializer list, if any. @@ -2505,7 +2500,7 @@ void _writeAccessBlock( /// Validates an AST to make sure the cpp generator supports everything. List validateCpp(InternalCppOptions options, Root root) { - final List result = []; + final result = []; for (final Api api in root.apis) { for (final Method method in api.methods) { for (final NamedType arg in method.parameters) { diff --git a/packages/pigeon/lib/src/dart/dart_generator.dart b/packages/pigeon/lib/src/dart/dart_generator.dart index a429c9e4cc3..a065f95e0af 100644 --- a/packages/pigeon/lib/src/dart/dart_generator.dart +++ b/packages/pigeon/lib/src/dart/dart_generator.dart @@ -63,8 +63,7 @@ class DartOptions { /// Creates a [DartOptions] from a Map representation where: /// `x = DartOptions.fromMap(x.toMap())`. static DartOptions fromMap(Map map) { - final Iterable? copyrightHeader = - map['copyrightHeader'] as Iterable?; + final copyrightHeader = map['copyrightHeader'] as Iterable?; return DartOptions( copyrightHeader: copyrightHeader?.cast(), sourceOutPath: map['sourceOutPath'] as String?, @@ -75,7 +74,7 @@ class DartOptions { /// Converts a [DartOptions] to a Map representation where: /// `x = DartOptions.fromMap(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (copyrightHeader != null) 'copyrightHeader': copyrightHeader!, if (sourceOutPath != null) 'sourceOutPath': sourceOutPath!, if (testOutPath != null) 'testOutPath': testOutPath!, @@ -138,7 +137,7 @@ class DartGenerator extends StructuredGenerator { indent.writeln('// ${getGeneratedCodeWarning()}'); indent.writeln('// $seeAlsoWarning'); indent.writeln( - '// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers', + '// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers', ); indent.newln(); } @@ -211,8 +210,8 @@ class DartGenerator extends StructuredGenerator { classDefinition.documentationComments, docCommentSpec, ); - final String sealed = classDefinition.isSealed ? 'sealed ' : ''; - final String implements = classDefinition.superClassName != null + final sealed = classDefinition.isSealed ? 'sealed ' : ''; + final implements = classDefinition.superClassName != null ? 'extends ${classDefinition.superClassName} ' : ''; @@ -270,11 +269,10 @@ class DartGenerator extends StructuredGenerator { for (final NamedType field in getFieldsInSerializationOrder( classDefinition, )) { - final String required = - !field.type.isNullable && field.defaultValue == null + final required = !field.type.isNullable && field.defaultValue == null ? 'required ' : ''; - final String defaultValueString = field.defaultValue == null + final defaultValueString = field.defaultValue == null ? '' : ' = ${field.defaultValue}'; indent.writeln('${required}this.${field.name}$defaultValueString,'); @@ -317,16 +315,16 @@ class DartGenerator extends StructuredGenerator { required String dartPackageName, }) { void writeValueDecode(NamedType field, int index) { - final String resultAt = 'result[$index]'; - final String castCallPrefix = field.type.isNullable ? '?' : '!'; + final resultAt = 'result[$index]'; + final castCallPrefix = field.type.isNullable ? '?' : '!'; final String genericType = _makeGenericTypeArguments(field.type); final String castCall = _makeGenericCastCall(field.type); - final String nullableTag = field.type.isNullable ? '?' : ''; + final nullableTag = field.type.isNullable ? '?' : ''; if (field.type.typeArguments.isNotEmpty) { indent.add('($resultAt as $genericType?)$castCallPrefix$castCall'); } else { - final String castCallForcePrefix = field.type.isNullable ? '' : '!'; - final String castString = field.type.baseName == 'Object' + final castCallForcePrefix = field.type.isNullable ? '' : '!'; + final castString = field.type.baseName == 'Object' ? '' : ' as $genericType$nullableTag'; @@ -403,7 +401,7 @@ class DartGenerator extends StructuredGenerator { indent.writeln('writeValue(buffer, value.index);'); } } else { - final String encodeString = customType.type == CustomTypes.customClass + final encodeString = customType.type == CustomTypes.customClass ? '.encode()' : '.index'; indent.writeln( @@ -434,7 +432,7 @@ class DartGenerator extends StructuredGenerator { ); } } else if (customType.type == CustomTypes.customEnum) { - indent.writeln('final int? value = readValue(buffer) as int?;'); + indent.writeln('final value = readValue(buffer) as int?;'); indent.writeln( 'return value == null ? null : ${customType.name}.values[value];', ); @@ -442,7 +440,7 @@ class DartGenerator extends StructuredGenerator { }); } - final EnumeratedType overflowClass = EnumeratedType( + final overflowClass = EnumeratedType( _overflowClassName, maximumCodecFieldKey, CustomTypes.customClass, @@ -467,7 +465,7 @@ class DartGenerator extends StructuredGenerator { indent.writeln('buffer.putUint8(4);'); indent.writeln('buffer.putInt64(value);'); }, addTrailingNewline: false); - int nonSerializedClassCount = 0; + var nonSerializedClassCount = 0; enumerate(enumeratedTypes, ( int index, final EnumeratedType customType, @@ -488,8 +486,8 @@ class DartGenerator extends StructuredGenerator { indent.addScoped('{', '}', () { indent.write('switch (type) '); indent.addScoped('{', '}', () { - int nonSerializedClassCount = 0; - for (final EnumeratedType customType in enumeratedTypes) { + var nonSerializedClassCount = 0; + for (final customType in enumeratedTypes) { if (customType.associatedClass?.isSealed ?? false) { nonSerializedClassCount++; } else if (customType.offset(nonSerializedClassCount) < @@ -617,7 +615,7 @@ class DartGenerator extends StructuredGenerator { required String dartPackageName, }) { indent.newln(); - bool first = true; + var first = true; addDocumentationComments(indent, api.documentationComments, docCommentSpec); indent.write('class ${api.name} '); indent.addScoped('{', '}', () { @@ -707,21 +705,21 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; Indent indent, { required String dartPackageName, }) { - final cb.Parameter binaryMessengerParameter = cb.Parameter( + final binaryMessengerParameter = cb.Parameter( (cb.ParameterBuilder builder) => builder ..name = 'binaryMessenger' ..type = cb.refer('BinaryMessenger?') ..named = true, ); - final cb.Field binaryMessengerField = cb.Field( + final binaryMessengerField = cb.Field( (cb.FieldBuilder builder) => builder ..name = '${varNamePrefix}binaryMessenger' ..type = cb.refer('BinaryMessenger?') ..modifier = cb.FieldModifier.final$, ); - final cb.Class instanceManagerApi = cb.Class( + final instanceManagerApi = cb.Class( (cb.ClassBuilder builder) => builder ..name = dartInstanceManagerApiClassName ..docs.add( @@ -776,7 +774,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; ]) ..body = cb.Block.of( cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageHandlerSink = StringBuffer(); + final messageHandlerSink = StringBuffer(); writeFlutterMethodMessageHandler( Indent(messageHandlerSink), name: 'removeStrongReferenceName', @@ -827,7 +825,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; ), ) ..body = cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageCallSink = StringBuffer(); + final messageCallSink = StringBuffer(); writeHostMethodMessageCall( Indent(messageCallSink), addSuffixVariable: false, @@ -861,7 +859,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; '/// This is typically called after a hot restart.', ]) ..body = cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageCallSink = StringBuffer(); + final messageCallSink = StringBuffer(); writeHostMethodMessageCall( Indent(messageCallSink), addSuffixVariable: false, @@ -877,7 +875,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; ]), ); - final cb.DartEmitter emitter = cb.DartEmitter(useNullSafetySyntax: true); + final emitter = cb.DartEmitter(useNullSafetySyntax: true); indent.format( DartFormatter( languageVersion: Version(3, 6, 0), @@ -902,14 +900,14 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; AstProxyApi api, { required String dartPackageName, }) { - const String codecName = '_${classNamePrefix}ProxyApiBaseCodec'; + const codecName = '_${classNamePrefix}ProxyApiBaseCodec'; // Each API has a private codec instance used by every host method, // constructor, or non-static field. - final String codecInstanceName = '_${varNamePrefix}codec${api.name}'; + final codecInstanceName = '_${varNamePrefix}codec${api.name}'; // AST class used by code_builder to generate the code. - final cb.Class proxyApi = cb.Class( + final proxyApi = cb.Class( (cb.ClassBuilder builder) => builder ..name = api.name ..extend = api.superClass != null @@ -1016,7 +1014,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; ), ); - final cb.DartEmitter emitter = cb.DartEmitter(useNullSafetySyntax: true); + final emitter = cb.DartEmitter(useNullSafetySyntax: true); indent.format(_formatter.format('${proxyApi.accept(emitter)}')); } @@ -1031,7 +1029,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; required String dartPackageName, required String dartOutputPackageName, }) { - final Indent indent = Indent(sink); + final indent = Indent(sink); final String sourceOutPath = generatorOptions.dartOut ?? ''; final String testOutPath = generatorOptions.testOut ?? ''; _writeTestPrologue(generatorOptions, root, indent); @@ -1064,7 +1062,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; ); for (final AstHostApi api in root.apis.whereType()) { if (api.dartHostTestHandler != null) { - final AstFlutterApi mockApi = AstFlutterApi( + final mockApi = AstFlutterApi( name: api.dartHostTestHandler!, methods: api.methods, documentationComments: api.documentationComments, @@ -1091,7 +1089,7 @@ final BinaryMessenger? ${varNamePrefix}binaryMessenger; indent.writeln('// ${getGeneratedCodeWarning()}'); indent.writeln('// $seeAlsoWarning'); indent.writeln( - '// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, unnecessary_import, no_leading_underscores_for_local_identifiers', + '// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, unnecessary_import, no_leading_underscores_for_local_identifiers, omit_obvious_local_variable_types', ); indent.writeln('// ignore_for_file: avoid_relative_lib_imports'); } @@ -1215,7 +1213,7 @@ if (wrapped == null) { } '''); indent.writeScoped('switch (type) {', '}', () { - int nonSerializedClassCount = 0; + var nonSerializedClassCount = 0; for (int i = totalCustomCodecKeysAllowed; i < types.length; i++) { if (types[i].associatedClass?.isSealed ?? false) { nonSerializedClassCount++; @@ -1275,7 +1273,7 @@ if (wrapped == null) { required bool addSuffixVariable, bool insideAsyncMethod = true, }) { - String sendArgument = 'null'; + var sendArgument = 'null'; if (parameters.isNotEmpty) { final Iterable argExpressions = indexMap(parameters, ( int index, @@ -1286,13 +1284,13 @@ if (wrapped == null) { }); sendArgument = '[${argExpressions.join(', ')}]'; } - final String channelSuffix = addSuffixVariable ? '\$$_suffixVarName' : ''; - final String constOrFinal = addSuffixVariable ? 'final' : 'const'; + final channelSuffix = addSuffixVariable ? '\$$_suffixVarName' : ''; + final constOrFinal = addSuffixVariable ? 'final' : 'const'; indent.writeln( - "$constOrFinal String ${varNamePrefix}channelName = '$channelName$channelSuffix';", + "$constOrFinal ${varNamePrefix}channelName = '$channelName$channelSuffix';", ); indent.writeScoped( - 'final BasicMessageChannel ${varNamePrefix}channel = BasicMessageChannel(', + 'final ${varNamePrefix}channel = BasicMessageChannel(', ');', () { indent.writeln('${varNamePrefix}channelName,'); @@ -1302,22 +1300,22 @@ if (wrapped == null) { ); final String returnTypeName = _makeGenericTypeArguments(returnType); final String genericCastCall = _makeGenericCastCall(returnType); - const String accessor = '${varNamePrefix}replyList[0]'; + const accessor = '${varNamePrefix}replyList[0]'; // Avoid warnings from pointlessly casting to `Object?`. - final String nullablyTypedAccessor = returnTypeName == 'Object' + final nullablyTypedAccessor = returnTypeName == 'Object' ? accessor : '($accessor as $returnTypeName?)'; - final String nullHandler = returnType.isNullable + final nullHandler = returnType.isNullable ? (genericCastCall.isEmpty ? '' : '?') : '!'; - String returnStatement = 'return'; + var returnStatement = 'return'; if (!returnType.isVoid) { returnStatement = '$returnStatement $nullablyTypedAccessor$nullHandler$genericCastCall'; } returnStatement = '$returnStatement;'; - const String sendFutureVar = '${varNamePrefix}sendFuture'; + const sendFutureVar = '${varNamePrefix}sendFuture'; indent.writeln( 'final Future $sendFutureVar = ${varNamePrefix}channel.send($sendArgument);', ); @@ -1330,8 +1328,7 @@ if (wrapped == null) { } indent.format(''' -final List? ${varNamePrefix}replyList = -\t\tawait $sendFutureVar as List?; +final ${varNamePrefix}replyList = await $sendFutureVar as List?; if (${varNamePrefix}replyList == null) { \tthrow _createConnectionError(${varNamePrefix}channelName); } else if (${varNamePrefix}replyList.length > 1) { @@ -1384,16 +1381,14 @@ if (${varNamePrefix}replyList == null) { indent.write(''); indent.addScoped('{', '}', () { indent.writeln( - 'final BasicMessageChannel ${varNamePrefix}channel = BasicMessageChannel(', + 'final ${varNamePrefix}channel = BasicMessageChannel(', ); indent.nest(2, () { - final String channelSuffix = addSuffixVariable - ? r'$messageChannelSuffix' - : ''; + final channelSuffix = addSuffixVariable ? r'$messageChannelSuffix' : ''; indent.writeln("'$channelName$channelSuffix', $pigeonChannelCodec,"); indent.writeln('binaryMessenger: binaryMessenger);'); }); - final String messageHandlerSetterWithOpeningParentheses = isMockHandler + final messageHandlerSetterWithOpeningParentheses = isMockHandler ? '_testBinaryMessengerBinding!.defaultBinaryMessenger.setMockDecodedMessageHandler(${varNamePrefix}channel, ' : '${varNamePrefix}channel.setMessageHandler('; indent.write('if ($nullHandlerExpression) '); @@ -1407,16 +1402,15 @@ if (${varNamePrefix}replyList == null) { ); indent.addScoped('{', '});', () { final String returnTypeString = addGenericTypesNullable(returnType); - final bool isAsync = isAsynchronous; - const String emptyReturnStatement = - 'return wrapResponse(empty: true);'; + final isAsync = isAsynchronous; + const emptyReturnStatement = 'return wrapResponse(empty: true);'; String call; if (parameters.isEmpty) { call = 'api.$name()'; } else { indent.writeln('assert(message != null,'); indent.writeln("'Argument for $channelName was null.');"); - const String argsArray = 'args'; + const argsArray = 'args'; indent.writeln( 'final List $argsArray = (message as List?)!;', ); @@ -1428,7 +1422,7 @@ if (${varNamePrefix}replyList == null) { final String genericArgType = _makeGenericTypeArguments(arg.type); final String castCall = _makeGenericCastCall(arg.type); - final String leftHandSide = 'final $argType? $argName'; + final leftHandSide = 'final $argType? $argName'; indent.writeln( '$leftHandSide = ($argsArray[$count] as $genericArgType?)${castCall.isEmpty ? '' : '?$castCall'};', @@ -1465,8 +1459,8 @@ if (${varNamePrefix}replyList == null) { indent.writeln('final $returnTypeString output = $call;'); } - const String returnExpression = 'output'; - final String returnStatement = isMockHandler + const returnExpression = 'output'; + final returnStatement = isMockHandler ? 'return [$returnExpression];' : 'return wrapResponse(result: $returnExpression);'; indent.writeln(returnStatement); @@ -1537,7 +1531,7 @@ String _getMethodParameterSignature( Iterable parameters, { bool addTrailingComma = false, }) { - String signature = ''; + var signature = ''; if (parameters.isEmpty) { return signature; } @@ -1553,13 +1547,11 @@ String _getMethodParameterSignature( .toList(); String getParameterString(Parameter p) { - final String required = p.isRequired && !p.isPositional ? 'required ' : ''; + final required = p.isRequired && !p.isPositional ? 'required ' : ''; final String type = addGenericTypesNullable(p.type); - final String defaultValue = p.defaultValue == null - ? '' - : ' = ${p.defaultValue}'; + final defaultValue = p.defaultValue == null ? '' : ' = ${p.defaultValue}'; return '$required$type ${p.name}$defaultValue'; } @@ -1577,20 +1569,18 @@ String _getMethodParameterSignature( if (requiredPositionalParams.isNotEmpty) { signature = baseParameterString; } - final String trailingComma = + final trailingComma = optionalPositionalParams.isNotEmpty || namedParams.isNotEmpty ? ',' : ''; - final String baseParams = signature.isNotEmpty - ? '$signature$trailingComma ' - : ''; + final baseParams = signature.isNotEmpty ? '$signature$trailingComma ' : ''; if (optionalPositionalParams.isNotEmpty) { - final String trailingComma = + final trailingComma = requiredPositionalParams.length + optionalPositionalParams.length > 2 ? ',' : ''; return '$baseParams[$optionalParameterString$trailingComma]'; } if (namedParams.isNotEmpty) { - final String trailingComma = + final trailingComma = addTrailingComma || requiredPositionalParams.length + namedParams.length > 2 ? ', ' @@ -1639,6 +1629,6 @@ String addGenericTypesNullable(TypeDeclaration type) { /// Converts [inputPath] to a posix absolute path. String _posixify(String inputPath) { - final path.Context context = path.Context(style: path.Style.posix); + final context = path.Context(style: path.Style.posix); return context.fromUri(path.toUri(path.absolute(inputPath))); } diff --git a/packages/pigeon/lib/src/dart/proxy_api_generator_helper.dart b/packages/pigeon/lib/src/dart/proxy_api_generator_helper.dart index 369a7913321..6d86f52865d 100644 --- a/packages/pigeon/lib/src/dart/proxy_api_generator_helper.dart +++ b/packages/pigeon/lib/src/dart/proxy_api_generator_helper.dart @@ -43,7 +43,7 @@ Iterable asConstructorParameters({ ); } - for (final ApiField field in unattachedFields) { + for (final field in unattachedFields) { yield cb.Parameter( (cb.ParameterBuilder builder) => builder ..name = field.name @@ -83,7 +83,7 @@ Iterable asConstructorParameters({ ); } - for (final Method method in declaredFlutterMethods) { + for (final method in declaredFlutterMethods) { yield cb.Parameter( (cb.ParameterBuilder builder) => builder ..name = method.name @@ -113,7 +113,7 @@ Iterable asConstructorParameters({ Iterable overridesClassConstructors( Iterable proxyApis, ) sync* { - for (final AstProxyApi api in proxyApis) { + for (final api in proxyApis) { final String lowerCamelCaseApiName = toLowerCamelCase(api.name); for (final Constructor constructor in api.constructors) { @@ -166,7 +166,7 @@ Iterable overridesClassConstructors( Iterable overridesClassStaticFields( Iterable proxyApis, ) sync* { - for (final AstProxyApi api in proxyApis) { + for (final api in proxyApis) { final String lowerCamelCaseApiName = toLowerCamelCase(api.name); for (final ApiField field in api.fields.where( @@ -189,7 +189,7 @@ Iterable overridesClassStaticFields( Iterable overridesClassStaticMethods( Iterable proxyApis, ) sync* { - for (final AstProxyApi api in proxyApis) { + for (final api in proxyApis) { final String lowerCamelCaseApiName = toLowerCamelCase(api.name); for (final Method method in api.hostMethods.where( @@ -281,7 +281,7 @@ Iterable staticAttachedFieldsGetters( Iterable fields, { required String apiName, }) sync* { - for (final ApiField field in fields) { + for (final field in fields) { yield cb.Method( (cb.MethodBuilder builder) => builder ..name = field.name @@ -306,7 +306,7 @@ void writeProxyApiPigeonOverrides( required DartFormatter formatter, required Iterable proxyApis, }) { - final cb.Class proxyApiOverrides = cb.Class( + final proxyApiOverrides = cb.Class( (cb.ClassBuilder builder) => builder ..name = proxyApiOverridesClassName ..annotations.add(cb.refer('visibleForTesting')) @@ -325,7 +325,7 @@ void writeProxyApiPigeonOverrides( ..methods.add(overridesClassResetMethod(proxyApis)), ); - final cb.DartEmitter emitter = cb.DartEmitter(useNullSafetySyntax: true); + final emitter = cb.DartEmitter(useNullSafetySyntax: true); indent.format(formatter.format('${proxyApiOverrides.accept(emitter)}')); } @@ -345,20 +345,20 @@ Iterable constructors( required Iterable<(Method, AstProxyApi)> flutterMethodsFromInterfaces, required Iterable declaredFlutterMethods, }) sync* { - final cb.Parameter binaryMessengerParameter = cb.Parameter( + final binaryMessengerParameter = cb.Parameter( (cb.ParameterBuilder builder) => builder ..name = '${classMemberNamePrefix}binaryMessenger' ..named = true ..toSuper = true, ); - for (final Constructor constructor in constructors) { + for (final constructor in constructors) { final String? factoryConstructorName = constructor.name.isNotEmpty ? constructor.name : null; - final String constructorName = + final constructorName = '$classMemberNamePrefix${constructor.name.isNotEmpty ? constructor.name : 'new'}'; - final String overridesConstructorName = constructor.name.isNotEmpty + final overridesConstructorName = constructor.name.isNotEmpty ? '${toLowerCamelCase(apiName)}_${constructor.name}' : '${toLowerCamelCase(apiName)}_new'; @@ -394,17 +394,16 @@ Iterable constructors( ) ..optionalParameters.addAll(parameters) ..body = cb.Block((cb.BlockBuilder builder) { - final Map forwardedParams = + final forwardedParams = { + for (final cb.Parameter parameter in parameters) + parameter.name: cb.refer(parameter.name), + }; + final forwardedParamsWithoutMessengerAndManager = { - for (final cb.Parameter parameter in parameters) + for (final cb.Parameter parameter + in parametersWithoutMessengerAndManager) parameter.name: cb.refer(parameter.name), }; - final Map - forwardedParamsWithoutMessengerAndManager = { - for (final cb.Parameter parameter - in parametersWithoutMessengerAndManager) - parameter.name: cb.refer(parameter.name), - }; builder.statements.addAll([ cb.Code( @@ -462,7 +461,7 @@ Iterable constructors( const cb.Code('super.${classMemberNamePrefix}detached()'), ]) ..body = cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageCallSink = StringBuffer(); + final messageCallSink = StringBuffer(); DartGenerator.writeHostMethodMessageCall( Indent(messageCallSink), addSuffixVariable: false, @@ -561,7 +560,7 @@ cb.Field codecInstanceField({ /// Converts unattached fields from the pigeon AST to `code_builder` /// Fields. Iterable unattachedFields(Iterable fields) sync* { - for (final ApiField field in fields) { + for (final field in fields) { yield cb.Field( (cb.FieldBuilder builder) => builder ..name = field.name @@ -583,7 +582,7 @@ Iterable flutterMethodFields( Iterable methods, { required String apiName, }) sync* { - for (final Method method in methods) { + for (final method in methods) { yield cb.Field( (cb.FieldBuilder builder) => builder ..name = method.name @@ -632,7 +631,7 @@ Iterable flutterMethodFields( Iterable interfaceApiFields( Iterable apisOfInterfaces, ) sync* { - for (final AstProxyApi proxyApi in apisOfInterfaces) { + for (final proxyApi in apisOfInterfaces) { for (final Method method in proxyApi.methods) { yield cb.Field( (cb.FieldBuilder builder) => builder @@ -680,7 +679,7 @@ Iterable interfaceApiFields( /// final MyOtherProxyApiClass value = _pigeon_value(); /// ``` Iterable attachedFields(Iterable fields) sync* { - for (final ApiField field in fields) { + for (final field in fields) { yield cb.Field( (cb.FieldBuilder builder) => builder ..name = '${field.isStatic ? '_' : ''}${field.name}' @@ -793,8 +792,8 @@ cb.Method setUpMessageHandlerMethod({ ], if (hasCallbackConstructor) ...cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageHandlerSink = StringBuffer(); - const String methodName = '${classMemberNamePrefix}newInstance'; + final messageHandlerSink = StringBuffer(); + const methodName = '${classMemberNamePrefix}newInstance'; DartGenerator.writeFlutterMethodMessageHandler( Indent(messageHandlerSink), name: methodName, @@ -849,7 +848,7 @@ cb.Method setUpMessageHandlerMethod({ }).statements, for (final Method method in flutterMethods) ...cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageHandlerSink = StringBuffer(); + final messageHandlerSink = StringBuffer(); DartGenerator.writeFlutterMethodMessageHandler( Indent(messageHandlerSink), name: method.name, @@ -882,7 +881,7 @@ cb.Method setUpMessageHandlerMethod({ Iterable parameters, Iterable safeArgumentNames, ) { - final String nullability = method.isRequired ? '' : '?'; + final nullability = method.isRequired ? '' : '?'; return '($methodName ?? ${safeArgumentNames.first}.$methodName)$nullability.call(${safeArgumentNames.join(',')})'; }, ); @@ -904,18 +903,17 @@ Iterable attachedFieldMethods( required String codecInstanceName, required String codecName, }) sync* { - for (final ApiField field in fields) { + for (final field in fields) { yield cb.Method((cb.MethodBuilder builder) { final String type = addGenericTypesNullable(field.type); - const String instanceName = '${varNamePrefix}instance'; - const String identifierInstanceName = - '${varNamePrefix}instanceIdentifier'; + const instanceName = '${varNamePrefix}instance'; + const identifierInstanceName = '${varNamePrefix}instanceIdentifier'; builder ..name = '$varNamePrefix${field.name}' ..static = field.isStatic ..returns = cb.refer(type) ..body = cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageCallSink = StringBuffer(); + final messageCallSink = StringBuffer(); DartGenerator.writeHostMethodMessageCall( Indent(messageCallSink), addSuffixVariable: false, @@ -990,7 +988,7 @@ Iterable hostMethods( required String codecInstanceName, required String codecName, }) sync* { - for (final Method method in methods) { + for (final method in methods) { assert(method.location == ApiLocation.host); final Iterable parameters = method.parameters.mapIndexed( (int index, NamedType parameter) => cb.Parameter( @@ -1025,7 +1023,7 @@ Iterable hostMethods( ], ]) ..body = cb.Block((cb.BlockBuilder builder) { - final StringBuffer messageCallSink = StringBuffer(); + final messageCallSink = StringBuffer(); DartGenerator.writeHostMethodMessageCall( Indent(messageCallSink), addSuffixVariable: false, diff --git a/packages/pigeon/lib/src/functional.dart b/packages/pigeon/lib/src/functional.dart index c59e6e5391f..01a9cf8b30a 100644 --- a/packages/pigeon/lib/src/functional.dart +++ b/packages/pigeon/lib/src/functional.dart @@ -8,8 +8,8 @@ Iterable indexMap( Iterable iterable, U Function(int index, T value) func, ) sync* { - int index = 0; - for (final T value in iterable) { + var index = 0; + for (final value in iterable) { yield func(index, value); ++index; } @@ -17,8 +17,8 @@ Iterable indexMap( /// Performs like [forEach] but invokes [func] with an enumeration. void enumerate(Iterable iterable, void Function(int, T) func) { - int count = 0; - for (final T value in iterable) { + var count = 0; + for (final value in iterable) { func(count, value); ++count; } @@ -62,14 +62,14 @@ Iterable map3( /// Adds [value] to the end of [ts]. Iterable followedByOne(Iterable ts, T value) sync* { - for (final T item in ts) { + for (final item in ts) { yield item; } yield value; } Iterable _count() sync* { - int x = 0; + var x = 0; while (true) { yield x++; } @@ -80,7 +80,7 @@ final Iterable wholeNumbers = _count(); /// Repeats an [item] [n] times. Iterable repeat(T item, int n) sync* { - for (int i = 0; i < n; ++i) { + for (var i = 0; i < n; ++i) { yield item; } } diff --git a/packages/pigeon/lib/src/generator.dart b/packages/pigeon/lib/src/generator.dart index 34e53a7c441..5495359d3e3 100644 --- a/packages/pigeon/lib/src/generator.dart +++ b/packages/pigeon/lib/src/generator.dart @@ -40,7 +40,7 @@ abstract class StructuredGenerator StringSink sink, { required String dartPackageName, }) { - final Indent indent = Indent(sink); + final indent = Indent(sink); writeFilePrologue( generatorOptions, diff --git a/packages/pigeon/lib/src/generator_tools.dart b/packages/pigeon/lib/src/generator_tools.dart index 2b687eb632d..9d4322b88e1 100644 --- a/packages/pigeon/lib/src/generator_tools.dart +++ b/packages/pigeon/lib/src/generator_tools.dart @@ -19,7 +19,7 @@ const String pigeonVersion = '26.1.2'; /// Read all the content from [stdin] to a String. String readStdin() { - final List bytes = []; + final bytes = []; int byte = stdin.readByteSync(); while (byte >= 0) { bytes.add(byte); @@ -64,8 +64,8 @@ class Indent { /// Returns the String representing the current indentation. String str() { - String result = ''; - for (int i = 0; i < _count; i++) { + var result = ''; + for (var i = 0; i < _count; i++) { result += tab; } return result; @@ -90,7 +90,7 @@ class Indent { .map((String line) => line.length - line.trimLeft().length) .reduce(min); - for (int i = 0; i < lines.length; ++i) { + for (var i = 0; i < lines.length; ++i) { final String line = lines[i].length >= indentationToRemove ? lines[i].substring(indentationToRemove) : lines[i]; @@ -324,7 +324,7 @@ const String generatedCodeWarning = /// Warning printed at the top of all generated code. String getGeneratedCodeWarning() { - final String versionString = includeVersionInGeneratedWarning + final versionString = includeVersionInGeneratedWarning ? ' (v$pigeonVersion)' : ''; return 'Autogenerated from Pigeon$versionString, do not edit directly.'; @@ -396,7 +396,7 @@ bool isVoid(TypeMirror type) { /// Adds the [lines] to [indent]. void addLines(Indent indent, Iterable lines, {String? linePrefix}) { final String prefix = linePrefix ?? ''; - for (final String line in lines) { + for (final line in lines) { indent.writeln(line.isNotEmpty ? '$prefix$line' : prefix.trimRight()); } } @@ -409,7 +409,7 @@ Map mergeMaps( Map base, Map modification, ) { - final Map result = {}; + final result = {}; for (final MapEntry entry in modification.entries) { if (base.containsKey(entry.key)) { final Object entryValue = entry.value; @@ -529,7 +529,7 @@ class _Bag { } void addMany(Iterable keys, Value? value) { - for (final Key key in keys) { + for (final key in keys) { add(key, value); } } @@ -541,8 +541,8 @@ Map> getReferencedTypes( List apis, List classes, ) { - final _Bag references = _Bag(); - for (final Api api in apis) { + final references = _Bag(); + for (final api in apis) { for (final Method method in api.methods) { for (final NamedType field in method.parameters) { references.addMany(_getTypeArguments(field.type), field.offset); @@ -567,7 +567,7 @@ Map> getReferencedTypes( final Set referencedTypeNames = references.map.keys .map((TypeDeclaration e) => e.baseName) .toSet(); - final List classesToCheck = List.from(referencedTypeNames); + final classesToCheck = List.from(referencedTypeNames); while (classesToCheck.isNotEmpty) { final String next = classesToCheck.removeLast(); final Class aClass = classes.firstWhere( @@ -648,7 +648,7 @@ Iterable getEnumeratedTypes( Root root, { bool excludeSealedClasses = false, }) sync* { - int index = 0; + var index = 0; for (final Enum customEnum in root.enums) { yield EnumeratedType( @@ -726,7 +726,7 @@ Iterable asDocumentationComments( DocumentCommentSpecification commentSpec, { List generatorComments = const [], }) sync* { - final List allComments = [ + final allComments = [ ...comments, if (comments.isNotEmpty && generatorComments.isNotEmpty) '', ...generatorComments, @@ -737,7 +737,7 @@ Iterable asDocumentationComments( yield commentSpec.openCommentToken; currentLineOpenToken = commentSpec.blockContinuationToken; } - for (String line in allComments) { + for (var line in allComments) { if (line.isNotEmpty && line[0] != ' ') { line = ' $line'; } @@ -837,7 +837,7 @@ class OutputFileOptions extends InternalOptions { /// Converts strings to Upper Camel Case. String toUpperCamelCase(String text) { - final RegExp separatorPattern = RegExp(r'[ _-]'); + final separatorPattern = RegExp(r'[ _-]'); return text.split(separatorPattern).map((String word) { return word.isEmpty ? '' @@ -847,8 +847,8 @@ String toUpperCamelCase(String text) { /// Converts strings to Lower Camel Case. String toLowerCamelCase(String text) { - final RegExp separatorPattern = RegExp(r'[ _-]'); - bool firstWord = true; + final separatorPattern = RegExp(r'[ _-]'); + var firstWord = true; return text.split(separatorPattern).map((String word) { if (word.isEmpty) { return ''; diff --git a/packages/pigeon/lib/src/gobject/gobject_generator.dart b/packages/pigeon/lib/src/gobject/gobject_generator.dart index 103a2b0f905..0daa9debd06 100644 --- a/packages/pigeon/lib/src/gobject/gobject_generator.dart +++ b/packages/pigeon/lib/src/gobject/gobject_generator.dart @@ -48,8 +48,7 @@ class GObjectOptions { /// Creates a [GObjectOptions] from a Map representation where: /// `x = GObjectOptions.fromMap(x.toMap())`. static GObjectOptions fromMap(Map map) { - final Iterable? copyrightHeader = - map['copyrightHeader'] as Iterable?; + final copyrightHeader = map['copyrightHeader'] as Iterable?; return GObjectOptions( headerIncludePath: map['header'] as String?, module: map['module'] as String?, @@ -61,7 +60,7 @@ class GObjectOptions { /// Converts a [GObjectOptions] to a Map representation where: /// `x = GObjectOptions.fromMap(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (headerIncludePath != null) 'header': headerIncludePath!, if (module != null) 'module': module!, if (copyrightHeader != null) 'copyrightHeader': copyrightHeader!, @@ -215,8 +214,8 @@ class GObjectHeaderGenerator final String enumName = _getClassName(module, anEnum.name); indent.newln(); - final List enumValueCommentLines = []; - for (int i = 0; i < anEnum.members.length; i++) { + final enumValueCommentLines = []; + for (var i = 0; i < anEnum.members.length; i++) { final EnumMember member = anEnum.members[i]; final String itemName = _getEnumValue( dartPackageName, @@ -233,7 +232,7 @@ class GObjectHeaderGenerator ...anEnum.documentationComments, ], _docCommentSpec); indent.writeScoped('typedef enum {', '} $enumName;', () { - for (int i = 0; i < anEnum.members.length; i++) { + for (var i = 0; i < anEnum.members.length; i++) { final EnumMember member = anEnum.members[i]; final String itemName = _getEnumValue( dartPackageName, @@ -270,7 +269,7 @@ class GObjectHeaderGenerator _writeDeclareFinalType(indent, module, classDefinition.name); indent.newln(); - final List constructorArgs = []; + final constructorArgs = []; for (final NamedType field in classDefinition.fields) { final String fieldName = _getFieldName(field.name); final String type = _getType(module, field.type); @@ -279,7 +278,7 @@ class GObjectHeaderGenerator constructorArgs.add('size_t ${fieldName}_length'); } } - final List constructorFieldCommentLines = []; + final constructorFieldCommentLines = []; for (final NamedType field in classDefinition.fields) { final String fieldName = _getFieldName(field.name); constructorFieldCommentLines.add('$fieldName: field in this object.'); @@ -320,7 +319,7 @@ class GObjectHeaderGenerator '', 'Returns: the field value.', ], _docCommentSpec); - final List getterArgs = [ + final getterArgs = [ '$className* object', if (_isNumericListType(field.type)) 'size_t* length', ]; @@ -362,7 +361,7 @@ class GObjectHeaderGenerator ], _docCommentSpec); } - for (final EnumeratedType customType in customTypes) { + for (final customType in customTypes) { final String customTypeId = _getCustomTypeId(module, customType); indent.writeln('extern const int $customTypeId;'); } @@ -413,7 +412,7 @@ class GObjectHeaderGenerator final String responseName = _getResponseName(api.name, method.name); final String responseClassName = _getClassName(module, responseName); - final List asyncArgs = ['$className* api']; + final asyncArgs = ['$className* api']; for (final Parameter param in method.parameters) { final String paramName = _snakeCaseFromCamelCase(param.name); asyncArgs.add('${_getType(module, param.type)} $paramName'); @@ -427,7 +426,7 @@ class GObjectHeaderGenerator 'gpointer user_data', ]); indent.newln(); - final List methodParameterCommentLines = []; + final methodParameterCommentLines = []; for (final Parameter param in method.parameters) { final String paramName = _snakeCaseFromCamelCase(param.name); methodParameterCommentLines.add( @@ -453,7 +452,7 @@ class GObjectHeaderGenerator "void ${methodPrefix}_$methodName(${asyncArgs.join(', ')});", ); - final List finishArgs = [ + final finishArgs = [ '$className* api', 'GAsyncResult* result', 'GError** error', @@ -561,7 +560,7 @@ class GObjectHeaderGenerator else 'Returns: a return value.', ], _docCommentSpec); - final String returnType = _isNullablePrimitiveType(method.returnType) + final returnType = _isNullablePrimitiveType(method.returnType) ? '$primitiveType*' : primitiveType; indent.writeln( @@ -654,7 +653,7 @@ class GObjectHeaderGenerator final String returnType = _getType(module, method.returnType); indent.newln(); - final List constructorArgs = [ + final constructorArgs = [ if (returnType != 'void') '$returnType return_value', if (_isNumericListType(method.returnType)) 'size_t return_value_length', ]; @@ -701,7 +700,7 @@ class GObjectHeaderGenerator final String responseName = _getResponseName(api.name, method.name); final String responseClassName = _getClassName(module, responseName); - final List methodArgs = []; + final methodArgs = []; for (final Parameter param in method.parameters) { final String name = _snakeCaseFromCamelCase(param.name); methodArgs.add('${_getType(module, param.type)} $name'); @@ -714,7 +713,7 @@ class GObjectHeaderGenerator '${className}ResponseHandle* response_handle', 'gpointer user_data', ]); - final String returnType = method.isAsynchronous + final returnType = method.isAsynchronous ? 'void' : '$responseClassName*'; indent.writeln("$returnType (*$methodName)(${methodArgs.join(', ')});"); @@ -735,7 +734,7 @@ class GObjectHeaderGenerator final String returnType = _getType(module, method.returnType); indent.newln(); - final List respondArgs = [ + final respondArgs = [ '${className}ResponseHandle* response_handle', if (returnType != 'void') '$returnType return_value', if (_isNumericListType(method.returnType)) 'size_t return_value_length', @@ -755,7 +754,7 @@ class GObjectHeaderGenerator ); indent.newln(); - final List respondErrorArgs = [ + final respondErrorArgs = [ '${className}ResponseHandle* response_handle', 'const gchar* code', 'const gchar* message', @@ -855,7 +854,7 @@ class GObjectSourceGenerator indent.newln(); _writeDispose(indent, module, classDefinition.name, () { - bool haveSelf = false; + var haveSelf = false; for (final NamedType field in classDefinition.fields) { final String fieldName = _getFieldName(field.name); final String? clear = _getClearFunction(field.type, 'self->$fieldName'); @@ -875,7 +874,7 @@ class GObjectSourceGenerator indent.newln(); _writeClassInit(indent, module, classDefinition.name, () {}); - final List constructorArgs = []; + final constructorArgs = []; for (final NamedType field in classDefinition.fields) { final String fieldName = _getFieldName(field.name); constructorArgs.add('${_getType(module, field.type)} $fieldName'); @@ -946,7 +945,7 @@ class GObjectSourceGenerator final String returnType = _getType(module, field.type); indent.newln(); - final List getterArgs = [ + final getterArgs = [ '$className* self', if (_isNumericListType(field.type)) 'size_t* length', ]; @@ -986,8 +985,8 @@ class GObjectSourceGenerator 'static $className* ${methodPrefix}_new_from_list(FlValue* values) {', '}', () { - final List args = []; - for (int i = 0; i < classDefinition.fields.length; i++) { + final args = []; + for (var i = 0; i < classDefinition.fields.length; i++) { final NamedType field = classDefinition.fields[i]; final String fieldName = _getFieldName(field.name); final String fieldType = _getType(module, field.type); @@ -1076,12 +1075,12 @@ class GObjectSourceGenerator ); indent.newln(); - for (final EnumeratedType customType in customTypes) { + for (final customType in customTypes) { final String customTypeId = _getCustomTypeId(module, customType); indent.writeln('const int $customTypeId = ${customType.enumeration};'); } - for (final EnumeratedType customType in customTypes) { + for (final customType in customTypes) { final String customTypeName = _getClassName(module, customType.name); final String snakeCustomTypeName = _snakeCaseFromCamelCase( customTypeName, @@ -1089,7 +1088,7 @@ class GObjectSourceGenerator final String customTypeId = _getCustomTypeId(module, customType); indent.newln(); - final String valueType = customType.type == CustomTypes.customClass + final valueType = customType.type == CustomTypes.customClass ? '$customTypeName*' : 'FlValue*'; indent.writeScoped( @@ -1129,7 +1128,7 @@ class GObjectSourceGenerator 'switch (fl_value_get_custom_type(value)) {', '}', () { - for (final EnumeratedType customType in customTypes) { + for (final customType in customTypes) { final String customTypeId = _getCustomTypeId( module, customType, @@ -1170,7 +1169,7 @@ class GObjectSourceGenerator }, ); - for (final EnumeratedType customType in customTypes) { + for (final customType in customTypes) { final String customTypeName = _getClassName(module, customType.name); final String snakeCustomTypeName = _snakeCaseFromCamelCase( customTypeName, @@ -1217,7 +1216,7 @@ class GObjectSourceGenerator '}', () { indent.writeScoped('switch (type) {', '}', () { - for (final EnumeratedType customType in customTypes) { + for (final customType in customTypes) { final String customTypeName = _getClassName( module, customType.name, @@ -1456,7 +1455,7 @@ class GObjectSourceGenerator ); indent.newln(); - final String returnType = _isNullablePrimitiveType(method.returnType) + final returnType = _isNullablePrimitiveType(method.returnType) ? '$primitiveType*' : primitiveType; indent.writeScoped( @@ -1515,7 +1514,7 @@ class GObjectSourceGenerator }, ); - final List asyncArgs = ['$className* self']; + final asyncArgs = ['$className* self']; for (final Parameter param in method.parameters) { final String name = _snakeCaseFromCamelCase(param.name); asyncArgs.add('${_getType(module, param.type)} $name'); @@ -1571,7 +1570,7 @@ class GObjectSourceGenerator }, ); - final List finishArgs = [ + final finishArgs = [ '$className* self', 'GAsyncResult* result', 'GError** error', @@ -1695,7 +1694,7 @@ class GObjectSourceGenerator final String returnType = _getType(module, method.returnType); indent.newln(); - final List constructorArgs = [ + final constructorArgs = [ if (returnType != 'void') '$returnType return_value', if (_isNumericListType(method.returnType)) 'size_t return_value_length', ]; @@ -1793,8 +1792,8 @@ class GObjectSourceGenerator ); indent.newln(); - final List methodArgs = []; - for (int i = 0; i < method.parameters.length; i++) { + final methodArgs = []; + for (var i = 0; i < method.parameters.length; i++) { final Parameter param = method.parameters[i]; final String paramName = _snakeCaseFromCamelCase(param.name); final String paramType = _getType(module, param.type); @@ -1839,7 +1838,7 @@ class GObjectSourceGenerator } } if (method.isAsynchronous) { - final List vfuncArgs = []; + final vfuncArgs = []; vfuncArgs.addAll(methodArgs); vfuncArgs.addAll(['handle', 'self->user_data']); indent.writeln( @@ -1849,7 +1848,7 @@ class GObjectSourceGenerator "self->vtable->$methodName(${vfuncArgs.join(', ')});", ); } else { - final List vfuncArgs = []; + final vfuncArgs = []; vfuncArgs.addAll(methodArgs); vfuncArgs.add('self->user_data'); indent.writeln( @@ -1960,7 +1959,7 @@ class GObjectSourceGenerator ); indent.newln(); - final List respondArgs = [ + final respondArgs = [ '${className}ResponseHandle* response_handle', if (returnType != 'void') '$returnType return_value', if (_isNumericListType(method.returnType)) 'size_t return_value_length', @@ -1969,7 +1968,7 @@ class GObjectSourceGenerator "void ${methodPrefix}_respond_$methodName(${respondArgs.join(', ')}) {", '}', () { - final List returnArgs = [ + final returnArgs = [ if (returnType != 'void') 'return_value', if (_isNumericListType(method.returnType)) 'return_value_length', ]; @@ -1990,7 +1989,7 @@ class GObjectSourceGenerator ); indent.newln(); - final List respondErrorArgs = [ + final respondErrorArgs = [ '${className}ResponseHandle* response_handle', 'const gchar* code', 'const gchar* message', @@ -2029,7 +2028,7 @@ String _getModule( // Returns the header guard defintion for [headerFileName]. String _getGuardName(String? headerFileName) { - const String prefix = 'PIGEON_'; + const prefix = 'PIGEON_'; if (headerFileName != null) { return '$prefix${headerFileName.replaceAll('.', '_').toUpperCase()}_'; } else { @@ -2197,7 +2196,7 @@ String _getClassName(String module, String name) { // Returns the name to use for a class field with [name]. String _getFieldName(String name) { - final List reservedNames = ['type']; + final reservedNames = ['type']; if (reservedNames.contains(name)) { name += '_'; } @@ -2206,7 +2205,7 @@ String _getFieldName(String name) { // Returns the name to user for a class method with [name] String _getMethodName(String name) { - final List reservedNames = ['new', 'get_type']; + final reservedNames = ['new', 'get_type']; if (reservedNames.contains(name)) { name += '_'; } @@ -2238,7 +2237,7 @@ String _getCustomTypeId(String module, EnumeratedType customType) { final String snakeCustomTypeName = _snakeCaseFromCamelCase(customTypeName); - final String customTypeId = '${snakeCustomTypeName}_type_id'; + final customTypeId = '${snakeCustomTypeName}_type_id'; return customTypeId; } diff --git a/packages/pigeon/lib/src/java/java_generator.dart b/packages/pigeon/lib/src/java/java_generator.dart index de675d73458..2f08bc3a0c6 100644 --- a/packages/pigeon/lib/src/java/java_generator.dart +++ b/packages/pigeon/lib/src/java/java_generator.dart @@ -59,8 +59,7 @@ class JavaOptions { /// Creates a [JavaOptions] from a Map representation where: /// `x = JavaOptions.fromMap(x.toMap())`. static JavaOptions fromMap(Map map) { - final Iterable? copyrightHeader = - map['copyrightHeader'] as Iterable?; + final copyrightHeader = map['copyrightHeader'] as Iterable?; return JavaOptions( className: map['className'] as String?, package: map['package'] as String?, @@ -72,7 +71,7 @@ class JavaOptions { /// Converts a [JavaOptions] to a Map representation where: /// `x = JavaOptions.fromMap(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (className != null) 'className': className!, if (package != null) 'package': package!, if (copyrightHeader != null) 'copyrightHeader': copyrightHeader!, @@ -218,7 +217,7 @@ class JavaGenerator extends StructuredGenerator { required String dartPackageName, }) { String camelToSnake(String camelCase) { - final RegExp regex = RegExp('([a-z])([A-Z]+)'); + final regex = RegExp('([a-z])([A-Z]+)'); return camelCase .replaceAllMapped(regex, (Match m) => '${m[1]}_${m[2]}') .toUpperCase(); @@ -263,7 +262,7 @@ class JavaGenerator extends StructuredGenerator { Class classDefinition, { required String dartPackageName, }) { - const List generatedMessages = [ + const generatedMessages = [ ' Generated class from Pigeon that represents data sent in messages.', ]; indent.newln(); @@ -313,9 +312,7 @@ class JavaGenerator extends StructuredGenerator { field, (TypeDeclaration x) => _javaTypeForBuiltinDartType(x), ); - final String nullability = field.type.isNullable - ? '@Nullable ' - : '@NonNull '; + final nullability = field.type.isNullable ? '@Nullable ' : '@NonNull '; addDocumentationComments( indent, field.documentationComments, @@ -406,7 +403,7 @@ class JavaGenerator extends StructuredGenerator { final Iterable nonArrayFieldNames = classDefinition.fields .where((NamedType field) => !_javaTypeIsArray(field.type)) .map((NamedType field) => field.name); - final String nonArrayHashValue = nonArrayFieldNames.isNotEmpty + final nonArrayHashValue = nonArrayFieldNames.isNotEmpty ? 'Objects.hash(${nonArrayFieldNames.join(', ')})' : '0'; @@ -415,10 +412,10 @@ class JavaGenerator extends StructuredGenerator { // variable lint warnings. indent.writeln('return $nonArrayHashValue;'); } else { - const String resultVar = '${varNamePrefix}result'; + const resultVar = '${varNamePrefix}result'; indent.writeln('int $resultVar = $nonArrayHashValue;'); // Manually mix in the Arrays.hashCode values. - for (final String name in arrayFieldNames) { + for (final name in arrayFieldNames) { indent.writeln( '$resultVar = 31 * $resultVar + Arrays.hashCode($name);', ); @@ -444,9 +441,7 @@ class JavaGenerator extends StructuredGenerator { field, (TypeDeclaration x) => _javaTypeForBuiltinDartType(x), ); - final String nullability = field.type.isNullable - ? '@Nullable' - : '@NonNull'; + final nullability = field.type.isNullable ? '@Nullable' : '@NonNull'; indent.newln(); indent.writeln( 'private @Nullable ${hostDatatype.datatype} ${field.name};', @@ -465,7 +460,7 @@ class JavaGenerator extends StructuredGenerator { indent.newln(); indent.write('public @NonNull ${classDefinition.name} build() '); indent.addScoped('{', '}', () { - const String returnVal = 'pigeonReturn'; + const returnVal = 'pigeonReturn'; indent.writeln( '${classDefinition.name} $returnVal = new ${classDefinition.name}();', ); @@ -516,7 +511,7 @@ class JavaGenerator extends StructuredGenerator { 'static @NonNull ${classDefinition.name} fromList(@NonNull ArrayList ${varNamePrefix}list) ', ); indent.addScoped('{', '}', () { - const String result = 'pigeonResult'; + const result = 'pigeonResult'; indent.writeln( '${classDefinition.name} $result = new ${classDefinition.name}();', ); @@ -550,13 +545,13 @@ class JavaGenerator extends StructuredGenerator { ).toList(); void writeEncodeLogic(EnumeratedType customType) { - final String encodeString = customType.type == CustomTypes.customClass + final encodeString = customType.type == CustomTypes.customClass ? 'toList()' : 'index'; - final String nullCheck = customType.type == CustomTypes.customEnum + final nullCheck = customType.type == CustomTypes.customEnum ? 'value == null ? null : ' : ''; - final String valueString = customType.enumeration < maximumCodecFieldKey + final valueString = customType.enumeration < maximumCodecFieldKey ? '$nullCheck((${customType.name}) value).$encodeString' : 'wrap.toList()'; final int enumeration = customType.enumeration < maximumCodecFieldKey @@ -600,7 +595,7 @@ class JavaGenerator extends StructuredGenerator { } } - final EnumeratedType overflowClass = EnumeratedType( + final overflowClass = EnumeratedType( _overflowClassName, maximumCodecFieldKey, CustomTypes.customClass, @@ -632,7 +627,7 @@ class JavaGenerator extends StructuredGenerator { '}', () { indent.writeScoped('switch (type) {', '}', () { - for (final EnumeratedType customType in enumeratedTypes) { + for (final customType in enumeratedTypes) { if (customType.enumeration < maximumCodecFieldKey) { writeDecodeLogic(customType); } @@ -670,19 +665,16 @@ class JavaGenerator extends StructuredGenerator { List types, { required String dartPackageName, }) { - final NamedType overflowInteration = NamedType( + final overflowInteration = NamedType( name: 'type', type: const TypeDeclaration(baseName: 'int', isNullable: false), ); - final NamedType overflowObject = NamedType( + final overflowObject = NamedType( name: 'wrapped', type: const TypeDeclaration(baseName: 'Object', isNullable: true), ); - final List overflowFields = [ - overflowInteration, - overflowObject, - ]; - final Class overflowClass = Class( + final overflowFields = [overflowInteration, overflowObject]; + final overflowClass = Class( name: _overflowClassName, fields: overflowFields, ); @@ -754,7 +746,7 @@ if (wrapped == null) { return '${_getArgumentName(count, argument)}Arg'; } - const List generatedMessages = [ + const generatedMessages = [ ' Generated class from Pigeon that represents Flutter messages that can be called from Java.', ]; addDocumentationComments( @@ -844,7 +836,7 @@ if (wrapped == null) { ); } indent.addScoped('{', '}', () { - const String channel = 'channel'; + const channel = 'channel'; indent.writeln( 'final String channelName = "${makeChannelName(api, func, dartPackageName)}" + messageChannelSuffix;', ); @@ -888,7 +880,7 @@ if (wrapped == null) { if (func.returnType.isVoid) { indent.writeln('result.success();'); } else { - const String output = 'output'; + const output = 'output'; final String outputExpression; indent.writeln('@SuppressWarnings("ConstantConditions")'); outputExpression = @@ -950,7 +942,7 @@ if (wrapped == null) { AstHostApi api, { required String dartPackageName, }) { - const List generatedMessages = [ + const generatedMessages = [ ' Generated interface from Pigeon that represents a handler of messages from Flutter.', ]; addDocumentationComments( @@ -1033,7 +1025,7 @@ if (wrapped == null) { final String returnType = method.isAsynchronous ? 'void' : _javaTypeForDartType(method.returnType); - final List argSignature = []; + final argSignature = []; if (method.parameters.isNotEmpty) { final Iterable argTypes = method.parameters.map( (NamedType e) => _nullsafeJavaTypeForDartType(e.type), @@ -1102,7 +1094,7 @@ if (wrapped == null) { ? 'Void' : _javaTypeForDartType(method.returnType); indent.writeln('ArrayList wrapped = new ArrayList<>();'); - final List methodArgument = []; + final methodArgument = []; if (method.parameters.isNotEmpty) { indent.writeln( 'ArrayList args = (ArrayList) message;', @@ -1110,8 +1102,8 @@ if (wrapped == null) { enumerate(method.parameters, (int index, NamedType arg) { final String argType = _javaTypeForDartType(arg.type); final String argName = _getSafeArgumentName(index, arg); - final String argExpression = argName; - String accessor = 'args.get($index)'; + final argExpression = argName; + var accessor = 'args.get($index)'; if (argType != 'Object') { accessor = _cast(accessor, javaType: argType); } @@ -1120,17 +1112,15 @@ if (wrapped == null) { }); } if (method.isAsynchronous) { - final String resultValue = method.returnType.isVoid - ? 'null' - : 'result'; + final resultValue = method.returnType.isVoid ? 'null' : 'result'; final String resultType = _getResultType(method.returnType); - final String resultParam = method.returnType.isVoid + final resultParam = method.returnType.isVoid ? '' : '$returnType result'; - final String addResultArg = method.returnType.isVoid + final addResultArg = method.returnType.isVoid ? 'null' : resultValue; - const String resultName = 'resultCallback'; + const resultName = 'resultCallback'; indent.format(''' $resultType $resultName = \t\tnew $resultType() { @@ -1147,8 +1137,7 @@ $resultType $resultName = '''); methodArgument.add(resultName); } - final String call = - 'api.${method.name}(${methodArgument.join(', ')})'; + final call = 'api.${method.name}(${methodArgument.join(', ')})'; if (method.isAsynchronous) { indent.writeln('$call;'); } else { @@ -1341,7 +1330,7 @@ protected static ArrayList wrapError(@NonNull Throwable exception) { /// Converts an expression that evaluates to an nullable int to an expression /// that evaluates to a nullable enum. String _intToEnum(String expression, String enumName, bool nullable) { - final String toEnum = '$enumName.values()[((Long) $expression).intValue()]'; + final toEnum = '$enumName.values()[((Long) $expression).intValue()]'; return nullable ? '$expression == null ? null : $toEnum' : toEnum; } @@ -1386,7 +1375,7 @@ bool _javaTypeIsArray(TypeDeclaration type) { } String? _javaTypeForBuiltinDartType(TypeDeclaration type) { - const Map javaTypeForDartTypeMap = { + const javaTypeForDartTypeMap = { 'bool': 'Boolean', 'int': 'Long', 'String': 'String', diff --git a/packages/pigeon/lib/src/kotlin/kotlin_generator.dart b/packages/pigeon/lib/src/kotlin/kotlin_generator.dart index 7745dd9e7aa..8b687c50f8a 100644 --- a/packages/pigeon/lib/src/kotlin/kotlin_generator.dart +++ b/packages/pigeon/lib/src/kotlin/kotlin_generator.dart @@ -80,7 +80,7 @@ class KotlinOptions { /// Converts a [KotlinOptions] to a Map representation where: /// `x = KotlinOptions.fromMap(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (package != null) 'package': package!, if (copyrightHeader != null) 'copyrightHeader': copyrightHeader!, if (errorClassName != null) 'errorClassName': errorClassName!, @@ -267,7 +267,7 @@ class KotlinGenerator extends StructuredGenerator { Class classDefinition, { required String dartPackageName, }) { - final List generatedMessages = [ + final generatedMessages = [ ' Generated class from Pigeon that represents data sent in messages.', ]; if (classDefinition.isSealed) { @@ -340,9 +340,9 @@ class KotlinGenerator extends StructuredGenerator { Class classDefinition, { bool private = false, }) { - final String privateString = private ? 'private ' : ''; - final String classType = classDefinition.isSealed ? 'sealed' : 'data'; - final String inheritance = classDefinition.superClass != null + final privateString = private ? 'private ' : ''; + final classType = classDefinition.isSealed ? 'sealed' : 'data'; + final inheritance = classDefinition.superClass != null ? ' : ${classDefinition.superClassName}()' : ''; indent.write('$privateString$classType class ${classDefinition.name} '); @@ -406,7 +406,7 @@ class KotlinGenerator extends StructuredGenerator { int index, final NamedType field, ) { - final String listValue = '${varNamePrefix}list[$index]'; + final listValue = '${varNamePrefix}list[$index]'; indent.writeln( 'val ${field.name} = ${_cast(indent, listValue, type: field.type)}', ); @@ -416,7 +416,7 @@ class KotlinGenerator extends StructuredGenerator { for (final NamedType field in getFieldsInSerializationOrder( classDefinition, )) { - final String comma = + final comma = getFieldsInSerializationOrder(classDefinition).last == field ? '' : ', '; @@ -436,7 +436,7 @@ class KotlinGenerator extends StructuredGenerator { indent.write( 'val ${field.name}: ${_nullSafeKotlinTypeForDartType(field.type)}', ); - final String defaultNil = field.type.isNullable ? ' = null' : ''; + final defaultNil = field.type.isNullable ? ' = null' : ''; indent.add(defaultNil); } @@ -475,10 +475,10 @@ class KotlinGenerator extends StructuredGenerator { ).toList(); void writeEncodeLogic(EnumeratedType customType) { - final String encodeString = customType.type == CustomTypes.customClass + final encodeString = customType.type == CustomTypes.customClass ? 'toList()' : 'raw.toLong()'; - final String valueString = customType.enumeration < maximumCodecFieldKey + final valueString = customType.enumeration < maximumCodecFieldKey ? 'value.$encodeString' : 'wrap.toList()'; final int enumeration = customType.enumeration < maximumCodecFieldKey @@ -512,7 +512,7 @@ class KotlinGenerator extends StructuredGenerator { }); } - final EnumeratedType overflowClass = EnumeratedType( + final overflowClass = EnumeratedType( '${generatorOptions.fileSpecificClassNameComponent}$_overflowClassName', maximumCodecFieldKey, CustomTypes.customClass, @@ -540,7 +540,7 @@ class KotlinGenerator extends StructuredGenerator { if (root.classes.isNotEmpty || root.enums.isNotEmpty) { indent.add('when (type) '); indent.addScoped('{', '}', () { - for (final EnumeratedType customType in enumeratedTypes) { + for (final customType in enumeratedTypes) { if (customType.enumeration < maximumCodecFieldKey) { writeDecodeLogic(customType); } @@ -586,19 +586,16 @@ class KotlinGenerator extends StructuredGenerator { List types, { required String dartPackageName, }) { - final NamedType overflowInt = NamedType( + final overflowInt = NamedType( name: 'type', type: const TypeDeclaration(baseName: 'int', isNullable: false), ); - final NamedType overflowObject = NamedType( + final overflowObject = NamedType( name: 'wrapped', type: const TypeDeclaration(baseName: 'Object', isNullable: true), ); - final List overflowFields = [ - overflowInt, - overflowObject, - ]; - final Class overflowClass = Class( + final overflowFields = [overflowInt, overflowObject]; + final overflowClass = Class( name: '${generatorOptions.fileSpecificClassNameComponent}$_overflowClassName', fields: overflowFields, @@ -665,7 +662,7 @@ if (wrapped == null) { AstFlutterApi api, { required String dartPackageName, }) { - const List generatedMessages = [ + const generatedMessages = [ ' Generated class from Pigeon that represents Flutter messages that can be called from Kotlin.', ]; addDocumentationComments( @@ -746,7 +743,7 @@ if (wrapped == null) { }) { final String apiName = api.name; - const List generatedMessages = [ + const generatedMessages = [ ' Generated interface from Pigeon that represents a handler of messages from Flutter.', ]; addDocumentationComments( @@ -840,7 +837,7 @@ if (wrapped == null) { Indent indent, { required String dartPackageName, }) { - final String instanceManagerApiName = + final instanceManagerApiName = '${kotlinInstanceManagerClassName(generatorOptions)}Api'; addDocumentationComments(indent, [ @@ -869,7 +866,7 @@ if (wrapped == null) { 'fun setUpMessageHandlers(binaryMessenger: BinaryMessenger, instanceManager: ${kotlinInstanceManagerClassName(generatorOptions)}?) {', '}', () { - const String setHandlerCondition = 'instanceManager != null'; + const setHandlerCondition = 'instanceManager != null'; _writeHostMethodMessageHandler( indent, generatorOptions: generatorOptions, @@ -1000,7 +997,7 @@ if (wrapped == null) { 'override fun writeValue(stream: ByteArrayOutputStream, value: Any?) {', '}', () { - final List nonProxyApiTypes = [ + final nonProxyApiTypes = [ 'Boolean', 'ByteArray', 'Double', @@ -1042,7 +1039,7 @@ if (wrapped == null) { api.kotlinOptions?.fullClassName ?? api.name; final int? minApi = api.kotlinOptions?.minAndroidApi; - final String versionCheck = minApi != null + final versionCheck = minApi != null ? 'android.os.Build.VERSION.SDK_INT >= $minApi && ' : ''; @@ -1079,7 +1076,7 @@ if (wrapped == null) { AstProxyApi api, { required String dartPackageName, }) { - final String kotlinApiName = '$hostProxyApiPrefix${api.name}'; + final kotlinApiName = '$hostProxyApiPrefix${api.name}'; addDocumentationComments( indent, @@ -1088,7 +1085,7 @@ if (wrapped == null) { ); indent.writeln('@Suppress("UNCHECKED_CAST")'); // The API only needs to be abstract if there are methods to override. - final String classModifier = api.hasMethodsRequiringImplementation() + final classModifier = api.hasMethodsRequiringImplementation() ? 'abstract' : 'open'; indent.writeScoped( @@ -1098,7 +1095,7 @@ if (wrapped == null) { final String fullKotlinClassName = api.kotlinOptions?.fullClassName ?? api.name; - final TypeDeclaration apiAsTypeDeclaration = TypeDeclaration( + final apiAsTypeDeclaration = TypeDeclaration( baseName: api.name, isNullable: false, associatedProxyApi: api, @@ -1389,7 +1386,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean { String Function(int index, NamedType type) getArgumentName = _getArgumentName, }) { - final List argSignature = []; + final argSignature = []; if (parameters.isNotEmpty) { final Iterable argTypes = parameters.map( (NamedType e) => _nullSafeKotlinTypeForDartType(e.type), @@ -1406,7 +1403,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean { ? '' : _nullSafeKotlinTypeForDartType(returnType); - final String resultType = returnType.isVoid ? 'Unit' : returnTypeString; + final resultType = returnType.isVoid ? 'Unit' : returnTypeString; addDocumentationComments(indent, documentationComments, _docCommentSpec); if (minApiRequirement != null) { @@ -1415,8 +1412,8 @@ fun deepEquals(a: Any?, b: Any?): Boolean { ); } - final String openKeyword = isOpen ? 'open ' : ''; - final String abstractKeyword = isAbstract ? 'abstract ' : ''; + final openKeyword = isOpen ? 'open ' : ''; + final abstractKeyword = isAbstract ? 'abstract ' : ''; if (isAsynchronous) { argSignature.add('callback: (Result<$resultType>) -> Unit'); @@ -1462,16 +1459,16 @@ fun deepEquals(a: Any?, b: Any?): Boolean { indent.write('if ($setHandlerCondition) '); indent.addScoped('{', '}', () { - final String messageVarName = parameters.isNotEmpty ? 'message' : '_'; + final messageVarName = parameters.isNotEmpty ? 'message' : '_'; indent.write('channel.setMessageHandler '); indent.addScoped('{ $messageVarName, reply ->', '}', () { - final List methodArguments = []; + final methodArguments = []; if (parameters.isNotEmpty) { indent.writeln('val args = message as List'); enumerate(parameters, (int index, NamedType arg) { final String argName = _getSafeArgumentName(index, arg); - final String argIndex = 'args[$index]'; + final argIndex = 'args[$index]'; indent.writeln( 'val $argName = ${_castForceUnwrap(argIndex, arg.type, indent)}', ); @@ -1598,7 +1595,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean { sendArgument = 'listOf(${enumSafeArgNames.join(', ')})'; } - const String channel = 'channel'; + const channel = 'channel'; indent.writeln('val channelName = "$channelName"'); indent.writeln( 'val $channel = BasicMessageChannel(binaryMessenger, channelName, codec)', @@ -1646,7 +1643,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean { final String instanceManagerName = kotlinInstanceManagerClassName( generatorOptions, ); - final String instanceManagerApiName = '${instanceManagerName}Api'; + final instanceManagerApiName = '${instanceManagerName}Api'; addDocumentationComments(indent, [ ' Provides implementations for each ProxyApi implementation and provides access to resources', @@ -1688,7 +1685,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean { } ) }'''); - for (final AstProxyApi api in allProxyApis) { + for (final api in allProxyApis) { _writeMethodDeclaration( indent, name: 'get$hostProxyApiPrefix${api.name}', @@ -1721,7 +1718,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean { indent.writeln( '$instanceManagerApiName.setUpMessageHandlers(binaryMessenger, instanceManager)', ); - for (final AstProxyApi api in allProxyApis) { + for (final api in allProxyApis) { final bool hasHostMessageCalls = api.constructors.isNotEmpty || api.attachedFields.isNotEmpty || @@ -1738,7 +1735,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean { indent.writeln( '$instanceManagerApiName.setUpMessageHandlers(binaryMessenger, null)', ); - for (final AstProxyApi api in allProxyApis) { + for (final api in allProxyApis) { if (api.hasAnyHostMessageCalls()) { indent.writeln( '$hostProxyApiPrefix${api.name}.setUpMessageHandlers(binaryMessenger, null)', @@ -2267,13 +2264,13 @@ fun deepEquals(a: Any?, b: Any?): Boolean { // // These are used for inherited Flutter methods. void _writeProxyApiInheritedApiMethods(Indent indent, AstProxyApi api) { - final Set inheritedApiNames = { + final inheritedApiNames = { if (api.superClass != null) api.superClass!.baseName, ...api.interfaces.map((TypeDeclaration type) => type.baseName), }; - for (final String name in inheritedApiNames) { + for (final name in inheritedApiNames) { indent.writeln('@Suppress("FunctionName")'); - final String apiName = '$hostProxyApiPrefix$name'; + final apiName = '$hostProxyApiPrefix$name'; _writeMethodDeclaration( indent, name: '${classMemberNamePrefix}get$apiName', @@ -2361,7 +2358,7 @@ String _kotlinTypeForBuiltinGenericDartType(TypeDeclaration type) { } String? _kotlinTypeForBuiltinDartType(TypeDeclaration type) { - const Map kotlinTypeForDartTypeMap = { + const kotlinTypeForDartTypeMap = { 'void': 'Void', 'bool': 'Boolean', 'String': 'String', @@ -2399,7 +2396,7 @@ String _kotlinTypeForDartType(TypeDeclaration type) { } String _nullSafeKotlinTypeForDartType(TypeDeclaration type) { - final String nullSafe = type.isNullable ? '?' : ''; + final nullSafe = type.isNullable ? '?' : ''; return '${_kotlinTypeForDartType(type)}$nullSafe'; } diff --git a/packages/pigeon/lib/src/objc/objc_generator.dart b/packages/pigeon/lib/src/objc/objc_generator.dart index 57ca9840e3f..b09e0edfb7f 100644 --- a/packages/pigeon/lib/src/objc/objc_generator.dart +++ b/packages/pigeon/lib/src/objc/objc_generator.dart @@ -68,8 +68,7 @@ class ObjcOptions { /// Creates a [ObjcOptions] from a Map representation where: /// `x = ObjcOptions.fromMap(x.toMap())`. static ObjcOptions fromMap(Map map) { - final Iterable? copyrightHeader = - map['copyrightHeader'] as Iterable?; + final copyrightHeader = map['copyrightHeader'] as Iterable?; return ObjcOptions( headerIncludePath: map['headerIncludePath'] as String?, prefix: map['prefix'] as String?, @@ -82,7 +81,7 @@ class ObjcOptions { /// Converts a [ObjcOptions] to a Map representation where: /// `x = ObjcOptions.fromMap(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (headerIncludePath != null) 'headerIncludePath': headerIncludePath!, if (prefix != null) 'prefix': prefix!, if (copyrightHeader != null) 'copyrightHeader': copyrightHeader!, @@ -449,7 +448,7 @@ class ObjcHeaderGenerator extends StructuredGenerator { lastArgType = 'FlutterError *_Nullable *_Nonnull'; lastArgName = 'error'; } - final List generatorComments = []; + final generatorComments = []; if (!func.returnType.isNullable && !func.returnType.isVoid && !func.isAsynchronous) { @@ -657,19 +656,19 @@ class ObjcSourceGenerator extends StructuredGenerator { ); indent.write('+ ($className *)fromList:(NSArray *)list '); indent.addScoped('{', '}', () { - const String resultName = 'pigeonResult'; + const resultName = 'pigeonResult'; indent.writeln('$className *$resultName = [[$className alloc] init];'); enumerate(getFieldsInSerializationOrder(classDefinition), ( int index, final NamedType field, ) { - final String valueGetter = 'GetNullableObjectAtIndex(list, $index)'; + final valueGetter = 'GetNullableObjectAtIndex(list, $index)'; final String? primitiveExtractionMethod = _nsnumberExtractionMethod( field.type, ); final String ivarValueExpression; if (field.type.isEnum && !field.type.isNullable) { - final String varName = + final varName = 'boxed${_enumName(field.type.baseName, prefix: generatorOptions.prefix)}'; _writeEnumBoxToEnum( indent, @@ -770,7 +769,7 @@ if (self.wrapped == nil) { String? prefix, { bool isOverflowClass = false, }) { - String readValue = '[self readValue]'; + var readValue = '[self readValue]'; if (isOverflowClass) { readValue = 'self.wrapped'; } @@ -785,7 +784,7 @@ if (self.wrapped == nil) { !isOverflowClass ? '{' : '', !isOverflowClass ? '}' : null, () { - String enumAsNumber = 'enumAsNumber'; + var enumAsNumber = 'enumAsNumber'; if (!isOverflowClass) { indent.writeln('NSNumber *$enumAsNumber = $readValue;'); indent.write('return $enumAsNumber == nil ? nil : '); @@ -809,16 +808,16 @@ if (self.wrapped == nil) { Indent indent, { required String dartPackageName, }) { - const String codecName = 'PigeonCodec'; + const codecName = 'PigeonCodec'; final List enumeratedTypes = getEnumeratedTypes( root, excludeSealedClasses: true, ).toList(); - final String readerWriterName = + final readerWriterName = '${generatorOptions.prefix}${toUpperCamelCase(generatorOptions.fileSpecificClassNameComponent ?? '')}${codecName}ReaderWriter'; - final String readerName = + final readerName = '${generatorOptions.prefix}${toUpperCamelCase(generatorOptions.fileSpecificClassNameComponent ?? '')}${codecName}Reader'; - final String writerName = + final writerName = '${generatorOptions.prefix}${toUpperCamelCase(generatorOptions.fileSpecificClassNameComponent ?? '')}${codecName}Writer'; if (root.requiresOverflowClass) { @@ -837,7 +836,7 @@ if (self.wrapped == nil) { indent.write('- (nullable id)readValueOfType:(UInt8)type '); indent.addScoped('{', '}', () { indent.writeScoped('switch (type) {', '}', () { - for (final EnumeratedType customType in enumeratedTypes) { + for (final customType in enumeratedTypes) { if (customType.enumeration < maximumCodecFieldKey) { indent.write('case ${customType.enumeration}: '); _writeCodecDecode( @@ -869,11 +868,11 @@ if (self.wrapped == nil) { indent.write('- (void)writeValue:(id)value '); indent.addScoped('{', '}', () { indent.write(''); - for (final EnumeratedType customType in enumeratedTypes) { - final String encodeString = customType.type == CustomTypes.customClass + for (final customType in enumeratedTypes) { + final encodeString = customType.type == CustomTypes.customClass ? '[value toList]' : '(value == nil ? [NSNull null] : [NSNumber numberWithInteger:box.value])'; - final String valueString = customType.enumeration < maximumCodecFieldKey + final valueString = customType.enumeration < maximumCodecFieldKey ? encodeString : '[wrap toList]'; final String className = customType.type == CustomTypes.customClass @@ -986,7 +985,7 @@ if (self.wrapped == nil) { }) { final String apiName = _className(generatorOptions.prefix, api.name); - const String channelName = 'channel'; + const channelName = 'channel'; indent.write( 'void SetUp$apiName(id binaryMessenger, NSObject<$apiName> *api) ', ); @@ -1121,10 +1120,10 @@ static FlutterError *createConnectionError(NSString *channelName) { ) { void unpackArgs(String variable) { indent.writeln('NSArray *args = $variable;'); - int count = 0; + var count = 0; for (final NamedType arg in func.parameters) { final String argName = _getSafeArgName(count, arg); - final String valueGetter = 'GetNullableObjectAtIndex(args, $count)'; + final valueGetter = 'GetNullableObjectAtIndex(args, $count)'; final String? primitiveExtractionMethod = _nsnumberExtractionMethod( arg.type, ); @@ -1135,7 +1134,7 @@ static FlutterError *createConnectionError(NSString *channelName) { final String ivarValueExpression; String beforeString = objcArgType.beforeString; if (arg.type.isEnum && !arg.type.isNullable) { - final String varName = + final varName = 'boxed${_enumName(arg.type.baseName, prefix: generatorOptions.prefix)}'; _writeEnumBoxToEnum( indent, @@ -1169,7 +1168,7 @@ static FlutterError *createConnectionError(NSString *channelName) { _ObjcType returnType, ) { if (func.returnType.isVoid) { - const String callback = 'callback(wrapResult(nil, error));'; + const callback = 'callback(wrapResult(nil, error));'; if (func.parameters.isEmpty) { indent.writeScoped( '[api ${selectorComponents.first}:^(FlutterError *_Nullable error) {', @@ -1188,8 +1187,8 @@ static FlutterError *createConnectionError(NSString *channelName) { ); } } else { - const String callback = 'callback(wrapResult(output, error));'; - String returnTypeString = '${returnType.beforeString}_Nullable output'; + const callback = 'callback(wrapResult(output, error));'; + var returnTypeString = '${returnType.beforeString}_Nullable output'; if (func.returnType.isEnum) { returnTypeString = @@ -1233,9 +1232,7 @@ static FlutterError *createConnectionError(NSString *channelName) { } // TODO(gaaclarke): Incorporate this into _getSelectorComponents. - final String lastSelectorComponent = func.isAsynchronous - ? 'completion' - : 'error'; + final lastSelectorComponent = func.isAsynchronous ? 'completion' : 'error'; final String selector = _getSelector(func, lastSelectorComponent); indent.writeln( 'NSCAssert([api respondsToSelector:@selector($selector)], @"$apiName api (%@) doesn\'t respond to @selector($selector)", api);', @@ -1271,7 +1268,7 @@ static FlutterError *createConnectionError(NSString *channelName) { if (func.isAsynchronous) { writeAsyncBindings(selectorComponents, callSignature, returnType); } else { - final String syncCall = func.parameters.isEmpty + final syncCall = func.parameters.isEmpty ? '[api ${selectorComponents.first}:&error]' : '[api $callSignature error:&error]'; writeSyncBindings(syncCall, returnType); @@ -1360,7 +1357,7 @@ taskQueue:$taskQueue languageOptions.prefix, ); indent.writeScoped(' {', '}', () { - const String result = 'pigeonResult'; + const result = 'pigeonResult'; indent.writeln('$className* $result = [[$className alloc] init];'); for (final NamedType field in getFieldsInSerializationOrder( classDefinition, @@ -1397,7 +1394,7 @@ void _writeMethod( if (func.parameters.isEmpty) { sendArgument = 'nil'; } else { - int count = 0; + var count = 0; String makeVarOrNSNullExpression(NamedType arg) { final String argName = argNameFunc(count, arg); String varExpression = _collectionSafeExpression(argName, arg.type); @@ -1447,7 +1444,7 @@ void _writeMethod( indent.addln('];'); }); }); - final String valueOnErrorResponse = func.returnType.isVoid ? '' : 'nil, '; + final valueOnErrorResponse = func.returnType.isVoid ? '' : 'nil, '; indent.write( '[channel sendMessage:$sendArgument reply:^(NSArray *reply) ', ); @@ -1459,7 +1456,7 @@ void _writeMethod( ); }, addTrailingNewline: false); indent.addScoped('else {', '}', () { - const String nullCheck = 'reply[0] == [NSNull null] ? nil : reply[0]'; + const nullCheck = 'reply[0] == [NSNull null] ? nil : reply[0]'; if (func.returnType.isVoid) { indent.writeln('completion(nil);'); } else { @@ -1497,7 +1494,7 @@ void _writeObjcSourceClassInitializerDeclaration( String? prefix, ) { indent.write('+ (instancetype)makeWith'); - bool isFirst = true; + var isFirst = true; indent.nest(2, () { for (final NamedType field in getFieldsInSerializationOrder( classDefinition, @@ -1520,7 +1517,7 @@ void _writeObjcSourceClassInitializerDeclaration( : _enumName(x, prefix: prefix) : (String x) => '${_className(prefix, x)} *', ); - final String nullable = field.type.isNullable ? 'nullable ' : ''; + final nullable = field.type.isNullable ? 'nullable ' : ''; printer('$label:($nullable${hostDatatype.datatype})${field.name}'); } }); @@ -1767,7 +1764,7 @@ Iterable _getSelectorComponents( if (func.objcSelector.isEmpty) { final Iterator it = func.parameters.iterator; final bool hasArguments = it.moveNext(); - final String namePostfix = + final namePostfix = (lastSelectorComponent.isNotEmpty && func.parameters.isEmpty) ? 'With${_capitalize(lastSelectorComponent)}' : ''; @@ -1820,7 +1817,7 @@ String _makeObjcSignature({ if (arg.type.isEnum) { return '${arg.type.isNullable ? 'nullable ' : ''}${_enumName(arg.type.baseName, suffix: arg.type.isNullable ? ' *' : '', prefix: options.prefix, box: arg.type.isNullable)}'; } else { - final String nullable = arg.type.isNullable ? 'nullable ' : ''; + final nullable = arg.type.isNullable ? 'nullable ' : ''; final _ObjcType argType = _objcTypeForDartType( options.prefix, arg.type, @@ -1903,7 +1900,7 @@ void _writeInitializers(Indent indent) { /// Looks through the AST for features that aren't supported by the ObjC /// generator. List validateObjc(InternalObjcOptions options, Root root) { - final List errors = []; + final errors = []; for (final Api api in root.apis) { for (final Method method in api.methods) { for (final NamedType arg in method.parameters) { @@ -2000,7 +1997,7 @@ void _writeDataClassDeclaration( isNullable: field.type.isNullable, isEnum: field.type.isEnum, ); - final String nullability = field.type.isNullable ? ', nullable' : ''; + final nullability = field.type.isNullable ? ', nullable' : ''; final String fieldType = field.type.isEnum && field.type.isNullable ? _enumName( field.type.baseName, diff --git a/packages/pigeon/lib/src/pigeon_lib.dart b/packages/pigeon/lib/src/pigeon_lib.dart index 2bb976475b9..75216141dc5 100644 --- a/packages/pigeon/lib/src/pigeon_lib.dart +++ b/packages/pigeon/lib/src/pigeon_lib.dart @@ -389,7 +389,7 @@ class PigeonOptions { /// Converts a [PigeonOptions] to a Map representation where: /// `x = PigeonOptions.fromMap(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (input != null) 'input': input!, if (dartOut != null) 'dartOut': dartOut!, if (dartTestOut != null) 'dartTestOut': dartTestOut!, @@ -450,23 +450,18 @@ class Pigeon { /// [sdkPath] for specifying the Dart SDK path for /// [AnalysisContextCollection]. ParseResults parseFile(String inputPath, {String? sdkPath}) { - final List includedPaths = [ - path.absolute(path.normalize(inputPath)), - ]; - final AnalysisContextCollection collection = AnalysisContextCollection( + final includedPaths = [path.absolute(path.normalize(inputPath))]; + final collection = AnalysisContextCollection( includedPaths: includedPaths, sdkPath: sdkPath, ); - final List compilationErrors = []; - final RootBuilder rootBuilder = RootBuilder( - File(inputPath).readAsStringSync(), - ); + final compilationErrors = []; + final rootBuilder = RootBuilder(File(inputPath).readAsStringSync()); for (final AnalysisContext context in collection.contexts) { for (final String path in context.contextRoot.analyzedFiles()) { final AnalysisSession session = context.currentSession; - final ParsedUnitResult result = - session.getParsedUnit(path) as ParsedUnitResult; + final result = session.getParsedUnit(path) as ParsedUnitResult; if (result.diagnostics.isEmpty) { final dart_ast.CompilationUnit unit = result.unit; unit.accept(rootBuilder); @@ -626,7 +621,7 @@ ${_argParser.usage}'''; // `configurePigeon` function. final ArgResults results = _argParser.parse(args); - final PigeonOptions opts = PigeonOptions( + final opts = PigeonOptions( input: results['input'] as String?, dartOut: results['dart_out'] as String?, dartTestOut: results['dart_test_out'] as String?, @@ -731,7 +726,7 @@ ${_argParser.usage}'''; parseResults = parseResults ?? pigeon.parseFile(options.input!, sdkPath: sdkPath); - final List errors = []; + final errors = []; errors.addAll(parseResults.errors); // Helper to clean up non-Stdout sinks. @@ -750,7 +745,7 @@ ${_argParser.usage}'''; final InternalPigeonOptions internalOptions = InternalPigeonOptions.fromPigeonOptions(options); - for (final GeneratorAdapter adapter in safeGeneratorAdapters) { + for (final adapter in safeGeneratorAdapters) { final IOSink? sink = adapter.shouldGenerate( internalOptions, FileType.source, @@ -780,7 +775,7 @@ ${_argParser.usage}'''; return 1; } - for (final GeneratorAdapter adapter in safeGeneratorAdapters) { + for (final adapter in safeGeneratorAdapters) { for (final FileType fileType in adapter.fileTypeList) { final IOSink? sink = adapter.shouldGenerate(internalOptions, fileType); if (sink != null) { @@ -796,7 +791,7 @@ ${_argParser.usage}'''; /// Print a list of errors to stderr. static void printErrors(List errors) { - for (final Error err in errors) { + for (final err in errors) { if (err.filename != null) { if (err.lineNumber != null) { stderr.writeln( diff --git a/packages/pigeon/lib/src/pigeon_lib_internal.dart b/packages/pigeon/lib/src/pigeon_lib_internal.dart index 7690f5696f5..07b84b059d0 100644 --- a/packages/pigeon/lib/src/pigeon_lib_internal.dart +++ b/packages/pigeon/lib/src/pigeon_lib_internal.dart @@ -182,9 +182,9 @@ class InternalPigeonOptions { Iterable _lineReader(String path) sync* { final String contents = File(path).readAsStringSync(); - const LineSplitter lineSplitter = LineSplitter(); + const lineSplitter = LineSplitter(); final List lines = lineSplitter.convert(contents); - for (final String line in lines) { + for (final line in lines) { yield line; } } @@ -302,7 +302,7 @@ class DartGeneratorAdapter implements GeneratorAdapter { return; } - const DartGenerator generator = DartGenerator(); + const generator = DartGenerator(); generator.generate( options.dartOptions!, root, @@ -337,7 +337,7 @@ class DartTestGeneratorAdapter implements GeneratorAdapter { if (options.dartOptions == null) { return; } - const DartGenerator testGenerator = DartGenerator(); + const testGenerator = DartGenerator(); // The test code needs the actual package name of the Dart output, even if // the package name has been overridden for other uses. final String outputPackageName = @@ -390,12 +390,11 @@ class ObjcGeneratorAdapter implements GeneratorAdapter { if (options.objcOptions == null) { return; } - final OutputFileOptions outputFileOptions = - OutputFileOptions( - fileType: fileType, - languageOptions: options.objcOptions!, - ); - const ObjcGenerator generator = ObjcGenerator(); + final outputFileOptions = OutputFileOptions( + fileType: fileType, + languageOptions: options.objcOptions!, + ); + const generator = ObjcGenerator(); generator.generate( outputFileOptions, root, @@ -421,7 +420,7 @@ class ObjcGeneratorAdapter implements GeneratorAdapter { @override List validate(InternalPigeonOptions options, Root root) { - final List errors = []; + final errors = []; _errorOnEventChannelApi(errors, languageString, root); _errorOnSealedClass(errors, languageString, root); _errorOnInheritedClass(errors, languageString, root); @@ -450,7 +449,7 @@ class JavaGeneratorAdapter implements GeneratorAdapter { if (options.javaOptions == null) { return; } - const JavaGenerator generator = JavaGenerator(); + const generator = JavaGenerator(); generator.generate( options.javaOptions!, root, @@ -465,7 +464,7 @@ class JavaGeneratorAdapter implements GeneratorAdapter { @override List validate(InternalPigeonOptions options, Root root) { - final List errors = []; + final errors = []; _errorOnEventChannelApi(errors, languageString, root); _errorOnSealedClass(errors, languageString, root); _errorOnInheritedClass(errors, languageString, root); @@ -494,7 +493,7 @@ class SwiftGeneratorAdapter implements GeneratorAdapter { if (options.swiftOptions == null) { return; } - const SwiftGenerator generator = SwiftGenerator(); + const generator = SwiftGenerator(); generator.generate( options.swiftOptions!, root, @@ -537,12 +536,11 @@ class CppGeneratorAdapter implements GeneratorAdapter { if (options.cppOptions == null) { return; } - final OutputFileOptions outputFileOptions = - OutputFileOptions( - fileType: fileType, - languageOptions: options.cppOptions!, - ); - const CppGenerator generator = CppGenerator(); + final outputFileOptions = OutputFileOptions( + fileType: fileType, + languageOptions: options.cppOptions!, + ); + const generator = CppGenerator(); generator.generate( outputFileOptions, root, @@ -568,7 +566,7 @@ class CppGeneratorAdapter implements GeneratorAdapter { @override List validate(InternalPigeonOptions options, Root root) { - final List errors = []; + final errors = []; _errorOnEventChannelApi(errors, languageString, root); _errorOnSealedClass(errors, languageString, root); _errorOnInheritedClass(errors, languageString, root); @@ -599,12 +597,11 @@ class GObjectGeneratorAdapter implements GeneratorAdapter { if (options.gobjectOptions == null) { return; } - final OutputFileOptions outputFileOptions = - OutputFileOptions( - fileType: fileType, - languageOptions: options.gobjectOptions!, - ); - const GObjectGenerator generator = GObjectGenerator(); + final outputFileOptions = OutputFileOptions( + fileType: fileType, + languageOptions: options.gobjectOptions!, + ); + const generator = GObjectGenerator(); generator.generate( outputFileOptions, root, @@ -630,7 +627,7 @@ class GObjectGeneratorAdapter implements GeneratorAdapter { @override List validate(InternalPigeonOptions options, Root root) { - final List errors = []; + final errors = []; // TODO(tarrinneal): Remove once overflow class is added to gobject generator. // https://github.com/flutter/flutter/issues/152916 if (root.classes.length + root.enums.length > totalCustomCodecKeysAllowed) { @@ -667,7 +664,7 @@ class KotlinGeneratorAdapter implements GeneratorAdapter { if (options.kotlinOptions == null) { return; } - const KotlinGenerator generator = KotlinGenerator(); + const generator = KotlinGenerator(); generator.generate( options.kotlinOptions!, root, @@ -710,7 +707,7 @@ extension _ObjectAs on Object { } List _validateAst(Root root, String source) { - final List result = []; + final result = []; final List customClasses = root.classes .map((Class x) => x.name) .toList(); @@ -808,7 +805,7 @@ List _validateAst(Root root, String source) { } } - bool containsEventChannelApi = false; + var containsEventChannelApi = false; for (final Api api in root.apis) { final String? matchingPrefix = _findMatchingPrefixOrNull( @@ -924,7 +921,7 @@ List _validateAst(Root root, String source) { } } if (method.swiftFunction.isNotEmpty) { - final RegExp signatureRegex = RegExp( + final signatureRegex = RegExp( '\\w+ *\\((\\w+:){${method.parameters.length}}\\)', ); if (!signatureRegex.hasMatch(method.swiftFunction)) { @@ -958,7 +955,7 @@ List _validateProxyApi( required Set customClasses, required Set proxyApis, }) { - final List result = []; + final result = []; bool isDataClass(NamedType type) => customClasses.contains(type.type.baseName); @@ -1008,7 +1005,7 @@ List _validateProxyApi( final Iterable interfaceNames = api.interfaces.map( (TypeDeclaration type) => type.baseName, ); - for (final String interfaceName in interfaceNames) { + for (final interfaceName in interfaceNames) { if (!proxyApis.any((AstProxyApi api) => api.name == interfaceName)) { result.add( Error( @@ -1023,7 +1020,7 @@ List _validateProxyApi( final bool hasRequiredFlutterMethod = api.flutterMethods.any( (Method method) => method.isRequired, ); - for (final AstProxyApi proxyApi in proxyApis) { + for (final proxyApi in proxyApis) { // Validate this api is not used as an attached field while either: // 1. Having an unattached field. // 2. Having a required Flutter method. @@ -1062,7 +1059,7 @@ List _validateProxyApi( final Iterable interfaceNames = proxyApi.interfaces.map( (TypeDeclaration type) => type.baseName, ); - for (final String interfaceName in interfaceNames) { + for (final interfaceName in interfaceNames) { if (interfaceName == api.name) { result.add( Error( @@ -1123,7 +1120,7 @@ List _validateProxyApi( } } if (constructor.swiftFunction.isNotEmpty) { - final RegExp signatureRegex = RegExp( + final signatureRegex = RegExp( '\\w+ *\\((\\w+:){${constructor.parameters.length}}\\)', ); if (!signatureRegex.hasMatch(constructor.swiftFunction)) { @@ -1238,7 +1235,7 @@ String? _findMatchingPrefixOrNull( String value, { required List prefixes, }) { - for (final String prefix in prefixes) { + for (final prefix in prefixes) { if (value.startsWith(prefix)) { return prefix; } @@ -1304,19 +1301,19 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { final Set referencedTypeNames = referencedTypes.keys .map((TypeDeclaration e) => e.baseName) .toSet(); - final List nonReferencedTypes = List.from(_classes); + final nonReferencedTypes = List.from(_classes); nonReferencedTypes.removeWhere( (Class x) => referencedTypeNames.contains(x.name), ); - for (final Class x in nonReferencedTypes) { + for (final x in nonReferencedTypes) { x.isReferenced = false; } - final List referencedEnums = List.from(_enums); - bool containsHostApi = false; - bool containsFlutterApi = false; - bool containsProxyApi = false; - bool containsEventChannel = false; + final referencedEnums = List.from(_enums); + var containsHostApi = false; + var containsFlutterApi = false; + var containsProxyApi = false; + var containsEventChannel = false; for (final Api api in _apis) { switch (api) { @@ -1331,7 +1328,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { } } - final Root completeRoot = Root( + final completeRoot = Root( apis: _apis, classes: _classes, enums: referencedEnums, @@ -1341,7 +1338,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { containsEventChannel: containsEventChannel, ); - final List totalErrors = List.from(_errors); + final totalErrors = List.from(_errors); for (final MapEntry> element in referencedTypes.entries) { @@ -1394,7 +1391,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { api.superClass = _attachAssociatedDefinition(api.superClass!); } - final Set newInterfaceSet = {}; + final newInterfaceSet = {}; for (final TypeDeclaration interface in api.interfaces) { newInterfaceSet.add(_attachAssociatedDefinition(interface)); } @@ -1433,7 +1430,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { type = type.copyWithProxyApi(assocProxyApi); } if (type.typeArguments.isNotEmpty) { - final List newTypes = []; + final newTypes = []; for (final TypeDeclaration type in type.typeArguments) { newTypes.add(_attachAssociatedDefinition(type)); } @@ -1444,7 +1441,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { } List _attachAssociatedDefinitions(Iterable types) { - final List result = []; + final result = []; for (final NamedType type in types) { result.add( type.copyWithType(_attachAssociatedDefinition(type.type)) as T, @@ -1469,7 +1466,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { Object _expressionToMap(dart_ast.Expression expression) { if (expression is dart_ast.MethodInvocation) { - final Map result = {}; + final result = {}; for (final dart_ast.Expression argument in expression.argumentList.arguments) { if (argument is dart_ast.NamedExpression) { @@ -1495,7 +1492,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { } else if (expression is dart_ast.SimpleIdentifier) { return expression.name; } else if (expression is dart_ast.ListLiteral) { - final List list = []; + final list = []; for (final dart_ast.CollectionElement element in expression.elements) { if (element is dart_ast.Expression) { list.add(_expressionToMap(element)); @@ -1510,7 +1507,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { } return list; } else if (expression is dart_ast.SetOrMapLiteral) { - final Set set = {}; + final set = {}; for (final dart_ast.CollectionElement element in expression.elements) { if (element is dart_ast.Expression) { set.add(_expressionToMap(element)); @@ -1561,7 +1558,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { ), ); } - final Map pigeonOptionsMap = + final pigeonOptionsMap = _expressionToMap(node.arguments!.arguments.first) as Map; _pigeonOptions = pigeonOptionsMap; @@ -1629,7 +1626,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { (dart_ast.Annotation element) => element.name.name == 'ProxyApi', ); - final Map annotationMap = {}; + final annotationMap = {}; for (final dart_ast.Expression expression in proxyApiAnnotation.arguments!.arguments) { if (expression is dart_ast.NamedExpression) { @@ -1639,7 +1636,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { } } - final String? superClassName = annotationMap['superClass'] as String?; + final superClassName = annotationMap['superClass'] as String?; TypeDeclaration? superClass; if (superClassName != null && node.extendsClause != null) { _errors.add( @@ -1661,7 +1658,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { ); } - final Set interfaces = {}; + final interfaces = {}; if (node.implementsClause != null) { for (final dart_ast.NamedType type in node.implementsClause!.interfaces) { @@ -1672,7 +1669,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { } SwiftProxyApiOptions? swiftOptions; - final Map? swiftOptionsMap = + final swiftOptionsMap = annotationMap['swiftOptions'] as Map?; if (swiftOptionsMap != null) { swiftOptions = SwiftProxyApiOptions( @@ -1706,7 +1703,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { tryParseApiRequirement(swiftOptions?.minMacosApi); KotlinProxyApiOptions? kotlinOptions; - final Map? kotlinOptionsMap = + final kotlinOptionsMap = annotationMap['kotlinOptions'] as Map?; if (kotlinOptionsMap != null) { kotlinOptions = KotlinProxyApiOptions( @@ -1734,7 +1731,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { element.name.name == 'EventChannelApi', ); - final Map annotationMap = {}; + final annotationMap = {}; for (final dart_ast.Expression expression in annotation.arguments!.arguments) { if (expression is dart_ast.NamedExpression) { @@ -1746,7 +1743,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { SwiftEventChannelOptions? swiftOptions; KotlinEventChannelOptions? kotlinOptions; - final Map? swiftOptionsMap = + final swiftOptionsMap = annotationMap['swiftOptions'] as Map?; if (swiftOptionsMap != null) { swiftOptions = SwiftEventChannelOptions( @@ -1754,7 +1751,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { swiftOptionsMap['includeSharedClasses'] as bool? ?? true, ); } - final Map? kotlinOptionsMap = + final kotlinOptionsMap = annotationMap['kotlinOptions'] as Map?; if (kotlinOptionsMap != null) { kotlinOptions = KotlinEventChannelOptions( @@ -1793,7 +1790,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { /// Converts Token's to Strings and removes documentation comment symbol. List _documentationCommentsParser(List? comments) { - const String docCommentPrefix = '///'; + const docCommentPrefix = '///'; return comments ?.map( (Token line) => line.length > docCommentPrefix.length @@ -1818,7 +1815,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { _getFirstChildOfType(formalParameter); if (parameter != null) { final String argTypeBaseName = _getNamedTypeQualifiedName(parameter); - final bool isNullable = parameter.question != null; + final isNullable = parameter.question != null; final List argTypeArguments = _typeAnnotationsToTypeArguments(parameter.typeArguments); return Parameter( @@ -1872,7 +1869,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { if (str == null) { return null; } - for (final T value in values) { + for (final value in values) { if (value.toString() == str) { return value; } @@ -1986,7 +1983,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { List _typeAnnotationsToTypeArguments( dart_ast.TypeArgumentList? typeArguments, ) { - final List result = []; + final result = []; if (typeArguments != null) { for (final Object x in typeArguments.childEntities) { if (x is dart_ast.NamedType) { @@ -2016,7 +2013,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { ), ); } else if (type is dart_ast.NamedType) { - final _FindInitializer findInitializerVisitor = _FindInitializer(); + final findInitializerVisitor = _FindInitializer(); node.visitChildren(findInitializerVisitor); if (findInitializerVisitor.initializer != null) { _errors.add( @@ -2029,7 +2026,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { } else { final dart_ast.TypeArgumentList? typeArguments = type.typeArguments; final String name = node.fields.variables[0].name.lexeme; - final NamedType field = NamedType( + final field = NamedType( type: TypeDeclaration( baseName: _getNamedTypeQualifiedName(type), isNullable: type.question != null, @@ -2200,7 +2197,7 @@ class RootBuilder extends dart_ast_visitor.RecursiveAstVisitor { ), ); } else if (type is dart_ast.NamedType) { - final _FindInitializer findInitializerVisitor = _FindInitializer(); + final findInitializerVisitor = _FindInitializer(); node.visitChildren(findInitializerVisitor); if (findInitializerVisitor.initializer != null) { _errors.add( @@ -2239,8 +2236,8 @@ int? _calculateLineNumberNullable(String contents, int? offset) { /// Calculates the line number for debugging. int calculateLineNumber(String contents, int offset) { - int result = 1; - for (int i = 0; i < offset; ++i) { + var result = 1; + for (var i = 0; i < offset; ++i) { if (contents[i] == '\n') { result += 1; } diff --git a/packages/pigeon/lib/src/swift/swift_generator.dart b/packages/pigeon/lib/src/swift/swift_generator.dart index 2f30a35fd4e..310a463d587 100644 --- a/packages/pigeon/lib/src/swift/swift_generator.dart +++ b/packages/pigeon/lib/src/swift/swift_generator.dart @@ -61,7 +61,7 @@ class SwiftOptions { /// Converts a [SwiftOptions] to a Map representation where: /// `x = SwiftOptions.fromList(x.toMap())`. Map toMap() { - final Map result = { + final result = { if (copyrightHeader != null) 'copyrightHeader': copyrightHeader!, if (fileSpecificClassNameComponent != null) 'fileSpecificClassNameComponent': fileSpecificClassNameComponent!, @@ -259,9 +259,9 @@ class SwiftGenerator extends StructuredGenerator { required String dartPackageName, }) { final String codecName = _getMessageCodecName(generatorOptions); - final String readerWriterName = '${codecName}ReaderWriter'; - final String readerName = '${codecName}Reader'; - final String writerName = '${codecName}Writer'; + final readerWriterName = '${codecName}ReaderWriter'; + final readerName = '${codecName}Reader'; + final writerName = '${codecName}Writer'; final List enumeratedTypes = getEnumeratedTypes( root, @@ -293,7 +293,7 @@ class SwiftGenerator extends StructuredGenerator { }); } - final EnumeratedType overflowClass = EnumeratedType( + final overflowClass = EnumeratedType( _overflowClassName, maximumCodecFieldKey, CustomTypes.customClass, @@ -319,7 +319,7 @@ class SwiftGenerator extends StructuredGenerator { indent.addScoped('{', '}', () { indent.write('switch type '); indent.addScoped('{', '}', nestCount: 0, () { - for (final EnumeratedType customType in enumeratedTypes) { + for (final customType in enumeratedTypes) { if (customType.enumeration < maximumCodecFieldKey) { writeDecodeLogic(customType); } @@ -344,15 +344,13 @@ class SwiftGenerator extends StructuredGenerator { indent.write('override func writeValue(_ value: Any) '); indent.addScoped('{', '}', () { indent.write(''); - for (final EnumeratedType customType in enumeratedTypes) { + for (final customType in enumeratedTypes) { indent.add('if let value = value as? ${customType.name} '); indent.addScoped('{', '} else ', () { - final String encodeString = - customType.type == CustomTypes.customClass + final encodeString = customType.type == CustomTypes.customClass ? 'toList()' : 'rawValue'; - final String valueString = - customType.enumeration < maximumCodecFieldKey + final valueString = customType.enumeration < maximumCodecFieldKey ? 'value.$encodeString' : 'wrap.toList()'; final int enumeration = @@ -421,8 +419,8 @@ class SwiftGenerator extends StructuredGenerator { bool private = false, bool hashable = true, }) { - final String privateString = private ? 'private ' : ''; - final String extendsString = classDefinition.superClass != null + final privateString = private ? 'private ' : ''; + final extendsString = classDefinition.superClass != null ? ': ${classDefinition.superClass!.name}' : hashable ? ': Hashable' @@ -448,7 +446,7 @@ class SwiftGenerator extends StructuredGenerator { _writeClassInit(indent, fields.toList()); } - for (final NamedType field in fields) { + for (final field in fields) { addDocumentationComments( indent, field.documentationComments, @@ -468,19 +466,16 @@ class SwiftGenerator extends StructuredGenerator { List types, { required String dartPackageName, }) { - final NamedType overflowInt = NamedType( + final overflowInt = NamedType( name: 'type', type: const TypeDeclaration(baseName: 'Int', isNullable: false), ); - final NamedType overflowObject = NamedType( + final overflowObject = NamedType( name: 'wrapped', type: const TypeDeclaration(baseName: 'Object', isNullable: true), ); - final List overflowFields = [ - overflowInt, - overflowObject, - ]; - final Class overflowClass = Class( + final overflowFields = [overflowInt, overflowObject]; + final overflowClass = Class( name: _overflowClassName, fields: overflowFields, ); @@ -556,7 +551,7 @@ if (wrapped == nil) { Class classDefinition, { required String dartPackageName, }) { - final List generatedComments = [ + final generatedComments = [ ' Generated class from Pigeon that represents data sent in messages.', ]; if (classDefinition.isSealed) { @@ -603,7 +598,7 @@ if (wrapped == nil) { void _writeClassInit(Indent indent, List fields) { indent.writeScoped('init(', ')', () { - for (int i = 0; i < fields.length; i++) { + for (var i = 0; i < fields.length; i++) { indent.write(''); _writeClassField(indent, fields[i]); if (i == fields.length - 1) { @@ -614,7 +609,7 @@ if (wrapped == nil) { } }, addTrailingNewline: false); indent.addScoped(' {', '}', () { - for (final NamedType field in fields) { + for (final field in fields) { _writeClassFieldInit(indent, field); } }); @@ -622,7 +617,7 @@ if (wrapped == nil) { void _writeClassField(Indent indent, NamedType field, {bool addNil = true}) { indent.add('${field.name}: ${_nullSafeSwiftTypeForDartType(field.type)}'); - final String defaultNil = field.type.isNullable && addNil ? ' = nil' : ''; + final defaultNil = field.type.isNullable && addNil ? ' = nil' : ''; indent.add(defaultNil); } @@ -644,7 +639,7 @@ if (wrapped == nil) { indent.addScoped('[', ']', () { // Follow swift-format style, which is to use a trailing comma unless // there is only one element. - final String separator = classDefinition.fields.length > 1 ? ',' : ''; + final separator = classDefinition.fields.length > 1 ? ',' : ''; for (final NamedType field in getFieldsInSerializationOrder( classDefinition, )) { @@ -703,7 +698,7 @@ if (wrapped == nil) { int index, final NamedType field, ) { - final String listValue = '${varNamePrefix}list[$index]'; + final listValue = '${varNamePrefix}list[$index]'; _writeGenericCasting( indent: indent, @@ -720,13 +715,13 @@ if (wrapped == nil) { for (final NamedType field in getFieldsInSerializationOrder( classDefinition, )) { - final String comma = + final comma = getFieldsInSerializationOrder(classDefinition).last == field ? '' : ','; // Force-casting nullable enums in maps doesn't work the same as other types. // It needs soft-casting followed by force unwrapping. - final String forceUnwrapMapWithNullableEnums = + final forceUnwrapMapWithNullableEnums = (field.type.baseName == 'Map' && !field.type.isNullable && field.type.typeArguments.any( @@ -779,7 +774,7 @@ if (wrapped == nil) { AstFlutterApi api, { required String dartPackageName, }) { - const List generatedComments = [ + const generatedComments = [ ' Generated protocol from Pigeon that represents Flutter messages that can be called from Swift.', ]; addDocumentationComments( @@ -864,7 +859,7 @@ if (wrapped == nil) { }) { final String apiName = api.name; - const List generatedComments = [ + const generatedComments = [ ' Generated protocol from Pigeon that represents a handler of messages from Flutter.', ]; addDocumentationComments( @@ -970,7 +965,7 @@ if (wrapped == nil) { Indent indent, { required String dartPackageName, }) { - final String instanceManagerApiName = + final instanceManagerApiName = '${swiftInstanceManagerClassName(generatorOptions)}Api'; final String removeStrongReferenceName = @@ -1010,8 +1005,7 @@ if (wrapped == nil) { indent.writeln( 'let codec = ${_getMessageCodecName(generatorOptions)}.shared', ); - const String setHandlerCondition = - 'let instanceManager = instanceManager'; + const setHandlerCondition = 'let instanceManager = instanceManager'; _writeHostMethodMessageHandler( indent, name: 'removeStrongReference', @@ -1154,7 +1148,7 @@ if (wrapped == nil) { indent.newln(); indent.writeScoped('override func writeValue(_ value: Any) {', '}', () { - final List nonProxyApiTypes = [ + final nonProxyApiTypes = [ '[Any]', 'Bool', 'Data', @@ -1206,7 +1200,7 @@ if (wrapped == nil) { ); enumerate(sortedApis, (int index, AstProxyApi api) { - final TypeDeclaration apiAsTypeDecl = TypeDeclaration( + final apiAsTypeDecl = TypeDeclaration( baseName: api.name, isNullable: false, associatedProxyApi: api, @@ -1278,15 +1272,14 @@ if (wrapped == nil) { AstProxyApi api, { required String dartPackageName, }) { - final TypeDeclaration apiAsTypeDeclaration = TypeDeclaration( + final apiAsTypeDeclaration = TypeDeclaration( baseName: api.name, isNullable: false, associatedProxyApi: api, ); - final String swiftApiDelegateName = - '${hostProxyApiPrefix}Delegate${api.name}'; - final String type = api.hasMethodsRequiringImplementation() + final swiftApiDelegateName = '${hostProxyApiPrefix}Delegate${api.name}'; + final type = api.hasMethodsRequiringImplementation() ? 'protocol' : 'open class'; indent.writeScoped('$type $swiftApiDelegateName {', '}', () { @@ -1315,8 +1308,7 @@ if (wrapped == nil) { }); indent.newln(); - final String swiftApiProtocolName = - '${hostProxyApiPrefix}Protocol${api.name}'; + final swiftApiProtocolName = '${hostProxyApiPrefix}Protocol${api.name}'; indent.writeScoped('protocol $swiftApiProtocolName {', '}', () { _writeProxyApiFlutterMethods( indent, @@ -1329,7 +1321,7 @@ if (wrapped == nil) { }); indent.newln(); - final String swiftApiName = '$hostProxyApiPrefix${api.name}'; + final swiftApiName = '$hostProxyApiPrefix${api.name}'; indent.writeScoped( 'final class $swiftApiName: $swiftApiProtocolName {', '}', @@ -1714,10 +1706,10 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has (MapEntry e) => getEnumSafeArgumentExpression(e.key, e.value), ); - final String sendArgument = parameters.isEmpty + final sendArgument = parameters.isEmpty ? 'nil' : '[${enumSafeArgNames.join(', ')}] as [Any?]'; - const String channel = 'channel'; + const channel = 'channel'; indent.writeln('let channelName: String = "$channelName"'); indent.writeln( 'let $channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)', @@ -1763,7 +1755,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has type: returnType, ); // There is a swift bug with unwrapping maps of nullable Enums; - final String enumMapForceUnwrap = + final enumMapForceUnwrap = returnType.baseName == 'Map' && returnType.typeArguments.any( (TypeDeclaration type) => type.isEnum, @@ -1790,16 +1782,16 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has String Function(List safeArgNames, {required String apiVarName})? onCreateCall, }) { - final _SwiftFunctionComponents components = _SwiftFunctionComponents( + final components = _SwiftFunctionComponents( name: name, parameters: parameters, returnType: returnType, swiftFunction: swiftFunction, ); - final String varChannelName = '${name}Channel'; + final varChannelName = '${name}Channel'; addDocumentationComments(indent, documentationComments, _docCommentSpec); - final String baseArgs = + final baseArgs = 'name: "$channelName", ' 'binaryMessenger: binaryMessenger, codec: codec'; // The version with taskQueue: is an optional protocol method that isn't @@ -1809,12 +1801,12 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has // queue variable not being nil because the earlier code to set it will // return nil on macOS where the optional parts of the protocol are not // implemented. - final String channelCreationWithoutTaskQueue = + final channelCreationWithoutTaskQueue = 'FlutterBasicMessageChannel($baseArgs)'; if (serialBackgroundQueue == null) { indent.writeln('let $varChannelName = $channelCreationWithoutTaskQueue'); } else { - final String channelCreationWithTaskQueue = + final channelCreationWithTaskQueue = 'FlutterBasicMessageChannel($baseArgs, taskQueue: $serialBackgroundQueue)'; indent.write('let $varChannelName = $serialBackgroundQueue == nil'); @@ -1827,9 +1819,9 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has indent.write('if $setHandlerCondition '); indent.addScoped('{', '}', () { indent.write('$varChannelName.setMessageHandler '); - final String messageVarName = parameters.isNotEmpty ? 'message' : '_'; + final messageVarName = parameters.isNotEmpty ? 'message' : '_'; indent.addScoped('{ $messageVarName, reply in', '}', () { - final List methodArgument = []; + final methodArgument = []; if (components.arguments.isNotEmpty) { indent.writeln('let args = message as! [Any?]'); enumerate(components.arguments, ( @@ -1837,10 +1829,10 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has _SwiftFunctionArgument arg, ) { final String argName = _getSafeArgumentName(index, arg.namedType); - final String argIndex = 'args[$index]'; + final argIndex = 'args[$index]'; final String fieldType = _swiftTypeForDartType(arg.type); // There is a swift bug with unwrapping maps of nullable Enums; - final String enumMapForceUnwrap = + final enumMapForceUnwrap = arg.type.baseName == 'Map' && arg.type.typeArguments.any( (TypeDeclaration type) => type.isEnum, @@ -1865,12 +1857,12 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has } }); } - final String tryStatement = isAsynchronous ? '' : 'try '; + final tryStatement = isAsynchronous ? '' : 'try '; late final String call; if (onCreateCall == null) { // Empty parens are not required when calling a method whose only // argument is a trailing closure. - final String argumentString = methodArgument.isEmpty && isAsynchronous + final argumentString = methodArgument.isEmpty && isAsynchronous ? '' : '(${methodArgument.join(', ')})'; call = '${tryStatement}api.${components.name}$argumentString'; @@ -1878,10 +1870,8 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has call = onCreateCall(methodArgument, apiVarName: 'api'); } if (isAsynchronous) { - final String resultName = returnType.isVoid ? 'nil' : 'res'; - final String successVariableInit = returnType.isVoid - ? '' - : '(let res)'; + final resultName = returnType.isVoid ? 'nil' : 'res'; + final successVariableInit = returnType.isVoid ? '' : '(let res)'; indent.write('$call '); indent.addScoped('{ result in', '}', () { @@ -1924,11 +1914,11 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has required InternalSwiftOptions generatorOptions, required Iterable allProxyApis, }) { - final String delegateName = + final delegateName = '${generatorOptions.fileSpecificClassNameComponent ?? ''}${proxyApiClassNamePrefix}ProxyApiDelegate'; indent.writeScoped('protocol $delegateName {', '}', () { - for (final AstProxyApi api in allProxyApis) { - final String hostApiName = '$hostProxyApiPrefix${api.name}'; + for (final api in allProxyApis) { + final hostApiName = '$hostProxyApiPrefix${api.name}'; addDocumentationComments(indent, [ ' An implementation of [$hostApiName] used to add a new Dart instance of', ' `${api.name}` to the Dart `InstanceManager` and make calls to Dart.', @@ -1947,9 +1937,9 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has .where((AstProxyApi api) => !api.hasMethodsRequiringImplementation()); if (apisThatCanHaveADefaultImpl.isNotEmpty) { indent.writeScoped('extension $delegateName {', '}', () { - for (final AstProxyApi api in apisThatCanHaveADefaultImpl) { - final String hostApiName = '$hostProxyApiPrefix${api.name}'; - final String swiftApiDelegateName = + for (final api in apisThatCanHaveADefaultImpl) { + final hostApiName = '$hostProxyApiPrefix${api.name}'; + final swiftApiDelegateName = '${hostProxyApiPrefix}Delegate${api.name}'; indent.format(''' func pigeonApi${api.name}(_ registrar: ${proxyApiRegistrarName(generatorOptions)}) -> $hostApiName { @@ -1960,7 +1950,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has indent.newln(); } - final String instanceManagerApiName = + final instanceManagerApiName = '${swiftInstanceManagerClassName(generatorOptions)}Api'; indent.writeScoped( @@ -2019,7 +2009,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has indent.writeln( '$instanceManagerApiName.setUpMessageHandlers(binaryMessenger: binaryMessenger, instanceManager: instanceManager)', ); - for (final AstProxyApi api in allProxyApis) { + for (final api in allProxyApis) { if (api.hasAnyHostMessageCalls()) { indent.writeln( '$hostProxyApiPrefix${api.name}.setUpMessageHandlers(binaryMessenger: binaryMessenger, api: apiDelegate.pigeonApi${api.name}(self))', @@ -2032,7 +2022,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has indent.writeln( '$instanceManagerApiName.setUpMessageHandlers(binaryMessenger: binaryMessenger, instanceManager: nil)', ); - for (final AstProxyApi api in allProxyApis) { + for (final api in allProxyApis) { if (api.hasAnyHostMessageCalls()) { indent.writeln( '$hostProxyApiPrefix${api.name}.setUpMessageHandlers(binaryMessenger: binaryMessenger, api: nil)', @@ -2052,7 +2042,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has required TypeDeclaration apiAsTypeDeclaration, }) { for (final Constructor constructor in api.constructors) { - final List allReferencedTypes = [ + final allReferencedTypes = [ apiAsTypeDeclaration, ...api.unattachedFields.map((ApiField field) => field.type), ...constructor.parameters.map((Parameter parameter) => parameter.type), @@ -2113,7 +2103,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has required TypeDeclaration apiAsTypeDeclaration, }) { for (final ApiField field in api.attachedFields) { - final List allReferencedTypes = [ + final allReferencedTypes = [ apiAsTypeDeclaration, field.type, ]; @@ -2169,7 +2159,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has required TypeDeclaration apiAsTypeDeclaration, }) { for (final ApiField field in api.unattachedFields) { - final List allReferencedTypes = [ + final allReferencedTypes = [ apiAsTypeDeclaration, field.type, ]; @@ -2225,7 +2215,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has required TypeDeclaration apiAsTypeDeclaration, }) { for (final Method method in api.hostMethods) { - final List allReferencedTypes = [ + final allReferencedTypes = [ if (!method.isStatic) apiAsTypeDeclaration, method.returnType, ...method.parameters.map((Parameter p) => p.type), @@ -2281,11 +2271,11 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has // // These are used for inherited Flutter methods. void _writeProxyApiInheritedApiMethods(Indent indent, AstProxyApi api) { - final Set inheritedApiNames = { + final inheritedApiNames = { if (api.superClass != null) api.superClass!.baseName, ...api.interfaces.map((TypeDeclaration type) => type.baseName), }; - for (final String name in inheritedApiNames) { + for (final name in inheritedApiNames) { addDocumentationComments(indent, [ 'An implementation of [$name] used to access callback methods', ], _docCommentSpec); @@ -2345,7 +2335,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has addTrailingNewline: false, ); indent.writeScoped(' else {', '}', () { - final String varChannelName = '${methodName}Channel'; + final varChannelName = '${methodName}Channel'; indent.format(''' let $varChannelName = FlutterBasicMessageChannel( name: "$channelName", @@ -2402,7 +2392,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has List methodParameters, { required String apiVarName, }) { - final List parameters = [ + final parameters = [ 'pigeonApi: $apiVarName', // Skip the identifier used by the InstanceManager. ...methodParameters.skip(1), @@ -2452,7 +2442,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has List methodParameters, { required String apiVarName, }) { - final String instanceArg = field.isStatic + final instanceArg = field.isStatic ? '' : ', pigeonInstance: pigeonInstanceArg'; return '$apiVarName.pigeonRegistrar.instanceManager.addDartCreatedInstance(' @@ -2505,10 +2495,8 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has List methodParameters, { required String apiVarName, }) { - final String tryStatement = method.isAsynchronous - ? '' - : 'try '; - final List parameters = [ + final tryStatement = method.isAsynchronous ? '' : 'try '; + final parameters = [ 'pigeonApi: $apiVarName', // Skip the identifier used by the InstanceManager. ...methodParameters, @@ -2541,7 +2529,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has required String newInstanceMethodName, required String dartPackageName, }) { - final List allReferencedTypes = [ + final allReferencedTypes = [ apiAsTypeDeclaration, ...api.unattachedFields.map((ApiField field) => field.type), ]; @@ -2655,7 +2643,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has bool writeBody = true, }) { for (final Method method in api.flutterMethods) { - final List allReferencedTypes = [ + final allReferencedTypes = [ apiAsTypeDeclaration, ...method.parameters.map((Parameter parameter) => parameter.type), method.returnType, @@ -2764,9 +2752,8 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has } void _writeProxyApiImports(Indent indent, Iterable apis) { - final Map> apisOfImports = - >{}; - for (final AstProxyApi proxyApi in apis) { + final apisOfImports = >{}; + for (final proxyApi in apis) { final String? import = proxyApi.swiftOptions?.import; if (import != null) { if (apisOfImports.containsKey(import)) { @@ -2780,7 +2767,7 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has for (final String import in apisOfImports.keys) { // If every ProxyApi that shares an import excludes a platform for // support, surround the import with `#if !os(...) #endif`. - final List unsupportedPlatforms = [ + final unsupportedPlatforms = [ if (!apisOfImports[import]!.any( (AstProxyApi api) => api.swiftOptions?.supportsIos ?? true, )) @@ -2846,7 +2833,7 @@ String? _tryGetAvailabilityAnnotation(Iterable types) { final ({_VersionRequirement? ios, _VersionRequirement? macos}) versionRequirement = _findHighestVersionRequirement(types); - final List apis = [ + final apis = [ if (versionRequirement.ios != null) 'iOS ${versionRequirement.ios!.version}', if (versionRequirement.macos != null) @@ -2876,7 +2863,7 @@ String? _tryGetUnsupportedPlatformsCondition(Iterable types) { addAllRecursive, ); - final List unsupportedPlatforms = [ + final unsupportedPlatforms = [ if (!allReferencedTypes.every((TypeDeclaration type) { return type.associatedProxyApi?.swiftOptions?.supportsIos ?? true; })) @@ -2954,7 +2941,7 @@ String? _swiftTypeForBuiltinDartType( TypeDeclaration type, { bool mapKey = false, }) { - const Map swiftTypeForDartTypeMap = { + const swiftTypeForDartTypeMap = { 'void': 'Void', 'bool': 'Bool', 'String': 'String', @@ -2997,7 +2984,7 @@ String _nullSafeSwiftTypeForDartType( TypeDeclaration type, { bool mapKey = false, }) { - final String nullSafe = type.isNullable ? '?' : ''; + final nullSafe = type.isNullable ? '?' : ''; return '${_swiftTypeForDartType(type, mapKey: mapKey)}$nullSafe'; } @@ -3011,7 +2998,7 @@ String _getMethodSignature({ String Function(int index, NamedType argument) getParameterName = _getArgumentName, }) { - final _SwiftFunctionComponents components = _SwiftFunctionComponents( + final components = _SwiftFunctionComponents( name: name, parameters: parameters, returnType: returnType, @@ -3105,7 +3092,7 @@ class _SwiftFunctionComponents { } final String argsExtractor = repeat(r'(\w+):', parameters.length).join(); - final RegExp signatureRegex = RegExp(r'(\w+) *\(' + argsExtractor + r'\)'); + final signatureRegex = RegExp(r'(\w+) *\(' + argsExtractor + r'\)'); final RegExpMatch match = signatureRegex.firstMatch(swiftFunction)!; final Iterable labels = match diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/integration_tests.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/integration_tests.dart index 416a524673c..aedbf2da164 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/integration_tests.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/integration_tests.dart @@ -47,7 +47,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { group('Host sync API tests', () { testWidgets('basic void->void call works', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(api.noop(), completes); }); @@ -55,7 +55,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('all datatypes serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllTypes echoObject = await api.echoAllTypes(genericAllTypes); expect(echoObject, genericAllTypes); @@ -64,7 +64,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('all nullable datatypes serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypes? echoObject = await api.echoAllNullableTypes( recursiveAllNullableTypes, @@ -76,9 +76,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('all null datatypes serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypes allTypesNull = AllNullableTypes(); + final allTypesNull = AllNullableTypes(); final AllNullableTypes? echoNullFilledClass = await api .echoAllNullableTypes(allTypesNull); @@ -88,11 +88,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Classes with list of null serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypes listTypes = AllNullableTypes( - list: ['String', null], - ); + final listTypes = AllNullableTypes(list: ['String', null]); final AllNullableTypes? echoNullFilledClass = await api .echoAllNullableTypes(listTypes); @@ -104,9 +102,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Classes with map of null serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypes listTypes = AllNullableTypes( + final listTypes = AllNullableTypes( map: {'String': 'string', 'null': null}, ); @@ -120,7 +118,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'all nullable datatypes without recursion serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypesWithoutRecursion? echoObject = await api .echoAllNullableTypesWithoutRecursion( @@ -134,10 +132,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'all null datatypes without recursion serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypesWithoutRecursion allTypesNull = - AllNullableTypesWithoutRecursion(); + final allTypesNull = AllNullableTypesWithoutRecursion(); final AllNullableTypesWithoutRecursion? echoNullFilledClass = await api .echoAllNullableTypesWithoutRecursion(allTypesNull); @@ -148,10 +145,11 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Classes without recursion with list of null serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypesWithoutRecursion listTypes = - AllNullableTypesWithoutRecursion(list: ['String', null]); + final listTypes = AllNullableTypesWithoutRecursion( + list: ['String', null], + ); final AllNullableTypesWithoutRecursion? echoNullFilledClass = await api .echoAllNullableTypesWithoutRecursion(listTypes); @@ -163,12 +161,11 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Classes without recursion with map of null serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypesWithoutRecursion listTypes = - AllNullableTypesWithoutRecursion( - map: {'String': 'string', 'null': null}, - ); + final listTypes = AllNullableTypesWithoutRecursion( + map: {'String': 'string', 'null': null}, + ); final AllNullableTypesWithoutRecursion? echoNullFilledClass = await api .echoAllNullableTypesWithoutRecursion(listTypes); @@ -178,7 +175,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { ); testWidgets('errors are returned correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(() async { await api.throwError(); @@ -188,7 +185,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('errors are returned from void methods correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(() async { await api.throwErrorFromVoid(); @@ -198,7 +195,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('flutter errors are returned correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect( () => api.throwFlutterError(), @@ -213,7 +210,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('nested objects can be sent correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllClassesWrapper classWrapper = classWrapperMaker(); final String? receivedString = await api.extractNestedNullableString( classWrapper, @@ -224,9 +221,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nested objects can be received correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const String sentString = 'Some string'; + const sentString = 'Some string'; final AllClassesWrapper receivedObject = await api .createNestedNullableString(sentString); expect(receivedObject.allNullableTypes.aNullableString, sentString); @@ -235,7 +232,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nested classes can serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllClassesWrapper classWrapper = classWrapperMaker(); final AllClassesWrapper receivedClassWrapper = await api.echoClassWrapper( @@ -247,7 +244,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nested null classes can serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllClassesWrapper classWrapper = classWrapperMaker(); classWrapper.allTypes = null; @@ -261,9 +258,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple types serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String aNullableString = 'this is a String'; - const bool aNullableBool = false; + final api = HostIntegrationCoreApi(); + const aNullableString = 'this is a String'; + const aNullableBool = false; const int aNullableInt = regularInt; final AllNullableTypes echoObject = await api.sendMultipleNullableTypes( @@ -280,7 +277,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple null types serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypes echoNullFilledClass = await api .sendMultipleNullableTypes(null, null, null); @@ -293,9 +290,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple types serialize and deserialize correctly (WithoutRecursion)', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String aNullableString = 'this is a String'; - const bool aNullableBool = false; + final api = HostIntegrationCoreApi(); + const aNullableString = 'this is a String'; + const aNullableBool = false; const int aNullableInt = regularInt; final AllNullableTypesWithoutRecursion echoObject = await api @@ -313,7 +310,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple null types serialize and deserialize correctly (WithoutRecursion)', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypesWithoutRecursion echoNullFilledClass = await api .sendMultipleNullableTypesWithoutRecursion(null, null, null); @@ -326,7 +323,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Int serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = regularInt; final int receivedInt = await api.echoInt(sentInt); expect(receivedInt, sentInt); @@ -335,7 +332,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Int64 serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = biggerThanBigInt; final int receivedInt = await api.echoInt(sentInt); @@ -345,9 +342,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Doubles serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const double sentDouble = 2.0694; + const sentDouble = 2.0694; final double receivedDouble = await api.echoDouble(sentDouble); expect(receivedDouble, sentDouble); }); @@ -355,9 +352,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('booleans serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - for (final bool sentBool in [true, false]) { + for (final sentBool in [true, false]) { final bool receivedBool = await api.echoBool(sentBool); expect(receivedBool, sentBool); } @@ -366,8 +363,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('strings serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String sentString = 'default'; + final api = HostIntegrationCoreApi(); + const sentString = 'default'; final String receivedString = await api.echoString(sentString); expect(receivedString, sentString); }); @@ -375,20 +372,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Uint8List serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - final List data = [ - 102, - 111, - 114, - 116, - 121, - 45, - 116, - 119, - 111, - 0, - ]; - final Uint8List sentUint8List = Uint8List.fromList(data); + final api = HostIntegrationCoreApi(); + final data = [102, 111, 114, 116, 121, 45, 116, 119, 111, 0]; + final sentUint8List = Uint8List.fromList(data); final Uint8List receivedUint8List = await api.echoUint8List( sentUint8List, ); @@ -398,7 +384,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('generic Objects serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const Object sentString = "I'm a computer"; final Object receivedString = await api.echoObject(sentString); expect(receivedString, sentString); @@ -412,7 +398,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoList(list); expect(listEquals(echoObject, list), true); @@ -421,7 +407,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoEnumList(enumList); expect(listEquals(echoObject, enumList), true); @@ -430,7 +416,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('class lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoClassList( allNullableTypesList, @@ -443,7 +429,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoNonNullEnumList( nonNullEnumList, @@ -454,7 +440,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull class lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoNonNullClassList( nonNullAllNullableTypesList, @@ -467,7 +453,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoMap(map); expect(mapEquals(echoObject, map), true); }); @@ -475,7 +461,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoStringMap( stringMap, ); @@ -485,7 +471,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoIntMap(intMap); expect(mapEquals(echoObject, intMap), true); }); @@ -493,7 +479,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoEnumMap(enumMap); expect(mapEquals(echoObject, enumMap), true); }); @@ -501,7 +487,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoClassMap( allNullableTypesMap, ); @@ -514,7 +500,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoNonNullStringMap( nonNullStringMap, ); @@ -524,7 +510,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoNonNullIntMap( nonNullIntMap, ); @@ -534,7 +520,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoNonNullEnumMap( nonNullEnumMap, ); @@ -544,7 +530,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api .echoNonNullClassMap(nonNullAllNullableTypesMap); for (final MapEntry entry in echoObject.entries) { @@ -555,7 +541,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.two; final AnEnum receivedEnum = await api.echoEnum(sentEnum); @@ -565,7 +551,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum sentEnum = AnotherEnum.justInCase; final AnotherEnum receivedEnum = await api.echoAnotherEnum(sentEnum); @@ -575,7 +561,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('multi word enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.fortyTwo; final AnEnum receivedEnum = await api.echoEnum(sentEnum); @@ -583,7 +569,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('required named parameter', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); // This number corresponds with the default value of this method. const int sentInt = regularInt; final int receivedInt = await api.echoRequiredInt(anInt: sentInt); @@ -591,18 +577,18 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('optional default parameter no arg', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); // This number corresponds with the default value of this method. - const double sentDouble = 3.14; + const sentDouble = 3.14; final double receivedDouble = await api.echoOptionalDefaultDouble(); expect(receivedDouble, sentDouble); }); testWidgets('optional default parameter with arg', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const double sentDouble = 3.15; + const sentDouble = 3.15; final double receivedDouble = await api.echoOptionalDefaultDouble( sentDouble, ); @@ -610,17 +596,17 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('named default parameter no arg', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); // This string corresponds with the default value of this method. - const String sentString = 'default'; + const sentString = 'default'; final String receivedString = await api.echoNamedDefaultString(); expect(receivedString, sentString); }); testWidgets('named default parameter with arg', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); // This string corresponds with the default value of this method. - const String sentString = 'notDefault'; + const sentString = 'notDefault'; final String receivedString = await api.echoNamedDefaultString( aString: sentString, ); @@ -630,7 +616,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Nullable Int serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = regularInt; final int? receivedInt = await api.echoNullableInt(sentInt); @@ -640,7 +626,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Nullable Int64 serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = biggerThanBigInt; final int? receivedInt = await api.echoNullableInt(sentInt); @@ -650,7 +636,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Null Ints serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final int? receivedNullInt = await api.echoNullableInt(null); expect(receivedNullInt, null); @@ -659,9 +645,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Nullable Doubles serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const double sentDouble = 2.0694; + const sentDouble = 2.0694; final double? receivedDouble = await api.echoNullableDouble(sentDouble); expect(receivedDouble, sentDouble); }); @@ -669,7 +655,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Null Doubles serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final double? receivedNullDouble = await api.echoNullableDouble(null); expect(receivedNullDouble, null); @@ -678,9 +664,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Nullable booleans serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - for (final bool? sentBool in [true, false]) { + for (final sentBool in [true, false]) { final bool? receivedBool = await api.echoNullableBool(sentBool); expect(receivedBool, sentBool); } @@ -689,7 +675,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Null booleans serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const bool? sentBool = null; final bool? receivedBool = await api.echoNullableBool(sentBool); @@ -699,8 +685,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Nullable strings serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String sentString = "I'm a computer"; + final api = HostIntegrationCoreApi(); + const sentString = "I'm a computer"; final String? receivedString = await api.echoNullableString(sentString); expect(receivedString, sentString); }); @@ -708,7 +694,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Null strings serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final String? receivedNullString = await api.echoNullableString(null); expect(receivedNullString, null); @@ -717,20 +703,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Nullable Uint8List serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - final List data = [ - 102, - 111, - 114, - 116, - 121, - 45, - 116, - 119, - 111, - 0, - ]; - final Uint8List sentUint8List = Uint8List.fromList(data); + final api = HostIntegrationCoreApi(); + final data = [102, 111, 114, 116, 121, 45, 116, 119, 111, 0]; + final sentUint8List = Uint8List.fromList(data); final Uint8List? receivedUint8List = await api.echoNullableUint8List( sentUint8List, ); @@ -740,7 +715,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Null Uint8List serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Uint8List? receivedNullUint8List = await api.echoNullableUint8List( null, @@ -751,7 +726,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'generic nullable Objects serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const Object sentString = "I'm a computer"; final Object? receivedString = await api.echoNullableObject(sentString); expect(receivedString, sentString); @@ -766,7 +741,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Null generic Objects serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Object? receivedNullObject = await api.echoNullableObject(null); expect(receivedNullObject, null); @@ -775,7 +750,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.echoNullableList(list); expect(listEquals(echoObject, list), true); @@ -784,7 +759,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.echoNullableEnumList( enumList, @@ -795,7 +770,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api .echoNullableClassList(allNullableTypesList); @@ -807,7 +782,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull enum lists serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.echoNullableNonNullEnumList( nonNullEnumList, @@ -819,7 +794,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable NonNull lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api .echoNullableClassList(nonNullAllNullableTypesList); @@ -831,7 +806,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableMap(map); expect(mapEquals(echoObject, map), true); }); @@ -839,7 +814,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableStringMap( stringMap, ); @@ -849,7 +824,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableIntMap(intMap); expect(mapEquals(echoObject, intMap), true); }); @@ -857,7 +832,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableEnumMap( enumMap, ); @@ -867,7 +842,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoNullableClassMap(allNullableTypesMap); for (final MapEntry entry @@ -879,7 +854,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull string maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoNullableNonNullStringMap(nonNullStringMap); expect(mapEquals(echoObject, nonNullStringMap), true); @@ -889,7 +864,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull int maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableNonNullIntMap( nonNullIntMap, ); @@ -900,7 +875,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull enum maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoNullableNonNullEnumMap(nonNullEnumMap); expect(mapEquals(echoObject, nonNullEnumMap), true); @@ -910,7 +885,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull class maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoNullableNonNullClassMap(nonNullAllNullableTypesMap); for (final MapEntry entry @@ -923,7 +898,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.three; final AnEnum? echoEnum = await api.echoNullableEnum(sentEnum); @@ -933,7 +908,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum sentEnum = AnotherEnum.justInCase; final AnotherEnum? echoEnum = await api.echoAnotherNullableEnum(sentEnum); @@ -943,7 +918,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'multi word nullable enums serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.fourHundredTwentyTwo; final AnEnum? echoEnum = await api.echoNullableEnum(sentEnum); @@ -954,7 +929,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.echoNullableList(null); expect(listEquals(echoObject, null), true); @@ -963,7 +938,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableMap(null); expect(mapEquals(echoObject, null), true); @@ -972,7 +947,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableStringMap( null, @@ -983,7 +958,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoNullableIntMap(null); expect(mapEquals(echoObject, null), true); @@ -992,7 +967,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum? sentEnum = null; final AnEnum? echoEnum = await api.echoNullableEnum(sentEnum); @@ -1002,7 +977,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum? sentEnum = null; final AnotherEnum? echoEnum = await api.echoAnotherNullableEnum(sentEnum); @@ -1012,7 +987,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null classes serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypes? echoObject = await api.echoAllNullableTypes(null); @@ -1020,7 +995,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('optional nullable parameter', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = regularInt; final int? receivedInt = await api.echoOptionalNullableInt(sentInt); @@ -1028,15 +1003,15 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('Null optional nullable parameter', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final int? receivedNullInt = await api.echoOptionalNullableInt(); expect(receivedNullInt, null); }); testWidgets('named nullable parameter', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String sentString = "I'm a computer"; + final api = HostIntegrationCoreApi(); + const sentString = "I'm a computer"; final String? receivedString = await api.echoNamedNullableString( aNullableString: sentString, ); @@ -1044,7 +1019,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('Null named nullable parameter', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final String? receivedNullString = await api.echoNamedNullableString(); expect(receivedNullString, null); @@ -1053,7 +1028,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { group('Host async API tests', () { testWidgets('basic void->void call works', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(api.noopAsync(), completes); }); @@ -1061,7 +1036,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('async errors are returned from non void methods correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(() async { await api.throwAsyncError(); @@ -1071,7 +1046,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('async errors are returned from void methods correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(() async { await api.throwAsyncErrorFromVoid(); @@ -1081,7 +1056,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'async flutter errors are returned from non void methods correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect( () => api.throwAsyncFlutterError(), @@ -1099,7 +1074,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('all datatypes async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllTypes echoObject = await api.echoAsyncAllTypes(genericAllTypes); @@ -1109,7 +1084,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'all nullable async datatypes serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypes? echoObject = await api .echoAsyncNullableAllNullableTypes(recursiveAllNullableTypes); @@ -1121,9 +1096,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'all null datatypes async serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypes allTypesNull = AllNullableTypes(); + final allTypesNull = AllNullableTypes(); final AllNullableTypes? echoNullFilledClass = await api .echoAsyncNullableAllNullableTypes(allTypesNull); @@ -1134,7 +1109,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'all nullable async datatypes without recursion serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypesWithoutRecursion? echoObject = await api .echoAsyncNullableAllNullableTypesWithoutRecursion( @@ -1148,10 +1123,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'all null datatypes without recursion async serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final AllNullableTypesWithoutRecursion allTypesNull = - AllNullableTypesWithoutRecursion(); + final allTypesNull = AllNullableTypesWithoutRecursion(); final AllNullableTypesWithoutRecursion? echoNullFilledClass = await api .echoAsyncNullableAllNullableTypesWithoutRecursion(allTypesNull); @@ -1162,7 +1136,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Int async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = regularInt; final int receivedInt = await api.echoAsyncInt(sentInt); @@ -1172,7 +1146,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Int64 async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = biggerThanBigInt; final int receivedInt = await api.echoAsyncInt(sentInt); @@ -1182,9 +1156,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Doubles async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const double sentDouble = 2.0694; + const sentDouble = 2.0694; final double receivedDouble = await api.echoAsyncDouble(sentDouble); expect(receivedDouble, sentDouble); }); @@ -1192,9 +1166,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('booleans async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - for (final bool sentBool in [true, false]) { + for (final sentBool in [true, false]) { final bool receivedBool = await api.echoAsyncBool(sentBool); expect(receivedBool, sentBool); } @@ -1203,9 +1177,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('strings async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const String sentObject = 'Hello, asynchronously!'; + const sentObject = 'Hello, asynchronously!'; final String echoObject = await api.echoAsyncString(sentObject); expect(echoObject, sentObject); @@ -1214,20 +1188,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Uint8List async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - final List data = [ - 102, - 111, - 114, - 116, - 121, - 45, - 116, - 119, - 111, - 0, - ]; - final Uint8List sentUint8List = Uint8List.fromList(data); + final api = HostIntegrationCoreApi(); + final data = [102, 111, 114, 116, 121, 45, 116, 119, 111, 0]; + final sentUint8List = Uint8List.fromList(data); final Uint8List receivedUint8List = await api.echoAsyncUint8List( sentUint8List, ); @@ -1237,7 +1200,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('generic Objects async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const Object sentString = "I'm a computer"; final Object receivedString = await api.echoAsyncObject(sentString); expect(receivedString, sentString); @@ -1251,7 +1214,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoAsyncList(list); expect(listEquals(echoObject, list), true); @@ -1260,7 +1223,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoAsyncEnumList(enumList); expect(listEquals(echoObject, enumList), true); @@ -1269,7 +1232,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('class lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.echoAsyncClassList( allNullableTypesList, @@ -1282,7 +1245,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoAsyncMap(map); expect(mapEquals(echoObject, map), true); }); @@ -1290,7 +1253,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoAsyncStringMap( stringMap, ); @@ -1300,7 +1263,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoAsyncIntMap(intMap); expect(mapEquals(echoObject, intMap), true); }); @@ -1308,7 +1271,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.echoAsyncEnumMap( enumMap, ); @@ -1318,7 +1281,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api .echoAsyncClassMap(allNullableTypesMap); for (final MapEntry entry @@ -1330,7 +1293,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.three; final AnEnum echoEnum = await api.echoAsyncEnum(sentEnum); @@ -1340,7 +1303,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum sentEnum = AnotherEnum.justInCase; final AnotherEnum echoEnum = await api.echoAnotherAsyncEnum(sentEnum); @@ -1350,7 +1313,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('multi word enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.fourHundredTwentyTwo; final AnEnum echoEnum = await api.echoAsyncEnum(sentEnum); @@ -1360,7 +1323,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable Int async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = regularInt; final int? receivedInt = await api.echoAsyncNullableInt(sentInt); @@ -1370,7 +1333,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable Int64 async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentInt = biggerThanBigInt; final int? receivedInt = await api.echoAsyncNullableInt(sentInt); @@ -1380,9 +1343,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable Doubles async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const double sentDouble = 2.0694; + const sentDouble = 2.0694; final double? receivedDouble = await api.echoAsyncNullableDouble( sentDouble, ); @@ -1392,9 +1355,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable booleans async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - for (final bool sentBool in [true, false]) { + for (final sentBool in [true, false]) { final bool? receivedBool = await api.echoAsyncNullableBool(sentBool); expect(receivedBool, sentBool); } @@ -1403,9 +1366,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable strings async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const String sentObject = 'Hello, asynchronously!'; + const sentObject = 'Hello, asynchronously!'; final String? echoObject = await api.echoAsyncNullableString(sentObject); expect(echoObject, sentObject); @@ -1414,20 +1377,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable Uint8List async serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - final List data = [ - 102, - 111, - 114, - 116, - 121, - 45, - 116, - 119, - 111, - 0, - ]; - final Uint8List sentUint8List = Uint8List.fromList(data); + final api = HostIntegrationCoreApi(); + final data = [102, 111, 114, 116, 121, 45, 116, 119, 111, 0]; + final sentUint8List = Uint8List.fromList(data); final Uint8List? receivedUint8List = await api .echoAsyncNullableUint8List(sentUint8List); expect(receivedUint8List, sentUint8List); @@ -1437,7 +1389,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable generic Objects async serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const Object sentString = "I'm a computer"; final Object? receivedString = await api.echoAsyncNullableObject( sentString, @@ -1454,7 +1406,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.echoAsyncNullableList(list); expect(listEquals(echoObject, list), true); @@ -1463,7 +1415,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.echoAsyncNullableEnumList( enumList, @@ -1474,7 +1426,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable class lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api .echoAsyncNullableClassList(allNullableTypesList); @@ -1486,7 +1438,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoAsyncNullableMap( map, ); @@ -1496,7 +1448,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoAsyncNullableStringMap(stringMap); expect(mapEquals(echoObject, stringMap), true); @@ -1505,7 +1457,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoAsyncNullableIntMap( intMap, ); @@ -1515,7 +1467,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoAsyncNullableEnumMap(enumMap); expect(mapEquals(echoObject, enumMap), true); @@ -1524,7 +1476,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoAsyncNullableClassMap(allNullableTypesMap); for (final MapEntry entry @@ -1536,7 +1488,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.three; final AnEnum? echoEnum = await api.echoAsyncNullableEnum(sentEnum); @@ -1546,7 +1498,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum sentEnum = AnotherEnum.justInCase; final AnotherEnum? echoEnum = await api.echoAnotherAsyncNullableEnum( @@ -1558,7 +1510,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.fortyTwo; final AnEnum? echoEnum = await api.echoAsyncNullableEnum(sentEnum); @@ -1568,7 +1520,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null Ints async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final int? receivedInt = await api.echoAsyncNullableInt(null); expect(receivedInt, null); @@ -1577,7 +1529,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null Doubles async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final double? receivedDouble = await api.echoAsyncNullableDouble(null); expect(receivedDouble, null); @@ -1586,7 +1538,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null booleans async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final bool? receivedBool = await api.echoAsyncNullableBool(null); expect(receivedBool, null); @@ -1595,7 +1547,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null strings async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final String? echoObject = await api.echoAsyncNullableString(null); expect(echoObject, null); @@ -1604,7 +1556,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null Uint8List async serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Uint8List? receivedUint8List = await api.echoAsyncNullableUint8List( null, @@ -1615,7 +1567,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'null generic Objects async serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Object? receivedString = await api.echoAsyncNullableObject(null); expect(receivedString, null); }, @@ -1624,7 +1576,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.echoAsyncNullableList(null); expect(listEquals(echoObject, null), true); @@ -1633,7 +1585,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoAsyncNullableMap( null, @@ -1644,7 +1596,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .echoAsyncNullableStringMap(null); @@ -1654,7 +1606,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api.echoAsyncNullableIntMap( null, @@ -1665,7 +1617,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum? sentEnum = null; final AnEnum? echoEnum = await api.echoAsyncNullableEnum(null); @@ -1675,7 +1627,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum? sentEnum = null; final AnotherEnum? echoEnum = await api.echoAnotherAsyncNullableEnum( @@ -1689,13 +1641,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echo string succeeds with suffix with multiple instances', ( _, ) async { - final HostSmallApi apiWithSuffixOne = HostSmallApi( - messageChannelSuffix: 'suffixOne', - ); - final HostSmallApi apiWithSuffixTwo = HostSmallApi( - messageChannelSuffix: 'suffixTwo', - ); - const String sentString = "I'm a computer"; + final apiWithSuffixOne = HostSmallApi(messageChannelSuffix: 'suffixOne'); + final apiWithSuffixTwo = HostSmallApi(messageChannelSuffix: 'suffixTwo'); + const sentString = "I'm a computer"; final String echoStringOne = await apiWithSuffixOne.echo(sentString); final String echoStringTwo = await apiWithSuffixTwo.echo(sentString); expect(sentString, echoStringOne); @@ -1707,13 +1655,13 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { ) async { // The only way to get the channel name back is to throw an exception. // These APIs have no corresponding APIs on the host platforms. - final HostSmallApi apiWithSuffixOne = HostSmallApi( + final apiWithSuffixOne = HostSmallApi( messageChannelSuffix: 'suffixWithNoHost', ); - final HostSmallApi apiWithSuffixTwo = HostSmallApi( + final apiWithSuffixTwo = HostSmallApi( messageChannelSuffix: 'suffixWithoutHost', ); - const String sentString = "I'm a computer"; + const sentString = "I'm a computer"; try { await apiWithSuffixOne.echo(sentString); } on PlatformException catch (e) { @@ -1737,7 +1685,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('basic void->void call works', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(api.callFlutterNoop(), completes); }); @@ -1745,7 +1693,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('errors are returned from non void methods correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(() async { await api.callFlutterThrowError(); @@ -1755,7 +1703,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('errors are returned from void methods correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(() async { await api.callFlutterThrowErrorFromVoid(); @@ -1765,7 +1713,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('all datatypes serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllTypes echoObject = await api.callFlutterEchoAllTypes( genericAllTypes, @@ -1777,9 +1725,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple types serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String aNullableString = 'this is a String'; - const bool aNullableBool = false; + final api = HostIntegrationCoreApi(); + const aNullableString = 'this is a String'; + const aNullableBool = false; const int aNullableInt = regularInt; final AllNullableTypes compositeObject = await api @@ -1797,7 +1745,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple null types serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypes compositeObject = await api .callFlutterSendMultipleNullableTypes(null, null, null); @@ -1810,9 +1758,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple types serialize and deserialize correctly (WithoutRecursion)', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String aNullableString = 'this is a String'; - const bool aNullableBool = false; + final api = HostIntegrationCoreApi(); + const aNullableString = 'this is a String'; + const aNullableBool = false; const int aNullableInt = regularInt; final AllNullableTypesWithoutRecursion compositeObject = await api @@ -1830,7 +1778,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'Arguments of multiple null types serialize and deserialize correctly (WithoutRecursion)', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final AllNullableTypesWithoutRecursion compositeObject = await api .callFlutterSendMultipleNullableTypesWithoutRecursion( @@ -1847,9 +1795,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('booleans serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - for (final bool sentObject in [true, false]) { + for (final sentObject in [true, false]) { final bool echoObject = await api.callFlutterEchoBool(sentObject); expect(echoObject, sentObject); } @@ -1858,7 +1806,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('ints serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentObject = regularInt; final int echoObject = await api.callFlutterEchoInt(sentObject); @@ -1868,9 +1816,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('doubles serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const double sentObject = 2.0694; + const sentObject = 2.0694; final double echoObject = await api.callFlutterEchoDouble(sentObject); expect(echoObject, sentObject); }); @@ -1878,9 +1826,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('strings serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const String sentObject = 'Hello Dart!'; + const sentObject = 'Hello Dart!'; final String echoObject = await api.callFlutterEchoString(sentObject); expect(echoObject, sentObject); }); @@ -1888,21 +1836,10 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('Uint8Lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - final List data = [ - 102, - 111, - 114, - 116, - 121, - 45, - 116, - 119, - 111, - 0, - ]; - final Uint8List sentObject = Uint8List.fromList(data); + final data = [102, 111, 114, 116, 121, 45, 116, 119, 111, 0]; + final sentObject = Uint8List.fromList(data); final Uint8List echoObject = await api.callFlutterEchoUint8List( sentObject, ); @@ -1912,7 +1849,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.callFlutterEchoList(list); expect(listEquals(echoObject, list), true); @@ -1921,7 +1858,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.callFlutterEchoEnumList( enumList, @@ -1932,7 +1869,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('class lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api .callFlutterEchoClassList(allNullableTypesList); @@ -1944,7 +1881,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api.callFlutterEchoNonNullEnumList( nonNullEnumList, @@ -1955,7 +1892,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull class lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List echoObject = await api .callFlutterEchoNonNullClassList(nonNullAllNullableTypesList); @@ -1967,7 +1904,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.callFlutterEchoMap( map, ); @@ -1977,7 +1914,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api .callFlutterEchoStringMap(stringMap); expect(mapEquals(echoObject, stringMap), true); @@ -1986,7 +1923,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.callFlutterEchoIntMap( intMap, ); @@ -1996,7 +1933,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.callFlutterEchoEnumMap( enumMap, ); @@ -2006,7 +1943,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api .callFlutterEchoClassMap(allNullableTypesMap); for (final MapEntry entry @@ -2018,7 +1955,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api .callFlutterEchoNonNullStringMap(nonNullStringMap); expect(mapEquals(echoObject, nonNullStringMap), true); @@ -2027,7 +1964,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api.callFlutterEchoNonNullIntMap( nonNullIntMap, ); @@ -2037,7 +1974,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api .callFlutterEchoNonNullEnumMap(nonNullEnumMap); expect(mapEquals(echoObject, nonNullEnumMap), true); @@ -2046,7 +1983,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('NonNull class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map echoObject = await api .callFlutterEchoNonNullClassMap(nonNullAllNullableTypesMap); for (final MapEntry entry in echoObject.entries) { @@ -2057,7 +1994,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.three; final AnEnum echoEnum = await api.callFlutterEchoEnum(sentEnum); @@ -2067,7 +2004,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum sentEnum = AnotherEnum.justInCase; final AnotherEnum echoEnum = await api.callFlutterEchoAnotherEnum( @@ -2079,7 +2016,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('multi word enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.fortyTwo; final AnEnum echoEnum = await api.callFlutterEchoEnum(sentEnum); @@ -2089,9 +2026,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable booleans serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - for (final bool? sentObject in [true, false]) { + for (final sentObject in [true, false]) { final bool? echoObject = await api.callFlutterEchoNullableBool( sentObject, ); @@ -2102,7 +2039,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null booleans serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const bool? sentObject = null; final bool? echoObject = await api.callFlutterEchoNullableBool( @@ -2114,7 +2051,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable ints serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentObject = regularInt; final int? echoObject = await api.callFlutterEchoNullableInt(sentObject); @@ -2124,7 +2061,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable big ints serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const int sentObject = biggerThanBigInt; final int? echoObject = await api.callFlutterEchoNullableInt(sentObject); @@ -2134,7 +2071,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null ints serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final int? echoObject = await api.callFlutterEchoNullableInt(null); expect(echoObject, null); @@ -2143,9 +2080,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable doubles serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const double sentObject = 2.0694; + const sentObject = 2.0694; final double? echoObject = await api.callFlutterEchoNullableDouble( sentObject, ); @@ -2155,7 +2092,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null doubles serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final double? echoObject = await api.callFlutterEchoNullableDouble(null); expect(echoObject, null); @@ -2164,9 +2101,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable strings serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); - const String sentObject = "I'm a computer"; + const sentObject = "I'm a computer"; final String? echoObject = await api.callFlutterEchoNullableString( sentObject, ); @@ -2176,7 +2113,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null strings serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final String? echoObject = await api.callFlutterEchoNullableString(null); expect(echoObject, null); @@ -2185,20 +2122,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable Uint8Lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - final List data = [ - 102, - 111, - 114, - 116, - 121, - 45, - 116, - 119, - 111, - 0, - ]; - final Uint8List sentObject = Uint8List.fromList(data); + final api = HostIntegrationCoreApi(); + final data = [102, 111, 114, 116, 121, 45, 116, 119, 111, 0]; + final sentObject = Uint8List.fromList(data); final Uint8List? echoObject = await api.callFlutterEchoNullableUint8List( sentObject, ); @@ -2208,7 +2134,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null Uint8Lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Uint8List? echoObject = await api.callFlutterEchoNullableUint8List( null, @@ -2219,7 +2145,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.callFlutterEchoNullableList( list, @@ -2230,7 +2156,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enum lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api .callFlutterEchoNullableEnumList(enumList); @@ -2240,7 +2166,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable class lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api .callFlutterEchoNullableClassList(allNullableTypesList); @@ -2252,7 +2178,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull enum lists serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api .callFlutterEchoNullableNonNullEnumList(nonNullEnumList); @@ -2263,7 +2189,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull class lists serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api .callFlutterEchoNullableNonNullClassList( @@ -2279,7 +2205,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null lists serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final List? echoObject = await api.callFlutterEchoNullableList( null, @@ -2290,7 +2216,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableMap(map); expect(mapEquals(echoObject, map), true); @@ -2299,7 +2225,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableMap(null); @@ -2309,7 +2235,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable string maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableStringMap(stringMap); expect(mapEquals(echoObject, stringMap), true); @@ -2318,7 +2244,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable int maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableIntMap(intMap); expect(mapEquals(echoObject, intMap), true); @@ -2327,7 +2253,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enum maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableEnumMap(enumMap); expect(mapEquals(echoObject, enumMap), true); @@ -2336,7 +2262,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable class maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableClassMap(allNullableTypesMap); for (final MapEntry entry @@ -2348,7 +2274,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull string maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableNonNullStringMap(nonNullStringMap); expect(mapEquals(echoObject, nonNullStringMap), true); @@ -2358,7 +2284,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull int maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableNonNullIntMap(nonNullIntMap); expect(mapEquals(echoObject, nonNullIntMap), true); @@ -2368,7 +2294,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull enum maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableNonNullEnumMap(nonNullEnumMap); expect(mapEquals(echoObject, nonNullEnumMap), true); @@ -2378,7 +2304,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'nullable NonNull class maps serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableNonNullClassMap(nonNullAllNullableTypesMap); for (final MapEntry entry @@ -2391,7 +2317,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null maps serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); final Map? echoObject = await api .callFlutterEchoNullableIntMap(null); @@ -2401,7 +2327,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.three; final AnEnum? echoEnum = await api.callFlutterEchoNullableEnum(sentEnum); @@ -2411,7 +2337,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('nullable enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum sentEnum = AnotherEnum.justInCase; final AnotherEnum? echoEnum = await api @@ -2422,7 +2348,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'multi word nullable enums serialize and deserialize correctly', (WidgetTester _) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum sentEnum = AnEnum.fourHundredTwentyTwo; final AnEnum? echoEnum = await api.callFlutterEchoNullableEnum( @@ -2435,7 +2361,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null enums serialize and deserialize correctly', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnEnum? sentEnum = null; final AnEnum? echoEnum = await api.callFlutterEchoNullableEnum(sentEnum); @@ -2445,7 +2371,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('null enums serialize and deserialize correctly (again)', ( WidgetTester _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); const AnotherEnum? sentEnum = null; final AnotherEnum? echoEnum = await api @@ -2460,7 +2386,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { } testWidgets('named constructor', (_) async { - final ProxyApiTestClass instance = ProxyApiTestClass.namedConstructor( + final instance = ProxyApiTestClass.namedConstructor( aBool: true, anInt: 0, aDouble: 0.0, @@ -2528,35 +2454,35 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echoInt', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const int value = 0; + const value = 0; expect(await api.echoInt(value), value); }); testWidgets('echoDouble', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const double value = 0.0; + const value = 0.0; expect(await api.echoDouble(value), value); }); testWidgets('echoBool', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const bool value = true; + const value = true; expect(await api.echoBool(value), value); }); testWidgets('echoString', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const String value = 'string'; + const value = 'string'; expect(await api.echoString(value), value); }); testWidgets('echoUint8List', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - final Uint8List value = Uint8List(0); + final value = Uint8List(0); expect(await api.echoUint8List(value), value); }); @@ -2577,7 +2503,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echoProxyApiList', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - final List value = [ + final value = [ _createGenericProxyApiTestClass(), _createGenericProxyApiTestClass(), ]; @@ -2587,14 +2513,14 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echoMap', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const Map value = {'apple': 'pie'}; + const value = {'apple': 'pie'}; expect(await api.echoMap(value), value); }); testWidgets('echoProxyApiMap', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - final Map value = { + final value = { '42': _createGenericProxyApiTestClass(), }; expect(await api.echoProxyApiMap(value), value); @@ -2610,7 +2536,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echoProxyApi', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - final ProxyApiSuperClass value = ProxyApiSuperClass(); + final value = ProxyApiSuperClass(); expect(await api.echoProxyApi(value), value); }); @@ -2678,7 +2604,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); expect(await api.echoNullableProxyApi(null), null); - final ProxyApiSuperClass proxyApi = ProxyApiSuperClass(); + final proxyApi = ProxyApiSuperClass(); expect(await api.echoNullableProxyApi(proxyApi), proxyApi); }); @@ -2690,35 +2616,35 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echoAsyncInt', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const int value = 0; + const value = 0; expect(await api.echoAsyncInt(value), value); }); testWidgets('echoAsyncDouble', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const double value = 0.0; + const value = 0.0; expect(await api.echoAsyncDouble(value), value); }); testWidgets('echoAsyncBool', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const bool value = false; + const value = false; expect(await api.echoAsyncBool(value), value); }); testWidgets('echoAsyncString', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const String value = 'ping'; + const value = 'ping'; expect(await api.echoAsyncString(value), value); }); testWidgets('echoAsyncUint8List', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - final Uint8List value = Uint8List(0); + final value = Uint8List(0); expect(await api.echoAsyncUint8List(value), value); }); @@ -2732,16 +2658,14 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echoAsyncList', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - const List value = ['apple', 'pie']; + const value = ['apple', 'pie']; expect(await api.echoAsyncList(value), value); }); testWidgets('echoAsyncMap', (_) async { final ProxyApiTestClass api = _createGenericProxyApiTestClass(); - final Map value = { - 'something': ProxyApiSuperClass(), - }; + final value = {'something': ProxyApiSuperClass()}; expect(await api.echoAsyncMap(value), value); }); @@ -2849,7 +2773,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('echoStaticString', (_) async { - const String value = 'static string'; + const value = 'static string'; expect(await ProxyApiTestClass.echoStaticString(value), value); }); @@ -2858,7 +2782,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('callFlutterNoop', (_) async { - bool called = false; + var called = false; final ProxyApiTestClass api = _createGenericProxyApiTestClass( flutterNoop: (ProxyApiTestClass instance) async { called = true; @@ -2912,7 +2836,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoBool: (_, bool aBool) => aBool, ); - const bool value = true; + const value = true; expect(await api.callFlutterEchoBool(value), value); }); @@ -2921,7 +2845,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoInt: (_, int anInt) => anInt, ); - const int value = 0; + const value = 0; expect(await api.callFlutterEchoInt(value), value); }); @@ -2930,7 +2854,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoDouble: (_, double aDouble) => aDouble, ); - const double value = 0.0; + const value = 0.0; expect(await api.callFlutterEchoDouble(value), value); }); @@ -2939,7 +2863,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoString: (_, String aString) => aString, ); - const String value = 'a string'; + const value = 'a string'; expect(await api.callFlutterEchoString(value), value); }); @@ -2948,7 +2872,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoUint8List: (_, Uint8List aUint8List) => aUint8List, ); - final Uint8List value = Uint8List(0); + final value = Uint8List(0); expect(await api.callFlutterEchoUint8List(value), value); }); @@ -2957,7 +2881,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoList: (_, List aList) => aList, ); - final List value = [0, 0.0, true, ProxyApiSuperClass()]; + final value = [0, 0.0, true, ProxyApiSuperClass()]; expect(await api.callFlutterEchoList(value), value); }); @@ -2977,7 +2901,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoMap: (_, Map aMap) => aMap, ); - final Map value = {'a String': 4}; + final value = {'a String': 4}; expect(await api.callFlutterEchoMap(value), value); }); @@ -2987,10 +2911,9 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { aMap, ); - final Map value = - { - 'a String': _createGenericProxyApiTestClass(), - }; + final value = { + 'a String': _createGenericProxyApiTestClass(), + }; expect(await api.callFlutterEchoProxyApiMap(value), value); }); @@ -3008,7 +2931,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoProxyApi: (_, ProxyApiSuperClass aProxyApi) => aProxyApi, ); - final ProxyApiSuperClass value = ProxyApiSuperClass(); + final value = ProxyApiSuperClass(); expect(await api.callFlutterEchoProxyApi(value), value); }); @@ -3093,12 +3016,12 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { expect(await api.callFlutterEchoNullableProxyApi(null), null); - final ProxyApiSuperClass proxyApi = ProxyApiSuperClass(); + final proxyApi = ProxyApiSuperClass(); expect(await api.callFlutterEchoNullableProxyApi(proxyApi), proxyApi); }); testWidgets('callFlutterNoopAsync', (_) async { - bool called = false; + var called = false; final ProxyApiTestClass api = _createGenericProxyApiTestClass( flutterNoopAsync: (ProxyApiTestClass instance) async { called = true; @@ -3114,7 +3037,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { flutterEchoAsyncString: (_, String aString) async => aString, ); - const String value = 'a string'; + const value = 'a string'; expect(await api.callFlutterEchoAsyncString(value), value); }); }); @@ -3134,8 +3057,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets('echo string succeeds with suffix with multiple instances', ( _, ) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); - const String sentObject = "I'm a computer"; + final api = HostIntegrationCoreApi(); + const sentObject = "I'm a computer"; final String echoObject = await api.callFlutterSmallApiEchoString( sentObject, ); @@ -3144,19 +3067,19 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { }); testWidgets('Unused data class still generate', (_) async { - final UnusedClass unused = UnusedClass(); + final unused = UnusedClass(); expect(unused, unused); }); /// Task queues testWidgets('non-task-queue handlers run on a the main thread', (_) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); expect(await api.defaultIsMainThread(), true); }); testWidgets('task queue handlers run on a background thread', (_) async { - final HostIntegrationCoreApi api = HostIntegrationCoreApi(); + final api = HostIntegrationCoreApi(); // Currently only Android and iOS have task queue support. See // https://github.com/flutter/flutter/issues/93945 // Rather than skip the test, this changes the expectation, so that there @@ -3172,7 +3095,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { /// Event channels - const List eventChannelSupported = [ + const eventChannelSupported = [ TargetGenerator.kotlin, TargetGenerator.swift, ]; @@ -3182,7 +3105,7 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { (_) async { final Stream events = streamInts(); final List listEvents = await events.toList(); - for (final int value in listEvents) { + for (final value in listEvents) { expect(listEvents[value], value); } }, @@ -3192,8 +3115,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'event channel handles extended sealed classes', (_) async { - final Completer completer = Completer(); - int count = 0; + final completer = Completer(); + var count = 0; final Stream events = streamEvents(); events.listen((PlatformEvent event) { switch (event) { @@ -3236,8 +3159,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) { testWidgets( 'event channels handle multiple instances', (_) async { - final Completer completer1 = Completer(); - final Completer completer2 = Completer(); + final completer1 = Completer(); + final completer2 = Completer(); final Stream events1 = streamConsistentNumbers(instanceName: '1'); final Stream events2 = streamConsistentNumbers(instanceName: '2'); diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/background_platform_channels.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/background_platform_channels.gen.dart index 5f82202deb1..d6e49a4b33b 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/background_platform_channels.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/background_platform_channels.gen.dart @@ -58,21 +58,19 @@ class BackgroundApi2Host { final String pigeonVar_messageChannelSuffix; Future add(int x, int y) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.BackgroundApi2Host.add$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [ [x, y], ], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/core_tests.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/core_tests.gen.dart index d7b4d841b24..89ec15910dd 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/core_tests.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/core_tests.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -806,10 +806,10 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : AnEnum.values[value]; case 130: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : AnotherEnum.values[value]; case 131: return UnusedClass.decode(readValue(buffer)!); @@ -851,17 +851,15 @@ class HostIntegrationCoreApi { /// A no-op function taking no arguments and returning no value, to sanity /// test basic calling. Future noop() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.noop$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -877,19 +875,17 @@ class HostIntegrationCoreApi { /// Returns the passed object, to test serialization and deserialization. Future echoAllTypes(AllTypes everything) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAllTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -910,17 +906,15 @@ class HostIntegrationCoreApi { /// Returns an error, to test error handling. Future throwError() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.throwError$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -936,17 +930,15 @@ class HostIntegrationCoreApi { /// Returns an error from a void function, to test error handling. Future throwErrorFromVoid() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.throwErrorFromVoid$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -962,17 +954,15 @@ class HostIntegrationCoreApi { /// Returns a Flutter error, to test error handling. Future throwFlutterError() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.throwFlutterError$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -988,19 +978,17 @@ class HostIntegrationCoreApi { /// Returns passed in int. Future echoInt(int anInt) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1021,19 +1009,17 @@ class HostIntegrationCoreApi { /// Returns passed in double. Future echoDouble(double aDouble) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1054,19 +1040,17 @@ class HostIntegrationCoreApi { /// Returns the passed in boolean. Future echoBool(bool aBool) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoBool$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1087,19 +1071,17 @@ class HostIntegrationCoreApi { /// Returns the passed in string. Future echoString(String aString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1120,19 +1102,17 @@ class HostIntegrationCoreApi { /// Returns the passed in Uint8List. Future echoUint8List(Uint8List aUint8List) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoUint8List$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1153,19 +1133,17 @@ class HostIntegrationCoreApi { /// Returns the passed in generic Object. Future echoObject(Object anObject) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoObject$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1186,19 +1164,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test serialization and deserialization. Future> echoList(List list) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [list], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1219,19 +1195,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test serialization and deserialization. Future> echoEnumList(List enumList) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1254,19 +1228,17 @@ class HostIntegrationCoreApi { Future> echoClassList( List classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1288,19 +1260,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test serialization and deserialization. Future> echoNonNullEnumList(List enumList) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNonNullEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1323,19 +1293,17 @@ class HostIntegrationCoreApi { Future> echoNonNullClassList( List classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNonNullClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1357,19 +1325,17 @@ class HostIntegrationCoreApi { /// Returns the passed map, to test serialization and deserialization. Future> echoMap(Map map) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [map], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1393,19 +1359,17 @@ class HostIntegrationCoreApi { Future> echoStringMap( Map stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1427,19 +1391,17 @@ class HostIntegrationCoreApi { /// Returns the passed map, to test serialization and deserialization. Future> echoIntMap(Map intMap) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1463,19 +1425,17 @@ class HostIntegrationCoreApi { Future> echoEnumMap( Map enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1499,19 +1459,17 @@ class HostIntegrationCoreApi { Future> echoClassMap( Map classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1535,19 +1493,17 @@ class HostIntegrationCoreApi { Future> echoNonNullStringMap( Map stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNonNullStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1569,19 +1525,17 @@ class HostIntegrationCoreApi { /// Returns the passed map, to test serialization and deserialization. Future> echoNonNullIntMap(Map intMap) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNonNullIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1605,19 +1559,17 @@ class HostIntegrationCoreApi { Future> echoNonNullEnumMap( Map enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNonNullEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1641,19 +1593,17 @@ class HostIntegrationCoreApi { Future> echoNonNullClassMap( Map classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNonNullClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1675,19 +1625,17 @@ class HostIntegrationCoreApi { /// Returns the passed class to test nested class serialization and deserialization. Future echoClassWrapper(AllClassesWrapper wrapper) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoClassWrapper$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [wrapper], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1708,19 +1656,17 @@ class HostIntegrationCoreApi { /// Returns the passed enum to test serialization and deserialization. Future echoEnum(AnEnum anEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1741,19 +1687,17 @@ class HostIntegrationCoreApi { /// Returns the passed enum to test serialization and deserialization. Future echoAnotherEnum(AnotherEnum anotherEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAnotherEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anotherEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1774,19 +1718,17 @@ class HostIntegrationCoreApi { /// Returns the default string. Future echoNamedDefaultString({String aString = 'default'}) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNamedDefaultString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1807,19 +1749,17 @@ class HostIntegrationCoreApi { /// Returns passed in double. Future echoOptionalDefaultDouble([double aDouble = 3.14]) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoOptionalDefaultDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1840,19 +1780,17 @@ class HostIntegrationCoreApi { /// Returns passed in int. Future echoRequiredInt({required int anInt}) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoRequiredInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1875,19 +1813,17 @@ class HostIntegrationCoreApi { Future echoAllNullableTypes( AllNullableTypes? everything, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAllNullableTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1906,19 +1842,17 @@ class HostIntegrationCoreApi { echoAllNullableTypesWithoutRecursion( AllNullableTypesWithoutRecursion? everything, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAllNullableTypesWithoutRecursion$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1935,19 +1869,17 @@ class HostIntegrationCoreApi { /// Returns the inner `aString` value from the wrapped object, to test /// sending of nested objects. Future extractNestedNullableString(AllClassesWrapper wrapper) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.extractNestedNullableString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [wrapper], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1966,19 +1898,17 @@ class HostIntegrationCoreApi { Future createNestedNullableString( String? nullableString, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.createNestedNullableString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [nullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2003,19 +1933,17 @@ class HostIntegrationCoreApi { int? aNullableInt, String? aNullableString, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.sendMultipleNullableTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableBool, aNullableInt, aNullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2041,19 +1969,17 @@ class HostIntegrationCoreApi { int? aNullableInt, String? aNullableString, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.sendMultipleNullableTypesWithoutRecursion$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableBool, aNullableInt, aNullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2074,19 +2000,17 @@ class HostIntegrationCoreApi { /// Returns passed in int. Future echoNullableInt(int? aNullableInt) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2102,19 +2026,17 @@ class HostIntegrationCoreApi { /// Returns passed in double. Future echoNullableDouble(double? aNullableDouble) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2130,19 +2052,17 @@ class HostIntegrationCoreApi { /// Returns the passed in boolean. Future echoNullableBool(bool? aNullableBool) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableBool$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2158,19 +2078,17 @@ class HostIntegrationCoreApi { /// Returns the passed in string. Future echoNullableString(String? aNullableString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2188,19 +2106,17 @@ class HostIntegrationCoreApi { Future echoNullableUint8List( Uint8List? aNullableUint8List, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableUint8List$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2216,19 +2132,17 @@ class HostIntegrationCoreApi { /// Returns the passed in generic Object. Future echoNullableObject(Object? aNullableObject) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableObject$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2244,19 +2158,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test serialization and deserialization. Future?> echoNullableList(List? aNullableList) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2272,19 +2184,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test serialization and deserialization. Future?> echoNullableEnumList(List? enumList) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2302,19 +2212,17 @@ class HostIntegrationCoreApi { Future?> echoNullableClassList( List? classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2333,19 +2241,17 @@ class HostIntegrationCoreApi { Future?> echoNullableNonNullEnumList( List? enumList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableNonNullEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2363,19 +2269,17 @@ class HostIntegrationCoreApi { Future?> echoNullableNonNullClassList( List? classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableNonNullClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2394,19 +2298,17 @@ class HostIntegrationCoreApi { Future?> echoNullableMap( Map? map, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [map], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2425,19 +2327,17 @@ class HostIntegrationCoreApi { Future?> echoNullableStringMap( Map? stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2454,19 +2354,17 @@ class HostIntegrationCoreApi { /// Returns the passed map, to test serialization and deserialization. Future?> echoNullableIntMap(Map? intMap) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2485,19 +2383,17 @@ class HostIntegrationCoreApi { Future?> echoNullableEnumMap( Map? enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2516,19 +2412,17 @@ class HostIntegrationCoreApi { Future?> echoNullableClassMap( Map? classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2547,19 +2441,17 @@ class HostIntegrationCoreApi { Future?> echoNullableNonNullStringMap( Map? stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableNonNullStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2578,19 +2470,17 @@ class HostIntegrationCoreApi { Future?> echoNullableNonNullIntMap( Map? intMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableNonNullIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2609,19 +2499,17 @@ class HostIntegrationCoreApi { Future?> echoNullableNonNullEnumMap( Map? enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableNonNullEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2640,19 +2528,17 @@ class HostIntegrationCoreApi { Future?> echoNullableNonNullClassMap( Map? classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableNonNullClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2668,19 +2554,17 @@ class HostIntegrationCoreApi { } Future echoNullableEnum(AnEnum? anEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNullableEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2695,19 +2579,17 @@ class HostIntegrationCoreApi { } Future echoAnotherNullableEnum(AnotherEnum? anotherEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAnotherNullableEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anotherEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2723,19 +2605,17 @@ class HostIntegrationCoreApi { /// Returns passed in int. Future echoOptionalNullableInt([int? aNullableInt]) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoOptionalNullableInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2751,19 +2631,17 @@ class HostIntegrationCoreApi { /// Returns the passed in string. Future echoNamedNullableString({String? aNullableString}) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoNamedNullableString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2780,17 +2658,15 @@ class HostIntegrationCoreApi { /// A no-op function taking no arguments and returning no value, to sanity /// test basic asynchronous calling. Future noopAsync() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.noopAsync$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2806,19 +2682,17 @@ class HostIntegrationCoreApi { /// Returns passed in int asynchronously. Future echoAsyncInt(int anInt) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2839,19 +2713,17 @@ class HostIntegrationCoreApi { /// Returns passed in double asynchronously. Future echoAsyncDouble(double aDouble) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2872,19 +2744,17 @@ class HostIntegrationCoreApi { /// Returns the passed in boolean asynchronously. Future echoAsyncBool(bool aBool) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncBool$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2905,19 +2775,17 @@ class HostIntegrationCoreApi { /// Returns the passed string asynchronously. Future echoAsyncString(String aString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2938,19 +2806,17 @@ class HostIntegrationCoreApi { /// Returns the passed in Uint8List asynchronously. Future echoAsyncUint8List(Uint8List aUint8List) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncUint8List$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2971,19 +2837,17 @@ class HostIntegrationCoreApi { /// Returns the passed in generic Object asynchronously. Future echoAsyncObject(Object anObject) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncObject$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3004,19 +2868,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test asynchronous serialization and deserialization. Future> echoAsyncList(List list) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [list], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3037,19 +2899,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test asynchronous serialization and deserialization. Future> echoAsyncEnumList(List enumList) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3072,19 +2932,17 @@ class HostIntegrationCoreApi { Future> echoAsyncClassList( List classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3106,19 +2964,17 @@ class HostIntegrationCoreApi { /// Returns the passed map, to test asynchronous serialization and deserialization. Future> echoAsyncMap(Map map) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [map], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3142,19 +2998,17 @@ class HostIntegrationCoreApi { Future> echoAsyncStringMap( Map stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3176,19 +3030,17 @@ class HostIntegrationCoreApi { /// Returns the passed map, to test asynchronous serialization and deserialization. Future> echoAsyncIntMap(Map intMap) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3212,19 +3064,17 @@ class HostIntegrationCoreApi { Future> echoAsyncEnumMap( Map enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3248,19 +3098,17 @@ class HostIntegrationCoreApi { Future> echoAsyncClassMap( Map classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3282,19 +3130,17 @@ class HostIntegrationCoreApi { /// Returns the passed enum, to test asynchronous serialization and deserialization. Future echoAsyncEnum(AnEnum anEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3315,19 +3161,17 @@ class HostIntegrationCoreApi { /// Returns the passed enum, to test asynchronous serialization and deserialization. Future echoAnotherAsyncEnum(AnotherEnum anotherEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAnotherAsyncEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anotherEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3348,17 +3192,15 @@ class HostIntegrationCoreApi { /// Responds with an error from an async function returning a value. Future throwAsyncError() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.throwAsyncError$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3374,17 +3216,15 @@ class HostIntegrationCoreApi { /// Responds with an error from an async void function. Future throwAsyncErrorFromVoid() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.throwAsyncErrorFromVoid$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3400,17 +3240,15 @@ class HostIntegrationCoreApi { /// Responds with a Flutter error from an async function returning a value. Future throwAsyncFlutterError() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.throwAsyncFlutterError$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3426,19 +3264,17 @@ class HostIntegrationCoreApi { /// Returns the passed object, to test async serialization and deserialization. Future echoAsyncAllTypes(AllTypes everything) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncAllTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3461,19 +3297,17 @@ class HostIntegrationCoreApi { Future echoAsyncNullableAllNullableTypes( AllNullableTypes? everything, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableAllNullableTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3492,19 +3326,17 @@ class HostIntegrationCoreApi { echoAsyncNullableAllNullableTypesWithoutRecursion( AllNullableTypesWithoutRecursion? everything, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableAllNullableTypesWithoutRecursion$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3520,19 +3352,17 @@ class HostIntegrationCoreApi { /// Returns passed in int asynchronously. Future echoAsyncNullableInt(int? anInt) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3548,19 +3378,17 @@ class HostIntegrationCoreApi { /// Returns passed in double asynchronously. Future echoAsyncNullableDouble(double? aDouble) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3576,19 +3404,17 @@ class HostIntegrationCoreApi { /// Returns the passed in boolean asynchronously. Future echoAsyncNullableBool(bool? aBool) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableBool$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3604,19 +3430,17 @@ class HostIntegrationCoreApi { /// Returns the passed string asynchronously. Future echoAsyncNullableString(String? aString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3632,19 +3456,17 @@ class HostIntegrationCoreApi { /// Returns the passed in Uint8List asynchronously. Future echoAsyncNullableUint8List(Uint8List? aUint8List) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableUint8List$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3660,19 +3482,17 @@ class HostIntegrationCoreApi { /// Returns the passed in generic Object asynchronously. Future echoAsyncNullableObject(Object? anObject) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableObject$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3688,19 +3508,17 @@ class HostIntegrationCoreApi { /// Returns the passed list, to test asynchronous serialization and deserialization. Future?> echoAsyncNullableList(List? list) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [list], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3718,19 +3536,17 @@ class HostIntegrationCoreApi { Future?> echoAsyncNullableEnumList( List? enumList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3748,19 +3564,17 @@ class HostIntegrationCoreApi { Future?> echoAsyncNullableClassList( List? classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3779,19 +3593,17 @@ class HostIntegrationCoreApi { Future?> echoAsyncNullableMap( Map? map, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [map], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3810,19 +3622,17 @@ class HostIntegrationCoreApi { Future?> echoAsyncNullableStringMap( Map? stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3841,19 +3651,17 @@ class HostIntegrationCoreApi { Future?> echoAsyncNullableIntMap( Map? intMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3872,19 +3680,17 @@ class HostIntegrationCoreApi { Future?> echoAsyncNullableEnumMap( Map? enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3903,19 +3709,17 @@ class HostIntegrationCoreApi { Future?> echoAsyncNullableClassMap( Map? classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3932,19 +3736,17 @@ class HostIntegrationCoreApi { /// Returns the passed enum, to test asynchronous serialization and deserialization. Future echoAsyncNullableEnum(AnEnum? anEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAsyncNullableEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3962,19 +3764,17 @@ class HostIntegrationCoreApi { Future echoAnotherAsyncNullableEnum( AnotherEnum? anotherEnum, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.echoAnotherAsyncNullableEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anotherEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3991,17 +3791,15 @@ class HostIntegrationCoreApi { /// Returns true if the handler is run on a main thread, which should be /// true since there is no TaskQueue annotation. Future defaultIsMainThread() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.defaultIsMainThread$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4023,17 +3821,15 @@ class HostIntegrationCoreApi { /// Returns true if the handler is run on a non-main thread, which should be /// true for any platform with TaskQueue support. Future taskQueueIsBackgroundThread() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.taskQueueIsBackgroundThread$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4053,17 +3849,15 @@ class HostIntegrationCoreApi { } Future callFlutterNoop() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterNoop$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4078,17 +3872,15 @@ class HostIntegrationCoreApi { } Future callFlutterThrowError() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterThrowError$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4103,17 +3895,15 @@ class HostIntegrationCoreApi { } Future callFlutterThrowErrorFromVoid() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterThrowErrorFromVoid$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4128,19 +3918,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoAllTypes(AllTypes everything) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoAllTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4162,19 +3950,17 @@ class HostIntegrationCoreApi { Future callFlutterEchoAllNullableTypes( AllNullableTypes? everything, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoAllNullableTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4193,19 +3979,17 @@ class HostIntegrationCoreApi { int? aNullableInt, String? aNullableString, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterSendMultipleNullableTypes$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableBool, aNullableInt, aNullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4228,19 +4012,17 @@ class HostIntegrationCoreApi { callFlutterEchoAllNullableTypesWithoutRecursion( AllNullableTypesWithoutRecursion? everything, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoAllNullableTypesWithoutRecursion$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [everything], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4260,19 +4042,17 @@ class HostIntegrationCoreApi { int? aNullableInt, String? aNullableString, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterSendMultipleNullableTypesWithoutRecursion$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aNullableBool, aNullableInt, aNullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4292,19 +4072,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoBool(bool aBool) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoBool$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4324,19 +4102,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoInt(int anInt) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4356,19 +4132,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoDouble(double aDouble) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4388,19 +4162,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoString(String aString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4420,19 +4192,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoUint8List(Uint8List list) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoUint8List$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [list], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4452,19 +4222,17 @@ class HostIntegrationCoreApi { } Future> callFlutterEchoList(List list) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [list], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4484,19 +4252,17 @@ class HostIntegrationCoreApi { } Future> callFlutterEchoEnumList(List enumList) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4518,19 +4284,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoClassList( List classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4553,19 +4317,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoNonNullEnumList( List enumList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNonNullEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4587,19 +4349,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoNonNullClassList( List classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNonNullClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4622,19 +4382,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoMap( Map map, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [map], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4657,19 +4415,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoStringMap( Map stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4690,19 +4446,17 @@ class HostIntegrationCoreApi { } Future> callFlutterEchoIntMap(Map intMap) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4725,19 +4479,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoEnumMap( Map enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4760,19 +4512,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoClassMap( Map classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4795,19 +4545,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoNonNullStringMap( Map stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNonNullStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4830,19 +4578,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoNonNullIntMap( Map intMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNonNullIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4865,19 +4611,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoNonNullEnumMap( Map enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNonNullEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4900,19 +4644,17 @@ class HostIntegrationCoreApi { Future> callFlutterEchoNonNullClassMap( Map classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNonNullClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4933,19 +4675,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoEnum(AnEnum anEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4967,19 +4707,17 @@ class HostIntegrationCoreApi { Future callFlutterEchoAnotherEnum( AnotherEnum anotherEnum, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoAnotherEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anotherEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4999,19 +4737,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoNullableBool(bool? aBool) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableBool$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5026,19 +4762,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoNullableInt(int? anInt) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5053,19 +4787,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoNullableDouble(double? aDouble) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5080,19 +4812,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoNullableString(String? aString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5107,19 +4837,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoNullableUint8List(Uint8List? list) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableUint8List$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [list], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5136,19 +4864,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableList( List? list, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [list], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5165,19 +4891,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableEnumList( List? enumList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5194,19 +4918,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableClassList( List? classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5224,19 +4946,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableNonNullEnumList( List? enumList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableNonNullEnumList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5253,19 +4973,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableNonNullClassList( List? classList, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableNonNullClassList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5283,19 +5001,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableMap( Map? map, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [map], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5313,19 +5029,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableStringMap( Map? stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5343,19 +5057,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableIntMap( Map? intMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5373,19 +5085,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableEnumMap( Map? enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5403,19 +5113,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableClassMap( Map? classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5433,19 +5141,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableNonNullStringMap( Map? stringMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableNonNullStringMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [stringMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5463,19 +5169,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableNonNullIntMap( Map? intMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableNonNullIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [intMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5493,19 +5197,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableNonNullEnumMap( Map? enumMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableNonNullEnumMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [enumMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5523,19 +5225,17 @@ class HostIntegrationCoreApi { Future?> callFlutterEchoNullableNonNullClassMap( Map? classMap, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableNonNullClassMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [classMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5551,19 +5251,17 @@ class HostIntegrationCoreApi { } Future callFlutterEchoNullableEnum(AnEnum? anEnum) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoNullableEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5580,19 +5278,17 @@ class HostIntegrationCoreApi { Future callFlutterEchoAnotherNullableEnum( AnotherEnum? anotherEnum, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterEchoAnotherNullableEnum$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [anotherEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5607,19 +5303,17 @@ class HostIntegrationCoreApi { } Future callFlutterSmallApiEchoString(String aString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostIntegrationCoreApi.callFlutterSmallApiEchoString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5841,8 +5535,7 @@ abstract class FlutterIntegrationCoreApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noop$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5865,8 +5558,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwError$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5889,8 +5581,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwErrorFromVoid$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5913,8 +5604,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAllTypes$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5947,8 +5637,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAllNullableTypes$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5980,8 +5669,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.sendMultipleNullableTypes$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6016,8 +5704,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAllNullableTypesWithoutRecursion$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6048,8 +5735,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.sendMultipleNullableTypesWithoutRecursion$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6085,8 +5771,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoBool$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6119,8 +5804,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoInt$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6153,8 +5837,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoDouble$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6187,8 +5870,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoString$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6221,8 +5903,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoUint8List$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6255,8 +5936,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6290,8 +5970,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoEnumList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6325,8 +6004,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoClassList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6362,8 +6040,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullEnumList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6397,8 +6074,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullClassList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6434,8 +6110,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6469,8 +6144,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoStringMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6506,8 +6180,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoIntMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6541,8 +6214,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoEnumMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6576,8 +6248,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoClassMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6614,8 +6285,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullStringMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6651,8 +6321,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullIntMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6686,8 +6355,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullEnumMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6723,8 +6391,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullClassMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6761,8 +6428,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoEnum$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6795,8 +6461,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAnotherEnum$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6829,8 +6494,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableBool$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6859,8 +6523,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableInt$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6889,8 +6552,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableDouble$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6919,8 +6581,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableString$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6949,8 +6610,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableUint8List$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6979,8 +6639,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7010,8 +6669,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableEnumList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7043,8 +6701,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableClassList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7076,8 +6733,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullEnumList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7109,8 +6765,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullClassList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7141,8 +6796,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7172,8 +6826,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableStringMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7205,8 +6858,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableIntMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7236,8 +6888,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableEnumMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7269,8 +6920,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableClassMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7302,8 +6952,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullStringMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7334,8 +6983,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullIntMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7367,8 +7015,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullEnumMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7400,8 +7047,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullClassMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7433,8 +7079,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableEnum$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7463,8 +7108,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAnotherNullableEnum$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7495,8 +7139,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noopAsync$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7519,8 +7162,7 @@ abstract class FlutterIntegrationCoreApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAsyncString$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7574,17 +7216,15 @@ class HostTrivialApi { final String pigeonVar_messageChannelSuffix; Future noop() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostTrivialApi.noop$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7618,19 +7258,17 @@ class HostSmallApi { final String pigeonVar_messageChannelSuffix; Future echo(String aString) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostSmallApi.echo$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7650,17 +7288,15 @@ class HostSmallApi { } Future voidVoid() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.HostSmallApi.voidVoid$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7692,8 +7328,7 @@ abstract class FlutterSmallApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterSmallApi.echoWrappedList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7726,8 +7361,7 @@ abstract class FlutterSmallApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.FlutterSmallApi.echoString$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/enum.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/enum.gen.dart index 7a652d525b2..135222059e9 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/enum.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/enum.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -125,7 +125,7 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : EnumState.values[value]; case 130: return DataWithEnum.decode(readValue(buffer)!); @@ -155,19 +155,17 @@ class EnumApi2Host { /// This comment is to test method documentation comments. Future echo(DataWithEnum data) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.EnumApi2Host.echo$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [data], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -203,8 +201,7 @@ abstract class EnumApi2Flutter { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.EnumApi2Flutter.echo$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_tests.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_tests.gen.dart index 90b95c9d3d1..8ad8dd6ba6c 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_tests.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_tests.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -526,10 +526,10 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : EventEnum.values[value]; case 130: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : AnotherEventEnum.values[value]; case 131: return EventAllNullableTypes.decode(readValue(buffer)!); diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_without_classes_tests.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_without_classes_tests.gen.dart index 052a18b0019..6e58cd7c26d 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_without_classes_tests.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_without_classes_tests.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/flutter_unittests.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/flutter_unittests.gen.dart index b72f676e84d..1ecd3eeebc5 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/flutter_unittests.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/flutter_unittests.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -239,19 +239,17 @@ class Api { final String pigeonVar_messageChannelSuffix; Future search(FlutterSearchRequest request) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.Api.search$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [request], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -271,19 +269,17 @@ class Api { } Future doSearches(FlutterSearchRequests request) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.Api.doSearches$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [request], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -303,19 +299,17 @@ class Api { } Future echo(FlutterSearchRequests requests) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.Api.echo$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [requests], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -335,19 +329,17 @@ class Api { } Future anInt(int value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.Api.anInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/message.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/message.gen.dart index 1d708172886..3ffec0e5340 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/message.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/message.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -223,7 +223,7 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : MessageRequestState.values[value]; case 130: return MessageSearchRequest.decode(readValue(buffer)!); @@ -261,17 +261,15 @@ class MessageApi { /// /// This comment also tests multiple line comments. Future initialize() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.MessageApi.initialize$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -287,19 +285,17 @@ class MessageApi { /// This comment is to test method documentation comments. Future search(MessageSearchRequest request) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.MessageApi.search$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [request], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -341,19 +337,17 @@ class MessageNestedApi { /// /// This comment also tests multiple line comments. Future search(MessageNested nested) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.MessageNestedApi.search$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [nested], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -389,8 +383,7 @@ abstract class MessageFlutterSearchApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.MessageFlutterSearchApi.search$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/multiple_arity.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/multiple_arity.gen.dart index 0fceae13166..bc9d4c89cb6 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/multiple_arity.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/multiple_arity.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -72,19 +72,17 @@ class MultipleArityHostApi { final String pigeonVar_messageChannelSuffix; Future subtract(int x, int y) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.MultipleArityHostApi.subtract$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [x, y], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -118,8 +116,7 @@ abstract class MultipleArityFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.MultipleArityFlutterApi.subtract$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/non_null_fields.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/non_null_fields.gen.dart index 7433ca9a50c..bddbb24255c 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/non_null_fields.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/non_null_fields.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -212,7 +212,7 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : ReplyType.values[value]; case 130: return NonNullFieldSearchRequest.decode(readValue(buffer)!); @@ -246,19 +246,17 @@ class NonNullFieldHostApi { Future search( NonNullFieldSearchRequest nested, ) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.NonNullFieldHostApi.search$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [nested], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -292,8 +290,7 @@ abstract class NonNullFieldFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.NonNullFieldFlutterApi.search$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/null_fields.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/null_fields.gen.dart index 526d2717180..ce7f5655afe 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/null_fields.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/null_fields.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -173,7 +173,7 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : NullFieldsSearchReplyType.values[value]; case 130: return NullFieldsSearchRequest.decode(readValue(buffer)!); @@ -203,19 +203,17 @@ class NullFieldsHostApi { final String pigeonVar_messageChannelSuffix; Future search(NullFieldsSearchRequest nested) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.NullFieldsHostApi.search$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [nested], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -249,8 +247,7 @@ abstract class NullFieldsFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.NullFieldsFlutterApi.search$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/nullable_returns.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/nullable_returns.gen.dart index 942aa7c039f..21d8e7c6a9a 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/nullable_returns.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/nullable_returns.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -72,17 +72,15 @@ class NullableReturnHostApi { final String pigeonVar_messageChannelSuffix; Future doit() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.NullableReturnHostApi.doit$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -111,8 +109,7 @@ abstract class NullableReturnFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.NullableReturnFlutterApi.doit$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -155,19 +152,17 @@ class NullableArgHostApi { final String pigeonVar_messageChannelSuffix; Future doit(int? x) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.NullableArgHostApi.doit$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [x], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -201,8 +196,7 @@ abstract class NullableArgFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.NullableArgFlutterApi.doit$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -251,17 +245,15 @@ class NullableCollectionReturnHostApi { final String pigeonVar_messageChannelSuffix; Future?> doit() async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionReturnHostApi.doit$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -290,8 +282,7 @@ abstract class NullableCollectionReturnFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionReturnFlutterApi.doit$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -334,19 +325,17 @@ class NullableCollectionArgHostApi { final String pigeonVar_messageChannelSuffix; Future> doit(List? x) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionArgHostApi.doit$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [x], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -380,8 +369,7 @@ abstract class NullableCollectionArgFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionArgFlutterApi.doit$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/primitive.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/primitive.gen.dart index 03becd18df6..c0c28fabaec 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/primitive.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/primitive.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -72,19 +72,17 @@ class PrimitiveHostApi { final String pigeonVar_messageChannelSuffix; Future anInt(int value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.anInt$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -104,19 +102,17 @@ class PrimitiveHostApi { } Future aBool(bool value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aBool$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -136,19 +132,17 @@ class PrimitiveHostApi { } Future aString(String value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aString$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -168,19 +162,17 @@ class PrimitiveHostApi { } Future aDouble(double value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aDouble$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -200,19 +192,17 @@ class PrimitiveHostApi { } Future> aMap(Map value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -232,19 +222,17 @@ class PrimitiveHostApi { } Future> aList(List value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -264,19 +252,17 @@ class PrimitiveHostApi { } Future anInt32List(Int32List value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.anInt32List$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -296,19 +282,17 @@ class PrimitiveHostApi { } Future> aBoolList(List value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aBoolList$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -328,19 +312,17 @@ class PrimitiveHostApi { } Future> aStringIntMap(Map value) async { - final String pigeonVar_channelName = + final pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aStringIntMap$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -391,8 +373,7 @@ abstract class PrimitiveFlutterApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.anInt$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -425,8 +406,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.aBool$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -459,8 +439,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.aString$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -493,8 +472,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.aDouble$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -527,8 +505,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.aMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -562,8 +539,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.aList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -596,8 +572,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.anInt32List$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -630,8 +605,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.aBoolList$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -665,8 +639,7 @@ abstract class PrimitiveFlutterApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveFlutterApi.aStringIntMap$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/proxy_api_tests.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/proxy_api_tests.gen.dart index 1e705c65071..9325d559bf4 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/proxy_api_tests.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/proxy_api_tests.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:io' show Platform; @@ -587,8 +587,7 @@ class _PigeonInternalInstanceManagerApi { PigeonInstanceManager? instanceManager, }) { { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.PigeonInternalInstanceManager.removeStrongReference', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -625,19 +624,17 @@ class _PigeonInternalInstanceManagerApi { } Future removeStrongReference(int identifier) async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PigeonInternalInstanceManager.removeStrongReference'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [identifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -655,17 +652,15 @@ class _PigeonInternalInstanceManagerApi { /// /// This is typically called after a hot restart. Future clear() async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.PigeonInternalInstanceManager.clear'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -727,7 +722,7 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : ProxyApiTestEnum.values[value]; default: return super.readValueOfType(type, buffer); @@ -1068,14 +1063,13 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel .send([ pigeonVar_instanceIdentifier, @@ -1117,8 +1111,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass nullableProxyApiParam, ]); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1390,14 +1383,13 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.namedConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel .send([ pigeonVar_instanceIdentifier, @@ -1421,8 +1413,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass aNullableProxyApi, ]); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2218,8 +2209,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterNoop', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2256,8 +2246,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterThrowError', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2294,8 +2283,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterThrowErrorFromVoid', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2332,8 +2320,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoBool', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2377,8 +2364,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoInt', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2422,8 +2408,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoDouble', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2465,8 +2450,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoString', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2508,8 +2492,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoUint8List', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2552,8 +2535,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoList', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2598,8 +2580,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoProxyApiList', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2643,8 +2624,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoMap', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2689,8 +2669,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoProxyApiMap', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2735,8 +2714,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoEnum', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2780,8 +2758,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoProxyApi', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2825,8 +2802,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableBool', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2865,8 +2841,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableInt', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2905,8 +2880,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableDouble', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2945,8 +2919,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableString', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2985,8 +2958,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableUint8List', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3025,8 +2997,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableList', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3066,8 +3037,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableMap', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3107,8 +3077,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableEnum', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3147,8 +3116,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoNullableProxyApi', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3188,8 +3156,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterNoopAsync', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3225,8 +3192,7 @@ class ProxyApiTestClass extends ProxyApiSuperClass } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.flutterEchoAsyncString', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3281,19 +3247,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final int pigeonVar_instanceIdentifier = pigeon_instanceManager .addDartCreatedInstance(pigeonVar_instance); () async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.attachedField'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, pigeonVar_instanceIdentifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3319,19 +3283,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final int pigeonVar_instanceIdentifier = PigeonInstanceManager.instance .addDartCreatedInstance(pigeonVar_instance); () async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.staticAttachedField'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3353,19 +3315,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.noop'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3384,19 +3344,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.throwError'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3415,19 +3373,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.throwErrorFromVoid'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3446,19 +3402,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.throwFlutterError'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3477,19 +3431,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoInt'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3513,19 +3465,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoDouble'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3549,19 +3499,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoBool'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3585,19 +3533,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3621,19 +3567,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoUint8List'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3657,19 +3601,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoObject'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3693,19 +3635,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3732,19 +3672,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoProxyApiList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3769,19 +3707,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3809,19 +3745,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoProxyApiMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3846,19 +3780,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoEnum'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3882,19 +3814,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoProxyApi'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aProxyApi], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3918,19 +3848,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableInt'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3949,19 +3877,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableDouble'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3980,19 +3906,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableBool'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4011,19 +3935,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4044,19 +3966,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableUint8List'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4075,19 +3995,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableObject'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4106,19 +4024,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4139,19 +4055,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4172,19 +4086,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableEnum'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4205,19 +4117,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoNullableProxyApi'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aNullableProxyApi], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4237,19 +4147,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.noopAsync'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4268,19 +4176,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncInt'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4304,19 +4210,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncDouble'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4340,19 +4244,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncBool'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4376,19 +4278,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4412,19 +4312,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncUint8List'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4448,19 +4346,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncObject'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4484,19 +4380,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4520,19 +4414,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4557,19 +4449,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncEnum'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4593,19 +4483,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.throwAsyncError'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4624,19 +4512,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.throwAsyncErrorFromVoid'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4655,19 +4541,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.throwAsyncFlutterError'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4686,19 +4570,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableInt'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4717,19 +4599,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableDouble'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4748,19 +4628,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableBool'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4779,19 +4657,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4810,19 +4686,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableUint8List'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4841,19 +4715,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableObject'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anObject], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4872,19 +4744,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4905,19 +4775,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4939,19 +4807,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoAsyncNullableEnum'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4977,17 +4843,15 @@ class ProxyApiTestClass extends ProxyApiSuperClass pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.staticNoop'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5014,19 +4878,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.echoStaticString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5057,17 +4919,15 @@ class ProxyApiTestClass extends ProxyApiSuperClass pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.staticAsyncNoop'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5085,19 +4945,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterNoop'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5115,19 +4973,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterThrowError'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5145,19 +5001,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterThrowErrorFromVoid'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5175,19 +5029,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoBool'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5210,19 +5062,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoInt'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5245,19 +5095,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoDouble'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5280,19 +5128,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5315,19 +5161,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoUint8List'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5350,19 +5194,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5387,19 +5229,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoProxyApiList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5425,19 +5265,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5463,19 +5301,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoProxyApiMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5499,19 +5335,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoEnum'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5536,19 +5370,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoProxyApi'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aProxyApi], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5571,19 +5403,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableBool'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aBool], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5601,19 +5431,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableInt'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anInt], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5631,19 +5459,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableDouble'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aDouble], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5661,19 +5487,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5693,19 +5517,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableUint8List'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aUint8List], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5725,19 +5547,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableList'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aList], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5757,19 +5577,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableMap'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aMap], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5790,19 +5608,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableEnum'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, anEnum], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5822,19 +5638,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoNullableProxyApi'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aProxyApi], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5852,19 +5666,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterNoopAsync'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5882,19 +5694,17 @@ class ProxyApiTestClass extends ProxyApiSuperClass final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiTestClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiTestClass.callFlutterEchoAsyncString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, aString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5991,20 +5801,18 @@ class ProxyApiSuperClass extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiSuperClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiSuperClass.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6046,8 +5854,7 @@ class ProxyApiSuperClass extends PigeonInternalProxyApiBaseClass { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiSuperClass.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6093,19 +5900,17 @@ class ProxyApiSuperClass extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecProxyApiSuperClass; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiSuperClass.aSuperMethod'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6175,8 +5980,7 @@ class ProxyApiInterface extends PigeonInternalProxyApiBaseClass { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiInterface.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6218,8 +6022,7 @@ class ProxyApiInterface extends PigeonInternalProxyApiBaseClass { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ProxyApiInterface.anInterfaceMethod', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6290,20 +6093,18 @@ class ClassWithApiRequirement extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecClassWithApiRequirement; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ClassWithApiRequirement.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6345,8 +6146,7 @@ class ClassWithApiRequirement extends PigeonInternalProxyApiBaseClass { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.ClassWithApiRequirement.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6392,19 +6192,17 @@ class ClassWithApiRequirement extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecClassWithApiRequirement; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.pigeon_integration_tests.ClassWithApiRequirement.aMethod'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/generated_dart_test_code_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/generated_dart_test_code_test.dart index 6c1b4e5510e..8d9431687fc 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/generated_dart_test_code_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/generated_dart_test_code_test.dart @@ -45,52 +45,32 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('equality method', () { - final List correctList = ['a', 2, 'three']; + final correctList = ['a', 2, 'three']; final List matchingList = correctList.toList(); - final List differentList = ['a', 2, 'three', 4.0]; - final Map correctMap = { - 'a': 1, - 'b': 2, - 'c': 'three', - }; - final Map matchingMap = {...correctMap}; - final Map differentKeyMap = { - 'a': 1, - 'b': 2, - 'd': 'three', - }; - final Map differentValueMap = { - 'a': 1, - 'b': 2, - 'c': 'five', - }; - final Map correctListInMap = { + final differentList = ['a', 2, 'three', 4.0]; + final correctMap = {'a': 1, 'b': 2, 'c': 'three'}; + final matchingMap = {...correctMap}; + final differentKeyMap = {'a': 1, 'b': 2, 'd': 'three'}; + final differentValueMap = {'a': 1, 'b': 2, 'c': 'five'}; + final correctListInMap = { 'a': 1, 'b': 2, 'c': correctList, }; - final Map matchingListInMap = { + final matchingListInMap = { 'a': 1, 'b': 2, 'c': matchingList, }; - final Map differentListInMap = { + final differentListInMap = { 'a': 1, 'b': 2, 'c': differentList, }; - final List correctMapInList = ['a', 2, correctMap]; - final List matchingMapInList = ['a', 2, matchingMap]; - final List differentKeyMapInList = [ - 'a', - 2, - differentKeyMap, - ]; - final List differentValueMapInList = [ - 'a', - 2, - differentValueMap, - ]; + final correctMapInList = ['a', 2, correctMap]; + final matchingMapInList = ['a', 2, matchingMap]; + final differentKeyMapInList = ['a', 2, differentKeyMap]; + final differentValueMapInList = ['a', 2, differentValueMap]; test('equality method correctly checks deep equality', () { final AllNullableTypes generic = genericAllNullableTypes; @@ -102,17 +82,15 @@ void main() { test('equality method correctly identifies non-matching classes', () { final AllNullableTypes generic = genericAllNullableTypes; - final AllNullableTypes allNull = AllNullableTypes(); + final allNull = AllNullableTypes(); expect(allNull == generic, false); }); test( 'equality method correctly identifies non-matching lists in classes', () { - final AllNullableTypes withList = AllNullableTypes(list: correctList); - final AllNullableTypes withDifferentList = AllNullableTypes( - list: differentList, - ); + final withList = AllNullableTypes(list: correctList); + final withDifferentList = AllNullableTypes(list: differentList); expect(withList == withDifferentList, false); }, ); @@ -120,10 +98,8 @@ void main() { test( 'equality method correctly identifies matching -but unique- lists in classes', () { - final AllNullableTypes withList = AllNullableTypes(list: correctList); - final AllNullableTypes withDifferentList = AllNullableTypes( - list: matchingList, - ); + final withList = AllNullableTypes(list: correctList); + final withDifferentList = AllNullableTypes(list: matchingList); expect(withList, withDifferentList); }, ); @@ -131,10 +107,8 @@ void main() { test( 'equality method correctly identifies non-matching keys in maps in classes', () { - final AllNullableTypes withMap = AllNullableTypes(map: correctMap); - final AllNullableTypes withDifferentMap = AllNullableTypes( - map: differentKeyMap, - ); + final withMap = AllNullableTypes(map: correctMap); + final withDifferentMap = AllNullableTypes(map: differentKeyMap); expect(withMap == withDifferentMap, false); }, ); @@ -142,10 +116,8 @@ void main() { test( 'equality method correctly identifies non-matching values in maps in classes', () { - final AllNullableTypes withMap = AllNullableTypes(map: correctMap); - final AllNullableTypes withDifferentMap = AllNullableTypes( - map: differentValueMap, - ); + final withMap = AllNullableTypes(map: correctMap); + final withDifferentMap = AllNullableTypes(map: differentValueMap); expect(withMap == withDifferentMap, false); }, ); @@ -153,10 +125,8 @@ void main() { test( 'equality method correctly identifies matching -but unique- maps in classes', () { - final AllNullableTypes withMap = AllNullableTypes(map: correctMap); - final AllNullableTypes withDifferentMap = AllNullableTypes( - map: matchingMap, - ); + final withMap = AllNullableTypes(map: correctMap); + final withDifferentMap = AllNullableTypes(map: matchingMap); expect(withMap, withDifferentMap); }, ); @@ -164,10 +134,8 @@ void main() { test( 'equality method correctly identifies non-matching lists nested in maps in classes', () { - final AllNullableTypes withListInMap = AllNullableTypes( - map: correctListInMap, - ); - final AllNullableTypes withDifferentListInMap = AllNullableTypes( + final withListInMap = AllNullableTypes(map: correctListInMap); + final withDifferentListInMap = AllNullableTypes( map: differentListInMap, ); expect(withListInMap == withDifferentListInMap, false); @@ -177,12 +145,8 @@ void main() { test( 'equality method correctly identifies matching -but unique- lists nested in maps in classes', () { - final AllNullableTypes withListInMap = AllNullableTypes( - map: correctListInMap, - ); - final AllNullableTypes withDifferentListInMap = AllNullableTypes( - map: matchingListInMap, - ); + final withListInMap = AllNullableTypes(map: correctListInMap); + final withDifferentListInMap = AllNullableTypes(map: matchingListInMap); expect(withListInMap, withDifferentListInMap); }, ); @@ -190,10 +154,8 @@ void main() { test( 'equality method correctly identifies non-matching keys in maps nested in lists in classes', () { - final AllNullableTypes withMapInList = AllNullableTypes( - list: correctMapInList, - ); - final AllNullableTypes withDifferentMapInList = AllNullableTypes( + final withMapInList = AllNullableTypes(list: correctMapInList); + final withDifferentMapInList = AllNullableTypes( list: differentKeyMapInList, ); expect(withMapInList == withDifferentMapInList, false); @@ -203,10 +165,8 @@ void main() { test( 'equality method correctly identifies non-matching values in maps nested in lists in classes', () { - final AllNullableTypes withMapInList = AllNullableTypes( - list: correctMapInList, - ); - final AllNullableTypes withDifferentMapInList = AllNullableTypes( + final withMapInList = AllNullableTypes(list: correctMapInList); + final withDifferentMapInList = AllNullableTypes( list: differentValueMapInList, ); expect(withMapInList == withDifferentMapInList, false); @@ -216,10 +176,8 @@ void main() { test( 'equality method correctly identifies matching -but unique- maps nested in lists in classes', () { - final AllNullableTypes withMapInList = AllNullableTypes( - list: correctMapInList, - ); - final AllNullableTypes withDifferentMapInList = AllNullableTypes( + final withMapInList = AllNullableTypes(list: correctMapInList); + final withDifferentMapInList = AllNullableTypes( list: matchingMapInList, ); expect(withMapInList, withDifferentMapInList); @@ -227,8 +185,8 @@ void main() { ); }); test('simple', () async { - final MessageNestedApi api = MessageNestedApi(); - final MockNested mock = MockNested(); + final api = MessageNestedApi(); + final mock = MockNested(); TestNestedApi.setUp(mock); final MessageSearchReply reply = await api.search( MessageNested()..request = null, @@ -238,8 +196,8 @@ void main() { }); test('nested', () async { - final MessageApi api = MessageApi(); - final Mock mock = Mock(); + final api = MessageApi(); + final mock = Mock(); TestHostApi.setUp(mock); final MessageSearchReply reply = await api.search( MessageSearchRequest()..query = 'foo', @@ -249,15 +207,15 @@ void main() { }); test('no-arg calls', () async { - final MessageApi api = MessageApi(); - final Mock mock = Mock(); + final api = MessageApi(); + final mock = Mock(); TestHostApi.setUp(mock); await api.initialize(); expect(mock.log, ['initialize']); }); test('calling methods with null', () async { - final Mock mock = Mock(); + final mock = Mock(); TestHostApi.setUp(mock); expect( await const BasicMessageChannel( diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/instance_manager_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/instance_manager_test.dart index c6c4506c972..ed38f8f53e4 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/instance_manager_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/instance_manager_test.dart @@ -11,13 +11,11 @@ import 'package:shared_test_plugin_code/src/generated/proxy_api_tests.gen.dart'; void main() { group('InstanceManager', () { test('addHostCreatedInstance', () { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addHostCreatedInstance(object, 0); @@ -29,13 +27,11 @@ void main() { }); test('addHostCreatedInstance prevents already used objects and ids', () { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addHostCreatedInstance(object, 0); @@ -54,13 +50,11 @@ void main() { }); test('addFlutterCreatedInstance', () { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addDartCreatedInstance(object); @@ -71,15 +65,13 @@ void main() { test('removeWeakReference', () { int? weakInstanceId; - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (int instanceId) { weakInstanceId = instanceId; }, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addHostCreatedInstance(object, 0); @@ -92,13 +84,11 @@ void main() { }); test('removeWeakReference removes only weak reference', () { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addHostCreatedInstance(object, 0); @@ -110,13 +100,11 @@ void main() { }); test('remove', () { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addHostCreatedInstance(object, 0); instanceManager.removeWeakReference(object); @@ -125,26 +113,22 @@ void main() { }); test('remove throws AssertionError if weak reference still exists', () { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addDartCreatedInstance(object); expect(() => instanceManager.remove(0), throwsAssertionError); }); test('getInstance can add a new weak reference', () { - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) {}, ); - final CopyableObject object = CopyableObject( - pigeon_instanceManager: instanceManager, - ); + final object = CopyableObject(pigeon_instanceManager: instanceManager); instanceManager.addHostCreatedInstance(object, 0); instanceManager.removeWeakReference(object); @@ -157,8 +141,8 @@ void main() { test( 'addDartCreatedInstance should add finalizer to original object', () async { - bool weakReferencedRemovedCalled = false; - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + var weakReferencedRemovedCalled = false; + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) { weakReferencedRemovedCalled = true; }, @@ -180,8 +164,8 @@ void main() { test( 'addHostCreatedInstance should not add finalizer to original object', () async { - bool weakReferencedRemovedCalled = false; - final PigeonInstanceManager instanceManager = PigeonInstanceManager( + var weakReferencedRemovedCalled = false; + final instanceManager = PigeonInstanceManager( onWeakReferenceRemoved: (_) { weakReferencedRemovedCalled = true; }, @@ -203,7 +187,7 @@ void main() { testWidgets( 'instantiating default InstanceManager does not make a message call', (WidgetTester tester) async { - bool messageCallMade = false; + var messageCallMade = false; TestDefaultBinaryMessengerBinding .instance .defaultBinaryMessenger @@ -223,7 +207,7 @@ void main() { testWidgets( 'default InstanceManager does not make message call when weak reference is removed', (WidgetTester tester) async { - bool messageCallMade = false; + var messageCallMade = false; TestDefaultBinaryMessengerBinding .instance .defaultBinaryMessenger diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/multiple_arity_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/multiple_arity_test.dart index f7c8585bbdb..2209c6936a4 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/multiple_arity_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/multiple_arity_test.dart @@ -22,7 +22,7 @@ void main() { ).thenAnswer((Invocation realInvocation) async { final Object input = MultipleArityHostApi.pigeonChannelCodec .decodeMessage(realInvocation.positionalArguments[1] as ByteData?)!; - final List args = input as List; + final args = input as List; final int x = (args[0] as int?)!; final int y = (args[1] as int?)!; return MultipleArityHostApi.pigeonChannelCodec.encodeMessage([ @@ -30,9 +30,7 @@ void main() { ]); }); - final MultipleArityHostApi api = MultipleArityHostApi( - binaryMessenger: mockMessenger, - ); + final api = MultipleArityHostApi(binaryMessenger: mockMessenger); final int result = await api.subtract(30, 10); expect(result, 20); }); diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/non_null_fields_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/non_null_fields_test.dart index c05f31f0333..6e051d13e5a 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/non_null_fields_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/non_null_fields_test.dart @@ -7,9 +7,7 @@ import 'package:shared_test_plugin_code/src/generated/non_null_fields.gen.dart'; void main() { test('test constructor', () { - final NonNullFieldSearchRequest request = NonNullFieldSearchRequest( - query: 'what?', - ); + final request = NonNullFieldSearchRequest(query: 'what?'); expect(request.query, 'what?'); }); } diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_fields_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_fields_test.dart index 071cef316ec..09033590b63 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_fields_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_fields_test.dart @@ -7,12 +7,9 @@ import 'package:shared_test_plugin_code/src/generated/null_fields.gen.dart'; void main() { test('test constructor with values', () { - final NullFieldsSearchRequest request = NullFieldsSearchRequest( - query: 'query', - identifier: 1, - ); + final request = NullFieldsSearchRequest(query: 'query', identifier: 1); - final NullFieldsSearchReply reply = NullFieldsSearchReply( + final reply = NullFieldsSearchReply( result: 'result', error: 'error', indices: [1, 2, 3], @@ -28,15 +25,13 @@ void main() { }); test('test request constructor with nulls', () { - final NullFieldsSearchRequest request = NullFieldsSearchRequest( - identifier: 1, - ); + final request = NullFieldsSearchRequest(identifier: 1); expect(request.query, isNull); }); test('test reply constructor with nulls', () { - final NullFieldsSearchReply reply = NullFieldsSearchReply(); + final reply = NullFieldsSearchReply(); expect(reply.result, isNull); expect(reply.error, isNull); @@ -96,28 +91,20 @@ void main() { }); test('test request encode with values', () { - final NullFieldsSearchRequest request = NullFieldsSearchRequest( - query: 'query', - identifier: 1, - ); + final request = NullFieldsSearchRequest(query: 'query', identifier: 1); expect(request.encode(), ['query', 1]); }); test('test request encode with null', () { - final NullFieldsSearchRequest request = NullFieldsSearchRequest( - identifier: 1, - ); + final request = NullFieldsSearchRequest(identifier: 1); expect(request.encode(), [null, 1]); }); test('test reply encode with values', () { - final NullFieldsSearchRequest request = NullFieldsSearchRequest( - query: 'query', - identifier: 1, - ); - final NullFieldsSearchReply reply = NullFieldsSearchReply( + final request = NullFieldsSearchRequest(query: 'query', identifier: 1); + final reply = NullFieldsSearchReply( result: 'result', error: 'error', indices: [1, 2, 3], @@ -135,7 +122,7 @@ void main() { }); test('test reply encode with nulls', () { - final NullFieldsSearchReply reply = NullFieldsSearchReply(); + final reply = NullFieldsSearchReply(); expect(reply.encode(), [null, null, null, null, null]); }); diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_safe_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_safe_test.dart index 405f48343b6..e50136696b6 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_safe_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/null_safe_test.dart @@ -26,30 +26,30 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); test('with values filled', () { - final FlutterSearchReply reply = FlutterSearchReply() + final reply = FlutterSearchReply() ..result = 'foo' ..error = 'bar'; - final List encoded = reply.encode() as List; + final encoded = reply.encode() as List; final FlutterSearchReply decoded = FlutterSearchReply.decode(encoded); expect(reply.result, decoded.result); expect(reply.error, decoded.error); }); test('with null value', () { - final FlutterSearchReply reply = FlutterSearchReply() + final reply = FlutterSearchReply() ..result = 'foo' ..error = null; - final List encoded = reply.encode() as List; + final encoded = reply.encode() as List; final FlutterSearchReply decoded = FlutterSearchReply.decode(encoded); expect(reply.result, decoded.result); expect(reply.error, decoded.error); }); test('send/receive', () async { - final FlutterSearchRequest request = FlutterSearchRequest()..query = 'hey'; - final FlutterSearchReply reply = FlutterSearchReply()..result = 'ho'; + final request = FlutterSearchRequest()..query = 'hey'; + final reply = FlutterSearchReply()..result = 'ho'; final BinaryMessenger mockMessenger = MockBinaryMessenger(); - final Completer completer = Completer(); + final completer = Completer(); completer.complete(Api.pigeonChannelCodec.encodeMessage([reply])); final Future sendResult = completer.future; when( @@ -58,15 +58,15 @@ void main() { any, ), ).thenAnswer((Invocation realInvocation) => sendResult); - final Api api = Api(binaryMessenger: mockMessenger); + final api = Api(binaryMessenger: mockMessenger); final FlutterSearchReply readReply = await api.search(request); expect(readReply, isNotNull); expect(reply.result, readReply.result); }); test('send/receive list classes', () async { - final FlutterSearchRequest request = FlutterSearchRequest()..query = 'hey'; - final FlutterSearchRequests requests = FlutterSearchRequests() + final request = FlutterSearchRequest()..query = 'hey'; + final requests = FlutterSearchRequests() ..requests = [request]; final BinaryMessenger mockMessenger = MockBinaryMessenger(); echoOneArgument( @@ -74,7 +74,7 @@ void main() { 'dev.flutter.pigeon.pigeon_integration_tests.Api.echo', Api.pigeonChannelCodec, ); - final Api api = Api(binaryMessenger: mockMessenger); + final api = Api(binaryMessenger: mockMessenger); final FlutterSearchRequests echo = await api.echo(requests); expect(echo.requests!.length, 1); expect((echo.requests![0] as FlutterSearchRequest?)!.query, 'hey'); @@ -87,21 +87,20 @@ void main() { 'dev.flutter.pigeon.pigeon_integration_tests.Api.anInt', Api.pigeonChannelCodec, ); - final Api api = Api(binaryMessenger: mockMessenger); + final api = Api(binaryMessenger: mockMessenger); final int result = await api.anInt(1); expect(result, 1); }); test('return null to nonnull', () async { final BinaryMessenger mockMessenger = MockBinaryMessenger(); - const String channel = - 'dev.flutter.pigeon.pigeon_integration_tests.Api.anInt'; + const channel = 'dev.flutter.pigeon.pigeon_integration_tests.Api.anInt'; when(mockMessenger.send(channel, any)).thenAnswer(( Invocation realInvocation, ) async { return Api.pigeonChannelCodec.encodeMessage([null]); }); - final Api api = Api(binaryMessenger: mockMessenger); + final api = Api(binaryMessenger: mockMessenger); expect( () async => api.anInt(1), throwsA(const TypeMatcher()), @@ -110,22 +109,20 @@ void main() { test('send null parameter', () async { final BinaryMessenger mockMessenger = MockBinaryMessenger(); - const String channel = + const channel = 'dev.flutter.pigeon.pigeon_integration_tests.NullableArgHostApi.doit'; when(mockMessenger.send(channel, any)).thenAnswer(( Invocation realInvocation, ) async { return Api.pigeonChannelCodec.encodeMessage([123]); }); - final NullableArgHostApi api = NullableArgHostApi( - binaryMessenger: mockMessenger, - ); + final api = NullableArgHostApi(binaryMessenger: mockMessenger); expect(await api.doit(null), 123); }); test('send null collection parameter', () async { final BinaryMessenger mockMessenger = MockBinaryMessenger(); - const String channel = + const channel = 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionArgHostApi.doit'; when(mockMessenger.send(channel, any)).thenAnswer(( Invocation realInvocation, @@ -134,20 +131,17 @@ void main() { ['123'], ]); }); - final NullableCollectionArgHostApi api = NullableCollectionArgHostApi( - binaryMessenger: mockMessenger, - ); + final api = NullableCollectionArgHostApi(binaryMessenger: mockMessenger); expect(await api.doit(null), ['123']); }); test('receive null parameters', () { - final MockNullableArgFlutterApi mockFlutterApi = - MockNullableArgFlutterApi(); + final mockFlutterApi = MockNullableArgFlutterApi(); when(mockFlutterApi.doit(null)).thenReturn(14); NullableArgFlutterApi.setUp(mockFlutterApi); - final Completer resultCompleter = Completer(); + final resultCompleter = Completer(); binding.defaultBinaryMessenger.handlePlatformMessage( 'dev.flutter.pigeon.pigeon_integration_tests.NullableArgFlutterApi.doit', NullableArgFlutterApi.pigeonChannelCodec.encodeMessage([null]), @@ -168,13 +162,12 @@ void main() { }); test('receive null collection parameters', () { - final MockNullableCollectionArgFlutterApi mockFlutterApi = - MockNullableCollectionArgFlutterApi(); + final mockFlutterApi = MockNullableCollectionArgFlutterApi(); when(mockFlutterApi.doit(null)).thenReturn(['14']); NullableCollectionArgFlutterApi.setUp(mockFlutterApi); - final Completer> resultCompleter = Completer>(); + final resultCompleter = Completer>(); binding.defaultBinaryMessenger.handlePlatformMessage( 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionArgFlutterApi.doit', NullableCollectionArgFlutterApi.pigeonChannelCodec.encodeMessage( @@ -201,7 +194,7 @@ void main() { test('receive null return', () async { final BinaryMessenger mockMessenger = MockBinaryMessenger(); - const String channel = + const channel = 'dev.flutter.pigeon.pigeon_integration_tests.NullableReturnHostApi.doit'; when(mockMessenger.send(channel, any)).thenAnswer(( Invocation realInvocation, @@ -210,15 +203,13 @@ void main() { null, ]); }); - final NullableReturnHostApi api = NullableReturnHostApi( - binaryMessenger: mockMessenger, - ); + final api = NullableReturnHostApi(binaryMessenger: mockMessenger); expect(await api.doit(), null); }); test('receive null collection return', () async { final BinaryMessenger mockMessenger = MockBinaryMessenger(); - const String channel = + const channel = 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionReturnHostApi.doit'; when(mockMessenger.send(channel, any)).thenAnswer(( Invocation realInvocation, @@ -227,20 +218,17 @@ void main() { [null], ); }); - final NullableCollectionReturnHostApi api = NullableCollectionReturnHostApi( - binaryMessenger: mockMessenger, - ); + final api = NullableCollectionReturnHostApi(binaryMessenger: mockMessenger); expect(await api.doit(), null); }); test('send null return', () async { - final MockNullableReturnFlutterApi mockFlutterApi = - MockNullableReturnFlutterApi(); + final mockFlutterApi = MockNullableReturnFlutterApi(); when(mockFlutterApi.doit()).thenReturn(null); NullableReturnFlutterApi.setUp(mockFlutterApi); - final Completer resultCompleter = Completer(); + final resultCompleter = Completer(); unawaited( binding.defaultBinaryMessenger.handlePlatformMessage( 'dev.flutter.pigeon.pigeon_integration_tests.NullableReturnFlutterApi.doit', @@ -258,14 +246,12 @@ void main() { }); test('send null collection return', () async { - final MockNullableCollectionReturnFlutterApi mockFlutterApi = - MockNullableCollectionReturnFlutterApi(); + final mockFlutterApi = MockNullableCollectionReturnFlutterApi(); when(mockFlutterApi.doit()).thenReturn(null); NullableCollectionReturnFlutterApi.setUp(mockFlutterApi); - final Completer?> resultCompleter = - Completer?>(); + final resultCompleter = Completer?>(); unawaited( binding.defaultBinaryMessenger.handlePlatformMessage( 'dev.flutter.pigeon.pigeon_integration_tests.NullableCollectionReturnFlutterApi.doit', diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/primitive_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/primitive_test.dart index d81640b5e5a..dbfc6cd78a8 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/primitive_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/primitive_test.dart @@ -20,9 +20,7 @@ void main() { 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.anInt', PrimitiveHostApi.pigeonChannelCodec, ); - final PrimitiveHostApi api = PrimitiveHostApi( - binaryMessenger: mockMessenger, - ); + final api = PrimitiveHostApi(binaryMessenger: mockMessenger); final int result = await api.anInt(1); expect(result, 1); }); @@ -34,9 +32,7 @@ void main() { 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aBoolList', PrimitiveHostApi.pigeonChannelCodec, ); - final PrimitiveHostApi api = PrimitiveHostApi( - binaryMessenger: mockMessenger, - ); + final api = PrimitiveHostApi(binaryMessenger: mockMessenger); final List result = await api.aBoolList([true]); expect(result[0], true); }); @@ -51,8 +47,7 @@ void main() { any, ), ).thenAnswer((Invocation realInvocation) { - final MessageHandler? handler = - realInvocation.positionalArguments[1] as MessageHandler?; + final handler = realInvocation.positionalArguments[1] as MessageHandler?; handler!( PrimitiveFlutterApi.pigeonChannelCodec.encodeMessage([ [true, false], @@ -70,9 +65,7 @@ void main() { 'dev.flutter.pigeon.pigeon_integration_tests.PrimitiveHostApi.aStringIntMap', PrimitiveHostApi.pigeonChannelCodec, ); - final PrimitiveHostApi api = PrimitiveHostApi( - binaryMessenger: mockMessenger, - ); + final api = PrimitiveHostApi(binaryMessenger: mockMessenger); final Map result = await api.aStringIntMap({ 'hello': 1, }); diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/proxy_api_overrides_test.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/proxy_api_overrides_test.dart index 3c0e4b8e334..f7d5ac0a20e 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/proxy_api_overrides_test.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/proxy_api_overrides_test.dart @@ -9,7 +9,7 @@ void main() { test('can override ProxyApi constructors', () { PigeonOverrides.pigeon_reset(); - final ProxyApiSuperClass instance = ProxyApiSuperClass.pigeon_detached(); + final instance = ProxyApiSuperClass.pigeon_detached(); PigeonOverrides.proxyApiSuperClass_new = () => instance; expect(ProxyApiSuperClass(), instance); @@ -18,7 +18,7 @@ void main() { test('can override ProxyApi static attached fields', () { PigeonOverrides.pigeon_reset(); - final ProxyApiSuperClass instance = ProxyApiSuperClass.pigeon_detached(); + final instance = ProxyApiSuperClass.pigeon_detached(); PigeonOverrides.proxyApiTestClass_staticAttachedField = instance; expect(ProxyApiTestClass.staticAttachedField, instance); @@ -31,7 +31,7 @@ void main() { return value; }; - const String value = 'testString'; + const value = 'testString'; expect(await ProxyApiTestClass.echoStaticString(value), value); }); diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_message.gen.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_message.gen.dart index 59d3481b3af..c60370dc5b9 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_message.gen.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_message.gen.dart @@ -4,7 +4,7 @@ // // Autogenerated from Pigeon, do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, unnecessary_import, no_leading_underscores_for_local_identifiers, omit_obvious_local_variable_types // ignore_for_file: avoid_relative_lib_imports import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; @@ -42,7 +42,7 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : MessageRequestState.values[value]; case 130: return MessageSearchRequest.decode(readValue(buffer)!); @@ -81,8 +81,7 @@ abstract class TestHostApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.MessageApi.initialize$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -112,8 +111,7 @@ abstract class TestHostApi { } } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.MessageApi.search$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -176,8 +174,7 @@ abstract class TestNestedApi { ? '.$messageChannelSuffix' : ''; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.pigeon_integration_tests.MessageNestedApi.search$messageChannelSuffix', pigeonChannelCodec, binaryMessenger: binaryMessenger, diff --git a/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_util.dart b/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_util.dart index abea719758a..accc779e392 100644 --- a/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_util.dart +++ b/packages/pigeon/platform_tests/shared_test_plugin_code/test/test_util.dart @@ -16,7 +16,7 @@ void echoOneArgument( final Object input = codec.decodeMessage( realInvocation.positionalArguments[1] as ByteData?, )!; - final List args = input as List; + final args = input as List; return codec.encodeMessage([args[0]!]); }); } diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml index 6298399391e..27c6315b51a 100644 --- a/packages/pigeon/pubspec.yaml +++ b/packages/pigeon/pubspec.yaml @@ -5,7 +5,7 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 26.1.2 # This must match the version in lib/src/generator_tools.dart environment: - sdk: ^3.8.0 + sdk: ^3.9.0 dependencies: analyzer: ">=8.0.0 <10.0.0" diff --git a/packages/pigeon/test/ast_generator_test.dart b/packages/pigeon/test/ast_generator_test.dart index b6aad753352..98a74f8a25d 100644 --- a/packages/pigeon/test/ast_generator_test.dart +++ b/packages/pigeon/test/ast_generator_test.dart @@ -8,7 +8,7 @@ import 'package:test/test.dart'; void main() { test('gen one class', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -17,14 +17,14 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); + final sink = StringBuffer(); generateAst(root, sink); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Foobar')); expect(code, contains('dataType1')); expect(code, contains('field1')); diff --git a/packages/pigeon/test/cpp_generator_test.dart b/packages/pigeon/test/cpp_generator_test.dart index 0662261b9ee..d9a22ec657b 100644 --- a/packages/pigeon/test/cpp_generator_test.dart +++ b/packages/pigeon/test/cpp_generator_test.dart @@ -27,7 +27,7 @@ final Enum emptyEnum = Enum( void main() { test('gen one api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -77,48 +77,46 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Input')); expect(code, contains('class Output')); expect(code, contains('class Api')); expect(code, contains('virtual ~Api() {}\n')); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Input::Input()')); expect(code, contains('Output::Output')); expect( @@ -135,14 +133,14 @@ void main() { }); test('naming follows style', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [ EnumMember(name: 'one'), EnumMember(name: 'fortyTwo'), ], ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -200,24 +198,23 @@ void main() { enums: [anEnum], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Method name and argument names should be adjusted. expect(code, contains(' DoSomething(const Input& some_input)')); // Getters and setters should use optional getter/setter style. @@ -233,24 +230,23 @@ void main() { expect(code, contains('kFortyTwo')); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('encodable_some_input')); expect(code, contains('Output::output_field()')); expect(code, contains('Output::set_output_field(bool value_arg)')); @@ -258,7 +254,7 @@ void main() { }); test('FlutterError fields are private with public accessors', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -287,24 +283,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code.split('\n'), @@ -326,7 +321,7 @@ void main() { }); test('Error field is private with public accessors', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -356,24 +351,23 @@ void main() { containsHostApi: true, ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code.split('\n'), @@ -391,7 +385,7 @@ void main() { }); test('Spaces before {', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -441,53 +435,51 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('){'))); expect(code, isNot(contains('const{'))); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('){'))); expect(code, isNot(contains('const{'))); } }); test('include blocks follow style', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -516,24 +508,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains(''' @@ -549,24 +540,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - headerIncludePath: 'a_header.h', - cppHeaderOut: '', - cppSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + headerIncludePath: 'a_header.h', + cppHeaderOut: '', + cppSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains(''' @@ -586,7 +576,7 @@ void main() { }); test('namespaces follows style', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -615,55 +605,53 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - namespace: 'foo', - headerIncludePath: '', - cppHeaderOut: '', - cppSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + namespace: 'foo', + headerIncludePath: '', + cppHeaderOut: '', + cppSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('namespace foo {')); expect(code, contains('} // namespace foo')); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - namespace: 'foo', - headerIncludePath: '', - cppHeaderOut: '', - cppSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + namespace: 'foo', + headerIncludePath: '', + cppHeaderOut: '', + cppSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('namespace foo {')); expect(code, contains('} // namespace foo')); } }); test('data classes handle nullable fields', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -725,24 +713,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // There should be a default constructor. expect(code, contains('Nested();')); @@ -788,24 +775,23 @@ void main() { expect(code, contains('std::unique_ptr nullable_nested_')); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // There should be a default constructor. expect(code, contains('Nested::Nested() {}')); @@ -893,7 +879,7 @@ void main() { }); test('data classes handle non-nullable fields', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -958,24 +944,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // There should not be a default constructor. expect(code, isNot(contains('Nested();'))); @@ -1012,24 +997,23 @@ void main() { expect(code, contains('std::unique_ptr non_nullable_nested_;')); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // There should not be a default constructor. expect(code, isNot(contains('Nested::Nested() {}'))); @@ -1074,7 +1058,7 @@ void main() { }); test('host nullable return types map correctly', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1158,24 +1142,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('ErrorOr> ReturnNullableBool()'), @@ -1210,7 +1193,7 @@ void main() { }); test('host non-nullable return types map correctly', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1294,24 +1277,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('ErrorOr ReturnBool()')); expect(code, contains('ErrorOr ReturnInt()')); expect(code, contains('ErrorOr ReturnString()')); @@ -1322,7 +1304,7 @@ void main() { }); test('host nullable arguments map correctly', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1408,24 +1390,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1443,24 +1424,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Most types should just use get_if, since the parameter is a pointer, // and get_if will automatically handle null values (since a null // EncodableValue will not match the queried type, so get_if will return @@ -1520,7 +1500,7 @@ void main() { }); test('host non-nullable arguments map correctly', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1606,24 +1586,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1641,24 +1620,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Most types should extract references. Since the type is non-nullable, // there's only one possible type. expect( @@ -1712,7 +1690,7 @@ void main() { }); test('flutter nullable arguments map correctly', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1801,24 +1779,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Nullable arguments should all be pointers. This will make them somewhat // awkward for some uses (literals, values that could be inlined) but // unlike setters there's no way to provide reference-based alternatives @@ -1855,24 +1832,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // All types pass nulls values when the pointer is null. // Standard types are wrapped an EncodableValues. expect( @@ -1908,7 +1884,7 @@ void main() { }); test('flutter non-nullable arguments map correctly', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1997,24 +1973,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2045,24 +2020,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Standard types are wrapped in EncodableValues. expect(code, contains('EncodableValue(a_bool_arg)')); expect(code, contains('EncodableValue(an_int_arg)')); @@ -2075,7 +2049,7 @@ void main() { }); test('host API argument extraction uses references', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2101,24 +2075,23 @@ void main() { enums: [], ); - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // A bare 'auto' here would create a copy, not a reference, which is // inefficient. expect( @@ -2129,7 +2102,7 @@ void main() { }); test('enum argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Bar', @@ -2175,7 +2148,7 @@ void main() { }); test('transfers documentation comments', () { - final List comments = [ + final comments = [ ' api comment', ' api method comment', ' class comment', @@ -2183,12 +2156,12 @@ void main() { ' enum comment', ' enum member comment', ]; - int count = 0; + var count = 0; - final List unspacedComments = ['////////']; - int unspacedCount = 0; + final unspacedComments = ['////////']; + var unspacedCount = 0; - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -2249,32 +2222,31 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - headerIncludePath: 'foo', - cppHeaderOut: '', - cppSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + headerIncludePath: 'foo', + cppHeaderOut: '', + cppSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); - for (final String comment in comments) { + final code = sink.toString(); + for (final comment in comments) { expect(code, contains('//$comment')); } expect(code, contains('// ///')); }); test('creates custom codecs', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -2324,29 +2296,28 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(' : public flutter::StandardCodecSerializer')); }); test('Does not send unwrapped EncodableLists', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2424,30 +2395,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('reply(wrap'))); expect(code, contains('reply(EncodableValue(')); }); test('does not keep unowned references in async handlers', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'HostApi', @@ -2513,24 +2483,23 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Nothing should be captured by reference for async handlers, since their // lifetime is unknown (and expected to be longer than the stack's). expect(code, isNot(contains('&reply'))); @@ -2542,7 +2511,7 @@ void main() { }); test('connection error contains channel name', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -2568,24 +2537,23 @@ void main() { enums: [], containsFlutterApi: true, ); - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2596,7 +2564,7 @@ void main() { }); test('stack allocates the message channel.', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -2621,24 +2589,23 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const CppGenerator generator = CppGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalCppOptions( - cppHeaderOut: '', - cppSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = CppGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalCppOptions( + cppHeaderOut: '', + cppSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( diff --git a/packages/pigeon/test/dart/proxy_api_test.dart b/packages/pigeon/test/dart/proxy_api_test.dart index cfa6bafb6f8..c66a7f85091 100644 --- a/packages/pigeon/test/dart/proxy_api_test.dart +++ b/packages/pigeon/test/dart/proxy_api_test.dart @@ -11,7 +11,7 @@ const String DEFAULT_PACKAGE_NAME = 'test_package'; void main() { group('ProxyApi', () { test('one api', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -77,15 +77,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); // Instance Manager @@ -137,7 +137,7 @@ void main() { }); test('InstanceManagerApi', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -149,15 +149,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains(r'class _PigeonInternalInstanceManagerApi')); @@ -190,7 +190,7 @@ void main() { group('ProxyApi base class', () { test('class name', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -202,15 +202,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, @@ -219,7 +219,7 @@ void main() { }); test('InstanceManager field', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -231,15 +231,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( @@ -254,13 +254,13 @@ void main() { group('inheritance', () { test('extends', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -278,15 +278,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains(r'class Api extends Api2')); expect( @@ -298,13 +298,13 @@ void main() { }); test('implements', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -324,15 +324,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -342,19 +342,19 @@ void main() { }); test('implements 2 ProxyApis', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final AstProxyApi api3 = AstProxyApi( + final api3 = AstProxyApi( name: 'Api3', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -380,15 +380,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -398,7 +398,7 @@ void main() { }); test('implements inherits flutter methods', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], @@ -418,7 +418,7 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -438,15 +438,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( code, @@ -468,7 +468,7 @@ void main() { group('Constructors', () { test('empty name and no params constructor', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -482,15 +482,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class Api')); expect( @@ -510,7 +510,7 @@ void main() { expect( collapsedCode, contains( - r"const String pigeonVar_channelName = 'dev.flutter.pigeon.test_package.Api.pigeon_defaultConstructor';", + r"const pigeonVar_channelName = 'dev.flutter.pigeon.test_package.Api.pigeon_defaultConstructor';", ), ); expect( @@ -522,17 +522,17 @@ void main() { expect( collapsedCode, contains( - '() async { final List? pigeonVar_replyList = await pigeonVar_sendFuture as List?;', + '() async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?;', ), ); }); test('multiple params constructor', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -600,15 +600,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class Api')); expect( @@ -651,11 +651,11 @@ void main() { group('Fields', () { test('constructor with fields', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -720,15 +720,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class Api')); expect( @@ -775,13 +775,13 @@ void main() { }); test('attached field', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -804,28 +804,28 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect(code, contains(r'late final Api2 aField = pigeonVar_aField();')); expect(code, contains(r'Api2 pigeonVar_aField()')); }); test('static attached field', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -849,15 +849,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect( code, @@ -875,11 +875,11 @@ void main() { group('Host methods', () { test('multiple params method', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -949,15 +949,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class Api')); expect( @@ -980,7 +980,7 @@ void main() { }); test('static method', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -1000,15 +1000,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class Api')); expect( @@ -1025,11 +1025,11 @@ void main() { group('Flutter methods', () { test('multiple params flutter method', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -1094,15 +1094,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class Api')); expect( @@ -1180,7 +1180,7 @@ void main() { /// void method( int param1, int param2, ) /// ``` String _collapseNewlineAndIndentation(String string) { - final StringBuffer result = StringBuffer(); + final result = StringBuffer(); for (final String line in string.split('\n')) { result.write('${line.trimLeft()} '); } diff --git a/packages/pigeon/test/dart_generator_test.dart b/packages/pigeon/test/dart_generator_test.dart index f159cdaf48d..32b587a5503 100644 --- a/packages/pigeon/test/dart_generator_test.dart +++ b/packages/pigeon/test/dart_generator_test.dart @@ -29,7 +29,7 @@ final Enum emptyEnum = Enum( void main() { test('gen one class', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -42,53 +42,49 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Foobar')); expect(code, contains(' dataType1? field1;')); }); test('gen one enum', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'Foobar', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final Root root = Root( - apis: [], - classes: [], - enums: [anEnum], - ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final root = Root(apis: [], classes: [], enums: [anEnum]); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum Foobar')); expect(code, contains(' one,')); expect(code, contains(' two,')); }); test('gen one host api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -137,21 +133,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect(code, contains('Future doSomething(Input input)')); }); test('host multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -186,15 +182,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect(code, contains('Future add(int x, int y)')); expect( @@ -207,7 +203,7 @@ void main() { }); test('flutter multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -242,15 +238,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect(code, contains('int add(int x, int y)')); expect( @@ -263,7 +259,7 @@ void main() { }); test('nested class', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -291,21 +287,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('nested,')); expect(code, contains('nested: result[0] as Input?')); }); test('nested non-nullable class', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -336,21 +332,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('nested,')); expect(code, contains('nested: result[0]! as Input')); }); test('flutterApi', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -399,22 +395,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('abstract class Api')); expect(code, contains('static void setUp(Api')); expect(code, contains('Output doSomething(Input input)')); }); test('host void', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -450,21 +446,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Future doSomething')); expect(code, contains('return;')); }); test('flutter void return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -500,15 +496,15 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // The next line verifies that we're not setting a variable to the value of "doSomething", but // ignores the line where we assert the value of the argument isn't null, since on that line // we mention "doSomething" in the assertion message. @@ -517,7 +513,7 @@ void main() { }); test('flutter void argument', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -548,21 +544,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('output.*=.*doSomething[(][)]')); expect(code, contains('Output doSomething();')); }); test('flutter enum argument with enum class', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -614,15 +610,15 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('return value == null ? null : Enum.values[value];')); expect(code, contains('writeValue(buffer, value.index);')); expect( @@ -633,7 +629,7 @@ void main() { }); test('primitive enum host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Bar', @@ -667,15 +663,15 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum Foo {')); expect(code, contains('Future bar(Foo? foo) async')); expect( @@ -686,7 +682,7 @@ void main() { }); test('flutter non-nullable enum argument with enum class', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -738,22 +734,22 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('writeValue(buffer, value.index)')); expect(code, contains('return value == null ? null : Enum.values[value];')); expect(code, contains('enum1: result[0]! as Enum,')); }); test('host void argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -784,15 +780,15 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, matches('pigeonVar_sendFuture = pigeonVar_channel.send[(]null[)]'), @@ -800,7 +796,7 @@ void main() { }); test('mock Dart handler', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -865,16 +861,16 @@ void main() { ], enums: [], ); - final StringBuffer mainCodeSink = StringBuffer(); - final StringBuffer testCodeSink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final mainCodeSink = StringBuffer(); + final testCodeSink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, mainCodeSink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String mainCode = mainCodeSink.toString(); + final mainCode = mainCodeSink.toString(); expect(mainCode, isNot(contains(r"import 'fo\'o.dart';"))); expect(mainCode, contains('class Api {')); expect(mainCode, isNot(contains('abstract class ApiMock'))); @@ -882,7 +878,7 @@ void main() { expect(mainCode, isNot(contains("'${Keys.result}': output"))); expect(mainCode, isNot(contains('return [];'))); - const DartGenerator testGenerator = DartGenerator(); + const testGenerator = DartGenerator(); testGenerator.generateTest( const InternalDartOptions(dartOut: "fo'o.dart", testOut: 'test.dart'), root, @@ -890,7 +886,7 @@ void main() { dartPackageName: DEFAULT_PACKAGE_NAME, dartOutputPackageName: DEFAULT_PACKAGE_NAME, ); - final String testCode = testCodeSink.toString(); + final testCode = testCodeSink.toString(); expect(testCode, contains(r"import 'fo\'o.dart';")); expect(testCode, isNot(contains('class Api {'))); expect(testCode, contains('abstract class ApiMock')); @@ -900,7 +896,7 @@ void main() { }); test('gen one async Flutter Api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -950,15 +946,15 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('abstract class Api')); expect(code, contains('Future doSomething(Input input);')); expect( @@ -968,7 +964,7 @@ void main() { }); test('gen one async Flutter Api with void return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1014,22 +1010,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(matches('=.s*doSomething'))); expect(code, contains('await api.doSomething(')); expect(code, isNot(contains('._toMap()'))); }); test('gen one async Host Api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1079,21 +1075,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect(code, matches('Output.*doSomething.*Input')); }); test('async host void argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1125,15 +1121,15 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('pigeonVar_channel.send[(]null[)]')); }); @@ -1142,22 +1138,22 @@ void main() { } test('header', () { - final Root root = Root(apis: [], classes: [], enums: []); - final StringBuffer sink = StringBuffer(); + final root = Root(apis: [], classes: [], enums: []); + final sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + const generator = DartGenerator(); generator.generate( InternalDartOptions(copyrightHeader: makeIterable('hello world')), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, startsWith('// hello world')); }); test('generics', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -1172,26 +1168,26 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Foobar')); expect(code, contains(' List? field1;')); }); test('map generics', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -1207,26 +1203,26 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Foobar')); expect(code, contains(' Map? field1;')); }); test('host generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1254,20 +1250,20 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doit(List arg')); }); test('flutter generics argument with void return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1295,20 +1291,20 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doit(List arg')); }); test('host generics return', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1331,15 +1327,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Future> doit(')); expect( code, @@ -1350,7 +1346,7 @@ void main() { }); test('flutter generics argument non void return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1384,15 +1380,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('List doit(')); expect( code, @@ -1404,7 +1400,7 @@ void main() { }); test('return nullable host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1424,21 +1420,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Future doit()')); expect(code, contains('return (pigeonVar_replyList[0] as int?);')); }); test('return nullable collection host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1461,15 +1457,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Future?> doit()')); expect( code, @@ -1480,7 +1476,7 @@ void main() { }); test('return nullable async host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1501,21 +1497,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Future doit()')); expect(code, contains('return (pigeonVar_replyList[0] as int?);')); }); test('return nullable flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1535,21 +1531,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('int? doit();')); expect(code, contains('final int? output = api.doit();')); }); test('return nullable async flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1570,21 +1566,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Future doit();')); expect(code, contains('final int? output = await api.doit();')); }); test('platform error for return nil on nonnull', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1604,15 +1600,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('Host platform returned null value for non-null return value.'), @@ -1620,7 +1616,7 @@ void main() { }); test('nullable argument host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1645,20 +1641,20 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Future doit(int? foo) async {')); }); test('nullable argument flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1683,20 +1679,20 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('void doit(int? foo);')); }); test('named argument flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1723,38 +1719,34 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('void doit({required int foo});')); expect(code, contains('api.doit(foo: arg_foo!)')); }); test('uses output package name for imports', () { - const String overriddenPackageName = 'custom_name'; - const String outputPackageName = 'some_output_package'; + const overriddenPackageName = 'custom_name'; + const outputPackageName = 'some_output_package'; assert(outputPackageName != DEFAULT_PACKAGE_NAME); final Directory tempDir = Directory.systemTemp.createTempSync('pigeon'); try { - final Directory foo = Directory(path.join(tempDir.path, 'lib', 'foo')); + final foo = Directory(path.join(tempDir.path, 'lib', 'foo')); foo.createSync(recursive: true); - final File pubspecFile = File(path.join(tempDir.path, 'pubspec.yaml')); + final pubspecFile = File(path.join(tempDir.path, 'pubspec.yaml')); pubspecFile.writeAsStringSync(''' name: foobar '''); - final Root root = Root( - classes: [], - apis: [], - enums: [], - ); - final StringBuffer sink = StringBuffer(); - const DartGenerator testGenerator = DartGenerator(); + final root = Root(classes: [], apis: [], enums: []); + final sink = StringBuffer(); + const testGenerator = DartGenerator(); testGenerator.generateTest( InternalDartOptions( dartOut: path.join(foo.path, 'bar.dart'), @@ -1765,7 +1757,7 @@ name: foobar dartPackageName: overriddenPackageName, dartOutputPackageName: outputPackageName, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains("import 'package:$outputPackageName/foo/bar.dart';"), @@ -1776,7 +1768,7 @@ name: foobar }); test('transfers documentation comments', () { - final List comments = [ + final comments = [ ' api comment', ' api method comment', ' class comment', @@ -1784,12 +1776,12 @@ name: foobar ' enum comment', ' enum member comment', ]; - int count = 0; + var count = 0; - final List unspacedComments = ['////////']; - int unspacedCount = 0; + final unspacedComments = ['////////']; + var unspacedCount = 0; - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1850,23 +1842,23 @@ name: foobar ), ], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); - for (final String comment in comments) { + final code = sink.toString(); + for (final comment in comments) { expect(code, contains('///$comment')); } expect(code, contains('/// ///')); }); test('creates custom codecs', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1916,20 +1908,20 @@ name: foobar ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('extends StandardMessageCodec')); }); test('host test code handles enums', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1964,9 +1956,9 @@ name: foobar ), ], ); - final StringBuffer sink = StringBuffer(); + final sink = StringBuffer(); - const DartGenerator testGenerator = DartGenerator(); + const testGenerator = DartGenerator(); testGenerator.generateTest( const InternalDartOptions(dartOut: 'code.dart', testOut: 'test.dart'), root, @@ -1975,7 +1967,7 @@ name: foobar dartOutputPackageName: DEFAULT_PACKAGE_NAME, ); - final String testCode = sink.toString(); + final testCode = sink.toString(); expect(testCode, contains('final Enum? arg_anEnum = (args[0] as Enum?);')); expect( testCode, @@ -1985,7 +1977,7 @@ name: foobar }); test('connection error contains channel name', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2006,15 +1998,15 @@ name: foobar enums: [], containsHostApi: true, ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('throw _createConnectionError(pigeonVar_channelName);'), @@ -2028,7 +2020,7 @@ name: foobar }); test('generate wrapResponse if is generating tests', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2047,20 +2039,20 @@ name: foobar enums: [], ); - final StringBuffer mainCodeSink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final mainCodeSink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(testOut: 'test.dart'), root, mainCodeSink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String mainCode = mainCodeSink.toString(); + final mainCode = mainCodeSink.toString(); expect(mainCode, contains('List wrapResponse(')); }); test('writes custom int codec without custom types', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2080,15 +2072,15 @@ name: foobar classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const DartGenerator generator = DartGenerator(); + final sink = StringBuffer(); + const generator = DartGenerator(); generator.generate( const InternalDartOptions(), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('if (value is int) {')); expect(code, contains('buffer.putUint8(4);')); expect(code, contains('buffer.putInt64(value);')); diff --git a/packages/pigeon/test/functional_test.dart b/packages/pigeon/test/functional_test.dart index 4e83c21031e..48110f1487f 100644 --- a/packages/pigeon/test/functional_test.dart +++ b/packages/pigeon/test/functional_test.dart @@ -7,7 +7,7 @@ import 'package:test/test.dart'; void main() { test('indexMap', () { - final List items = ['a', 'b', 'c']; + final items = ['a', 'b', 'c']; final List result = indexMap( items, (int index, String value) => value + index.toString(), @@ -18,8 +18,8 @@ void main() { }); test('enumerate', () { - final List items = ['a', 'b', 'c']; - int saw = 0; + final items = ['a', 'b', 'c']; + var saw = 0; enumerate(items, (int index, String value) { if (index == 0) { expect(value, 'a'); diff --git a/packages/pigeon/test/generator_tools_test.dart b/packages/pigeon/test/generator_tools_test.dart index 6483c12ef97..67e5f68fb1d 100644 --- a/packages/pigeon/test/generator_tools_test.dart +++ b/packages/pigeon/test/generator_tools_test.dart @@ -10,7 +10,7 @@ bool _equalSet(Set x, Set y) { if (x.length != y.length) { return false; } - for (final T object in x) { + for (final object in x) { if (!y.contains(object)) { return false; } @@ -49,18 +49,18 @@ final Class emptyClass = Class( void main() { test('test merge maps', () { - final Map source = { + final source = { '1': '1', '2': {'1': '1', '3': '3'}, '3': '3', // not modified }; - final Map modification = { + final modification = { '1': '2', // modify '2': { '2': '2', // added }, }; - final Map expected = { + final expected = { '1': '2', '2': {'1': '1', '2': '2', '3': '3'}, '3': '3', @@ -69,7 +69,7 @@ void main() { }); test('get codec types from all classes and enums', () { - final Root root = Root( + final root = Root( classes: [ Class( name: 'name', @@ -94,7 +94,7 @@ void main() { }); test('getEnumeratedTypes:ed type arguments', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -162,7 +162,7 @@ void main() { }); test('getEnumeratedTypes: Object', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api1', @@ -209,7 +209,7 @@ void main() { }); test('getEnumeratedTypes:ue entries', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api1', @@ -282,13 +282,13 @@ void main() { }); test('recursiveGetSuperClassApisChain', () { - final AstProxyApi superClassOfSuperClassApi = AstProxyApi( + final superClassOfSuperClassApi = AstProxyApi( name: 'Api3', methods: [], constructors: [], fields: [], ); - final AstProxyApi superClassApi = AstProxyApi( + final superClassApi = AstProxyApi( name: 'Api2', methods: [], constructors: [], @@ -299,7 +299,7 @@ void main() { associatedProxyApi: superClassOfSuperClassApi, ), ); - final AstProxyApi api = AstProxyApi( + final api = AstProxyApi( name: 'Api', methods: [], constructors: [], @@ -321,19 +321,19 @@ void main() { }); test('recursiveFindAllInterfacesApis', () { - final AstProxyApi interfaceOfInterfaceApi2 = AstProxyApi( + final interfaceOfInterfaceApi2 = AstProxyApi( name: 'Api5', methods: [], constructors: [], fields: [], ); - final AstProxyApi interfaceOfInterfaceApi = AstProxyApi( + final interfaceOfInterfaceApi = AstProxyApi( name: 'Api4', methods: [], constructors: [], fields: [], ); - final AstProxyApi interfaceApi2 = AstProxyApi( + final interfaceApi2 = AstProxyApi( name: 'Api3', methods: [], constructors: [], @@ -346,7 +346,7 @@ void main() { ), }, ); - final AstProxyApi interfaceApi = AstProxyApi( + final interfaceApi = AstProxyApi( name: 'Api2', methods: [], constructors: [], @@ -364,7 +364,7 @@ void main() { ), }, ); - final AstProxyApi api = AstProxyApi( + final api = AstProxyApi( name: 'Api', methods: [], constructors: [], @@ -397,19 +397,19 @@ void main() { test( 'recursiveFindAllInterfacesApis throws error if api recursively implements itself', () { - final AstProxyApi a = AstProxyApi( + final a = AstProxyApi( name: 'A', methods: [], constructors: [], fields: [], ); - final AstProxyApi b = AstProxyApi( + final b = AstProxyApi( name: 'B', methods: [], constructors: [], fields: [], ); - final AstProxyApi c = AstProxyApi( + final c = AstProxyApi( name: 'C', methods: [], constructors: [], @@ -443,7 +443,7 @@ void main() { ); test('findHighestApiRequirement', () { - final TypeDeclaration typeWithoutMinApi = TypeDeclaration( + final typeWithoutMinApi = TypeDeclaration( baseName: 'TypeWithoutMinApi', isNullable: false, associatedProxyApi: AstProxyApi( @@ -454,7 +454,7 @@ void main() { ), ); - final TypeDeclaration typeWithMinApi = TypeDeclaration( + final typeWithMinApi = TypeDeclaration( baseName: 'TypeWithMinApi', isNullable: false, associatedProxyApi: AstProxyApi( @@ -465,7 +465,7 @@ void main() { ), ); - final TypeDeclaration typeWithHighestMinApi = TypeDeclaration( + final typeWithHighestMinApi = TypeDeclaration( baseName: 'TypeWithHighestMinApi', isNullable: false, associatedProxyApi: AstProxyApi( @@ -500,8 +500,8 @@ void main() { }); test('Indent.format trims indentation', () { - final StringBuffer buffer = StringBuffer(); - final Indent indent = Indent(buffer); + final buffer = StringBuffer(); + final indent = Indent(buffer); indent.format(''' void myMethod() { diff --git a/packages/pigeon/test/gobject_generator_test.dart b/packages/pigeon/test/gobject_generator_test.dart index 2c66b13afe0..c9ef46a3aa4 100644 --- a/packages/pigeon/test/gobject_generator_test.dart +++ b/packages/pigeon/test/gobject_generator_test.dart @@ -11,7 +11,7 @@ const String DEFAULT_PACKAGE_NAME = 'test_package'; void main() { test('gen one api', () { - final Class inputClass = Class( + final inputClass = Class( name: 'Input', fields: [ NamedType( @@ -20,7 +20,7 @@ void main() { ), ], ); - final Class outputClass = Class( + final outputClass = Class( name: 'Output', fields: [ NamedType( @@ -29,7 +29,7 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -60,24 +60,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -92,24 +91,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -134,7 +132,7 @@ void main() { }); test('naming follows style', () { - final Class inputClass = Class( + final inputClass = Class( name: 'Input', fields: [ NamedType( @@ -143,7 +141,7 @@ void main() { ), ], ); - final Class outputClass = Class( + final outputClass = Class( name: 'Output', fields: [ NamedType( @@ -152,7 +150,7 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -183,24 +181,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -221,24 +218,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -255,7 +251,7 @@ void main() { }); test('Spaces before {', () { - final Class inputClass = Class( + final inputClass = Class( name: 'Input', fields: [ NamedType( @@ -264,7 +260,7 @@ void main() { ), ], ); - final Class outputClass = Class( + final outputClass = Class( name: 'Output', fields: [ NamedType( @@ -273,7 +269,7 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -304,53 +300,51 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('){'))); expect(code, isNot(contains('const{'))); } { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('){'))); expect(code, isNot(contains('const{'))); } }); test('include blocks follow style', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -379,24 +373,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains(''' @@ -405,24 +398,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalGObjectOptions( - headerIncludePath: 'a_header.h', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalGObjectOptions( + headerIncludePath: 'a_header.h', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains(''' @@ -433,7 +425,7 @@ void main() { }); test('data classes handle non-nullable fields', () { - final Class nestedClass = Class( + final nestedClass = Class( name: 'Nested', fields: [ NamedType( @@ -442,7 +434,7 @@ void main() { ), ], ); - final Class inputClass = Class( + final inputClass = Class( name: 'Input', fields: [ NamedType( @@ -467,7 +459,7 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -494,24 +486,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, @@ -521,24 +512,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, @@ -550,7 +540,7 @@ void main() { }); test('host non-nullable return types map correctly', () { - final Class returnDataClass = Class( + final returnDataClass = Class( name: 'ReturnData', fields: [ NamedType( @@ -559,7 +549,7 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -633,24 +623,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -691,7 +680,7 @@ void main() { }); test('host non-nullable arguments map correctly', () { - final Class parameterObjectClass = Class( + final parameterObjectClass = Class( name: 'ParameterObject', fields: [ NamedType( @@ -700,8 +689,8 @@ void main() { ), ], ); - final Class objectClass = Class(name: 'Object', fields: []); - final Root root = Root( + final objectClass = Class(name: 'Object', fields: []); + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -789,24 +778,23 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -815,24 +803,23 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -843,7 +830,7 @@ void main() { }); test('transfers documentation comments', () { - final List comments = [ + final comments = [ ' api comment', ' api method comment', ' class comment', @@ -851,12 +838,12 @@ void main() { ' enum comment', ' enum member comment', ]; - int count = 0; + var count = 0; - final List unspacedComments = ['////////']; - int unspacedCount = 0; + final unspacedComments = ['////////']; + var unspacedCount = 0; - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -917,32 +904,31 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: 'foo', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: 'foo', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); - for (final String comment in comments) { + final code = sink.toString(); + for (final comment in comments) { expect(code, contains(' *$comment')); } expect(code, contains(' * ///')); }); test('generates custom class id constants', () { - final Class parameterObjectClass = Class( + final parameterObjectClass = Class( name: 'ParameterObject', fields: [ NamedType( @@ -951,15 +937,15 @@ void main() { ), ], ); - final Class objectClass = Class(name: 'Object', fields: []); - final Enum anEnum = Enum( + final objectClass = Class(name: 'Object', fields: []); + final anEnum = Enum( name: 'enum', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -998,24 +984,23 @@ void main() { enums: [anEnum], ); { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('extern const int test_packageenum_type_id;')); expect( code, @@ -1024,24 +1009,23 @@ void main() { expect(code, contains('extern const int test_package_object_type_id;')); } { - final StringBuffer sink = StringBuffer(); - const GObjectGenerator generator = GObjectGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalGObjectOptions( - headerIncludePath: '', - gobjectHeaderOut: '', - gobjectSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = GObjectGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalGObjectOptions( + headerIncludePath: '', + gobjectHeaderOut: '', + gobjectSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('const int test_packageenum_type_id = 129;')); expect( diff --git a/packages/pigeon/test/java_generator_test.dart b/packages/pigeon/test/java_generator_test.dart index deb2e6bbe80..a7dd1bbfbcb 100644 --- a/packages/pigeon/test/java_generator_test.dart +++ b/packages/pigeon/test/java_generator_test.dart @@ -26,7 +26,7 @@ final Enum emptyEnum = Enum( void main() { test('gen one class', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -35,24 +35,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public class Messages')); expect(code, contains('public static final class Foobar')); expect(code, contains('public static final class Builder')); @@ -61,7 +58,7 @@ void main() { }); test('gen one enum', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'Foobar', members: [ EnumMember(name: 'one'), @@ -69,24 +66,17 @@ void main() { EnumMember(name: 'remoteDB'), ], ); - final Root root = Root( - apis: [], - classes: [], - enums: [anEnum], - ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final root = Root(apis: [], classes: [], enums: [anEnum]); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public enum Foobar')); expect(code, contains(' ONE(0),')); expect(code, contains(' TWO_THREE_FOUR(1),')); @@ -97,7 +87,7 @@ void main() { }); test('package', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -106,30 +96,30 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions( className: 'Messages', package: 'com.google.foobar', javaOut: '', ); - const JavaGenerator generator = JavaGenerator(); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('package com.google.foobar;')); }); test('gen one host api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -179,19 +169,16 @@ void main() { enums: [], containsHostApi: true, ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public interface Api')); expect(code, matches('Output.*doSomething.*Input')); expect(code, contains('channel.setMessageHandler(null)')); @@ -219,7 +206,7 @@ void main() { }); test('all the simple datatypes header', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -275,19 +262,16 @@ void main() { enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('private @Nullable Boolean aBool;')); expect(code, contains('private @Nullable Long aInt;')); expect(code, contains('private @Nullable Double aDouble;')); @@ -299,7 +283,7 @@ void main() { }); test('gen one flutter api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -348,25 +332,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public static class Api')); expect(code, matches('doSomething.*Input.*Output')); }); test('gen host void api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -402,25 +383,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(matches('=.*doSomething'))); expect(code, contains('doSomething(')); }); test('gen flutter void return api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -456,19 +434,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -479,7 +454,7 @@ void main() { }); test('gen host void argument api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -510,25 +485,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Output doSomething()')); expect(code, contains('api.doSomething()')); }); test('gen flutter void argument api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -559,19 +531,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('public void doSomething(@NonNull Result result)'), @@ -580,7 +549,7 @@ void main() { }); test('gen list', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -595,25 +564,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public static final class Foobar')); expect(code, contains('private @Nullable List field1;')); }); test('gen map', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -628,25 +594,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public static final class Foobar')); expect(code, contains('private @Nullable Map field1;')); }); test('gen nested', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Outer', fields: [ NamedType( @@ -659,7 +622,7 @@ void main() { ), ], ); - final Class nestedClass = Class( + final nestedClass = Class( name: 'Nested', fields: [ NamedType( @@ -668,24 +631,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition, nestedClass], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public class Messages')); expect(code, contains('public static final class Outer')); expect(code, contains('public static final class Nested')); @@ -694,7 +654,7 @@ void main() { }); test('gen one async Host Api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -744,19 +704,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public interface Api')); expect(code, contains('public interface Result {')); expect(code, contains('void error(@NonNull Throwable error);')); @@ -771,7 +728,7 @@ void main() { }); test('gen one async Flutter Api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -821,25 +778,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public static class Api')); expect(code, matches('doSomething.*Input.*Output')); }); test('gen one enum class', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'Enum1', members: [ EnumMember(name: 'one'), @@ -847,7 +801,7 @@ void main() { EnumMember(name: 'remoteDB'), ], ); - final Class classDefinition = Class( + final classDefinition = Class( name: 'EnumClass', fields: [ NamedType( @@ -860,24 +814,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public enum Enum1')); expect(code, contains(' ONE(0),')); expect(code, contains(' TWO_THREE_FOUR(1),')); @@ -891,7 +842,7 @@ void main() { }); test('primitive enum host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Bar', @@ -925,19 +876,16 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public enum Foo')); expect( code, @@ -959,26 +907,26 @@ void main() { } test('header', () { - final Root root = Root(apis: [], classes: [], enums: []); - final StringBuffer sink = StringBuffer(); - final InternalJavaOptions javaOptions = InternalJavaOptions( + final root = Root(apis: [], classes: [], enums: []); + final sink = StringBuffer(); + final javaOptions = InternalJavaOptions( className: 'Messages', copyrightHeader: makeIterable('hello world'), javaOut: '', ); - const JavaGenerator generator = JavaGenerator(); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, startsWith('// hello world')); }); test('generics', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -993,30 +941,27 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Foobar')); expect(code, contains('List field1;')); }); test('generics - maps', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -1032,30 +977,27 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Foobar')); expect(code, contains('Map field1;')); }); test('host generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1083,24 +1025,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doit(@NonNull List arg')); }); test('flutter generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1128,24 +1067,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doit(@NonNull List arg')); }); test('host generics return', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1168,25 +1104,22 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('List doit(')); expect(code, contains('List output =')); }); test('flutter generics return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1209,19 +1142,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('public void doit(@NonNull Result> result)'), @@ -1230,7 +1160,7 @@ void main() { }); test('flutter int return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1251,25 +1181,22 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('public void doit(@NonNull Result result)')); expect(code, contains('Long output = (Long) listReply.get(0);')); }); test('host multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1304,19 +1231,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Messages')); expect(code, contains('Long add(@NonNull Long x, @NonNull Long y)')); expect( @@ -1329,7 +1253,7 @@ void main() { }); test('if host argType is Object not cast', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1354,24 +1278,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Api', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Api', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('Object xArg = args.get(0)')); }); test('flutter multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1406,19 +1327,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Messages')); expect(code, contains('BasicMessageChannel channel')); expect(code, contains('Long output')); @@ -1439,7 +1357,7 @@ void main() { }); test('flutter single args', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1467,19 +1385,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1491,7 +1406,7 @@ void main() { }); test('return nullable host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1511,24 +1426,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(RegExp(r'@Nullable\s*Long doit\(\);'))); }); test('return nullable host async', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1549,25 +1461,22 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Java doesn't accept nullability annotations in type arguments. expect(code, contains('Result')); }); test('nullable argument host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1592,24 +1501,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(' void doit(@Nullable Long foo);')); }); test('nullable argument flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1634,19 +1540,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1656,7 +1559,7 @@ void main() { }); test('background platform channel', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1682,19 +1585,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1712,49 +1612,46 @@ void main() { }); test('generated annotation', () { - final Class classDefinition = Class(name: 'Foobar', fields: []); - final Root root = Root( + final classDefinition = Class(name: 'Foobar', fields: []); + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions( className: 'Messages', useGeneratedAnnotation: true, javaOut: '', ); - const JavaGenerator generator = JavaGenerator(); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@javax.annotation.Generated("dev.flutter.pigeon")')); }); test('no generated annotation', () { - final Class classDefinition = Class(name: 'Foobar', fields: []); - final Root root = Root( + final classDefinition = Class(name: 'Foobar', fields: []); + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, isNot(contains('@javax.annotation.Generated("dev.flutter.pigeon")')), @@ -1762,7 +1659,7 @@ void main() { }); test('transfers documentation comments', () { - final List comments = [ + final comments = [ ' api comment', ' api method comment', ' class comment', @@ -1770,12 +1667,12 @@ void main() { ' enum comment', ' enum member comment', ]; - int count = 0; + var count = 0; - final List unspacedComments = ['////////']; - int unspacedCount = 0; + final unspacedComments = ['////////']; + var unspacedCount = 0; - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'api', @@ -1836,20 +1733,17 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); - for (final String comment in comments) { + final code = sink.toString(); + for (final comment in comments) { // This regex finds the comment only between the open and close comment block expect( RegExp( @@ -1863,7 +1757,7 @@ void main() { }); test('creates custom codecs', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1913,48 +1807,42 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(' extends StandardMessageCodec')); }); test('creates api error class for custom errors', () { final Api api = AstHostApi(name: 'Api', methods: []); - final Root root = Root( + final root = Root( apis: [api], classes: [], enums: [], containsHostApi: true, ); - final StringBuffer sink = StringBuffer(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); - const JavaGenerator generator = JavaGenerator(); + final sink = StringBuffer(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); + const generator = JavaGenerator(); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class FlutterError')); }); test('connection error contains channel name', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1980,19 +1868,16 @@ void main() { enums: [], containsFlutterApi: true, ); - final StringBuffer sink = StringBuffer(); - const JavaGenerator generator = JavaGenerator(); - const InternalJavaOptions javaOptions = InternalJavaOptions( - className: 'Messages', - javaOut: '', - ); + final sink = StringBuffer(); + const generator = JavaGenerator(); + const javaOptions = InternalJavaOptions(className: 'Messages', javaOut: ''); generator.generate( javaOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('createConnectionError(channelName)')); expect( code, diff --git a/packages/pigeon/test/kotlin/proxy_api_test.dart b/packages/pigeon/test/kotlin/proxy_api_test.dart index 97b1d42c1d9..e942a2c9bd0 100644 --- a/packages/pigeon/test/kotlin/proxy_api_test.dart +++ b/packages/pigeon/test/kotlin/proxy_api_test.dart @@ -11,7 +11,7 @@ const String DEFAULT_PACKAGE_NAME = 'test_package'; void main() { group('ProxyApi', () { test('one api', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -80,8 +80,8 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions( fileSpecificClassNameComponent: 'MyFile', @@ -91,7 +91,7 @@ void main() { sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); // Instance Manager @@ -165,13 +165,13 @@ void main() { group('inheritance', () { test('extends', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -189,15 +189,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -206,13 +206,13 @@ void main() { }); test('implements', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -232,32 +232,32 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun pigeon_getPigeonApiApi2(): PigeonApiApi2')); }); test('implements 2 ProxyApis', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final AstProxyApi api3 = AstProxyApi( + final api3 = AstProxyApi( name: 'Api3', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -283,15 +283,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun pigeon_getPigeonApiApi2(): PigeonApiApi2')); expect(code, contains('fun pigeon_getPigeonApiApi3(): PigeonApiApi3')); }); @@ -299,7 +299,7 @@ void main() { group('Constructors', () { test('empty name and no params constructor', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -313,15 +313,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( code, @@ -348,11 +348,11 @@ void main() { }); test('multiple params constructor', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -420,15 +420,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( code, @@ -455,7 +455,7 @@ void main() { }); test('host platform constructor callback method', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -474,8 +474,8 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions( errorClassName: 'TestError', @@ -485,7 +485,7 @@ void main() { sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( @@ -499,7 +499,7 @@ void main() { test( 'host platform constructor calls new instance error for required callbacks', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -518,8 +518,8 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions( errorClassName: 'TestError', @@ -529,7 +529,7 @@ void main() { sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( @@ -542,11 +542,11 @@ void main() { group('Fields', () { test('constructor with fields', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -611,15 +611,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -678,13 +678,13 @@ void main() { }); test('attached field', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -707,15 +707,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains(r'abstract fun aField(pigeon_instance: Api): Api2'), @@ -729,13 +729,13 @@ void main() { }); test('static attached field', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -759,15 +759,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(r'abstract fun aField(): Api2')); expect( code, @@ -780,11 +780,11 @@ void main() { group('Host methods', () { test('multiple params method', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -854,15 +854,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -883,7 +883,7 @@ void main() { }); test('static method', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -903,15 +903,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(collapsedCode, contains('abstract fun doSomething()')); expect(collapsedCode, contains(r'api.doSomething()')); @@ -920,11 +920,11 @@ void main() { group('Flutter methods', () { test('multiple params flutter method', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -988,15 +988,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -1022,7 +1022,7 @@ void main() { test( 'InstanceManager passes runnable field and not a new runnable instance', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -1034,15 +1034,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( @@ -1072,7 +1072,7 @@ void main() { ); test('InstanceManager.getInstance specifies nonnull type', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -1084,15 +1084,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const generator = KotlinGenerator(); generator.generate( const InternalKotlinOptions(kotlinOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( @@ -1121,7 +1121,7 @@ void main() { /// void method( int param1, int param2, ) /// ``` String _collapseNewlineAndIndentation(String string) { - final StringBuffer result = StringBuffer(); + final result = StringBuffer(); for (final String line in string.split('\n')) { result.write('${line.trimLeft()} '); } diff --git a/packages/pigeon/test/kotlin_generator_test.dart b/packages/pigeon/test/kotlin_generator_test.dart index 0196ca85923..10e5193dae9 100644 --- a/packages/pigeon/test/kotlin_generator_test.dart +++ b/packages/pigeon/test/kotlin_generator_test.dart @@ -25,7 +25,7 @@ final Enum emptyEnum = Enum( void main() { test('gen one class', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -34,23 +34,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('data class Foobar (')); expect(code, contains('val field1: Long? = null')); expect(code, contains('fun fromList(pigeonVar_list: List): Foobar')); @@ -59,37 +57,31 @@ void main() { }); test('gen one enum', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'Foobar', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final Root root = Root( - apis: [], - classes: [], - enums: [anEnum], - ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final root = Root(apis: [], classes: [], enums: [anEnum]); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum class Foobar(val raw: Int) {')); expect(code, contains('ONE(0)')); expect(code, contains('TWO(1)')); }); test('gen class with enum', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -123,18 +115,16 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum class Foo(val raw: Int) {')); expect(code, contains('data class Bar (')); expect(code, contains('val field1: Foo,')); @@ -147,7 +137,7 @@ void main() { }); test('primitive enum host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Bar', @@ -181,24 +171,22 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum class Foo(val raw: Int) {')); expect(code, contains('Foo.ofRaw(it.toInt())')); }); test('gen one host api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -247,18 +235,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('interface Api')); expect(code, contains('fun doSomething(input: Input): Output')); expect( @@ -291,7 +277,7 @@ void main() { }); test('all the simple datatypes header', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -397,19 +383,17 @@ void main() { enums: [], ); - final StringBuffer sink = StringBuffer(); + final sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('val aBool: Boolean')); expect(code, contains('val aInt: Long')); expect(code, contains('val aDouble: Double')); @@ -429,7 +413,7 @@ void main() { }); test('gen one flutter api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -478,18 +462,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -500,7 +482,7 @@ void main() { }); test('gen host void api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -536,24 +518,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(matches('.*doSomething(.*) ->'))); expect(code, matches('doSomething(.*)')); }); test('gen flutter void return api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -589,18 +569,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('callback: (Result) -> Unit')); expect(code, contains('callback(Result.success(Unit))')); // Lines should not end in semicolons. @@ -608,7 +586,7 @@ void main() { }); test('gen host void argument api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -639,18 +617,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun doSomething(): Output')); expect(code, contains('listOf(api.doSomething())')); expect(code, contains('wrapError(exception)')); @@ -658,7 +634,7 @@ void main() { }); test('gen flutter void argument api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -689,18 +665,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('fun doSomething(callback: (Result) -> Unit)'), @@ -709,7 +683,7 @@ void main() { }); test('gen list', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -724,24 +698,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('data class Foobar')); expect(code, contains('val field1: List? = null')); }); test('gen map', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -756,24 +728,22 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('data class Foobar')); expect(code, contains('val field1: Map? = null')); }); test('gen nested', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Outer', fields: [ NamedType( @@ -786,7 +756,7 @@ void main() { ), ], ); - final Class nestedClass = Class( + final nestedClass = Class( name: 'Nested', fields: [ NamedType( @@ -795,23 +765,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition, nestedClass], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('data class Outer')); expect(code, contains('data class Nested')); expect(code, contains('val nested: Nested? = null')); @@ -821,7 +789,7 @@ void main() { }); test('gen one async Host Api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -871,25 +839,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('interface Api')); expect(code, contains('api.doSomething(argArg) {')); expect(code, contains('reply.reply(PigeonUtils.wrapResult(data))')); }); test('gen one async Flutter Api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -939,31 +905,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect(code, matches('fun doSomething.*Input.*callback.*Output.*Unit')); }); test('gen one enum class', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'SampleEnum', members: [ EnumMember(name: 'sampleVersion'), EnumMember(name: 'sampleTest'), ], ); - final Class classDefinition = Class( + final classDefinition = Class( name: 'EnumClass', fields: [ NamedType( @@ -976,23 +940,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum class SampleEnum(val raw: Int)')); expect(code, contains('SAMPLE_VERSION(0)')); expect(code, contains('SAMPLE_TEST(1)')); @@ -1003,25 +965,25 @@ void main() { } test('header', () { - final Root root = Root(apis: [], classes: [], enums: []); - final StringBuffer sink = StringBuffer(); - final InternalKotlinOptions kotlinOptions = InternalKotlinOptions( + final root = Root(apis: [], classes: [], enums: []); + final sink = StringBuffer(); + final kotlinOptions = InternalKotlinOptions( copyrightHeader: makeIterable('hello world'), kotlinOut: '', ); - const KotlinGenerator generator = KotlinGenerator(); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, startsWith('// hello world')); }); test('generics - list', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -1036,29 +998,27 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('data class Foobar')); expect(code, contains('val field1: List')); }); test('generics - maps', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -1074,29 +1034,27 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('data class Foobar')); expect(code, contains('val field1: Map')); }); test('host generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1124,23 +1082,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun doit(arg: List')); }); test('flutter generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1168,23 +1124,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun doit(argArg: List')); }); test('host generics return', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1207,25 +1161,23 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun doit(): List')); expect(code, contains('listOf(api.doit())')); expect(code, contains('reply.reply(wrapped)')); }); test('flutter generics return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1248,25 +1200,23 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun doit(callback: (Result>) -> Unit)')); expect(code, contains('val output = it[0] as List')); expect(code, contains('callback(Result.success(output))')); }); test('host multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1301,18 +1251,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun add(x: Long, y: Long): Long')); expect(code, contains('val args = message as List')); expect(code, contains('listOf(api.add(xArg, yArg))')); @@ -1320,7 +1268,7 @@ void main() { }); test('flutter multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1355,18 +1303,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('val channel = BasicMessageChannel')); expect(code, contains('callback(Result.success(output))')); expect( @@ -1379,7 +1325,7 @@ void main() { }); test('return nullable host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1399,23 +1345,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun doit(): Long?')); }); test('return nullable host async', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1436,23 +1380,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('fun doit(callback: (Result) -> Unit')); }); test('nullable argument host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1477,23 +1419,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('val fooArg = args[0]')); }); test('nullable argument flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1518,18 +1458,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('fun doit(fooArg: Long?, callback: (Result) -> Unit)'), @@ -1537,7 +1475,7 @@ void main() { }); test('nonnull fields', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1576,23 +1514,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('val input: String\n')); }); test('transfers documentation comments', () { - final List comments = [ + final comments = [ ' api comment', ' api method comment', ' class comment', @@ -1600,12 +1536,12 @@ void main() { ' enum comment', ' enum member comment', ]; - int count = 0; + var count = 0; - final List unspacedComments = ['////////']; - int unspacedCount = 0; + final unspacedComments = ['////////']; + var unspacedCount = 0; - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'api', @@ -1666,19 +1602,17 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); - for (final String comment in comments) { + final code = sink.toString(); + for (final comment in comments) { // This regex finds the comment only between the open and close comment block expect( RegExp( @@ -1692,7 +1626,7 @@ void main() { }); test('creates custom codecs', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1742,51 +1676,46 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(' : StandardMessageCodec() ')); }); test('creates api error class for custom errors', () { - final Method method = Method( + final method = Method( name: 'doSomething', location: ApiLocation.host, returnType: const TypeDeclaration.voidDeclaration(), parameters: [], ); - final AstHostApi api = AstHostApi( - name: 'SomeApi', - methods: [method], - ); - final Root root = Root( + final api = AstHostApi(name: 'SomeApi', methods: [method]); + final root = Root( apis: [api], classes: [], enums: [], containsHostApi: true, ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions( errorClassName: 'SomeError', kotlinOut: '', ); - const KotlinGenerator generator = KotlinGenerator(); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class SomeError')); expect(code, contains('if (exception is SomeError)')); expect(code, contains('exception.code,')); @@ -1795,7 +1724,7 @@ void main() { }); test('connection error contains channel name', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1821,18 +1750,16 @@ void main() { enums: [], containsFlutterApi: true, ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1848,7 +1775,7 @@ void main() { }); test('gen host uses default error class', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1873,23 +1800,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('FlutterError')); }); test('gen flutter uses default error class', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1914,23 +1839,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( - kotlinOut: '', - ); - const KotlinGenerator generator = KotlinGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalKotlinOptions(kotlinOut: ''); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('FlutterError')); }); test('gen host uses error class', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1955,26 +1878,26 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const String errorClassName = 'FooError'; - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( + final sink = StringBuffer(); + const errorClassName = 'FooError'; + const kotlinOptions = InternalKotlinOptions( errorClassName: errorClassName, kotlinOut: '', ); - const KotlinGenerator generator = KotlinGenerator(); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(errorClassName)); expect(code, isNot(contains('FlutterError'))); }); test('gen flutter uses error class', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1999,26 +1922,26 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const String errorClassName = 'FooError'; - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( + final sink = StringBuffer(); + const errorClassName = 'FooError'; + const kotlinOptions = InternalKotlinOptions( errorClassName: errorClassName, kotlinOut: '', ); - const KotlinGenerator generator = KotlinGenerator(); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(errorClassName)); expect(code, isNot(contains('FlutterError'))); }); test('do not generate duplicated entries in writeValue', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'FooBar', @@ -2067,13 +1990,13 @@ void main() { enums: [], ); - final StringBuffer sink = StringBuffer(); - const String errorClassName = 'FooError'; - const InternalKotlinOptions kotlinOptions = InternalKotlinOptions( + final sink = StringBuffer(); + const errorClassName = 'FooError'; + const kotlinOptions = InternalKotlinOptions( errorClassName: errorClassName, kotlinOut: '', ); - const KotlinGenerator generator = KotlinGenerator(); + const generator = KotlinGenerator(); generator.generate( kotlinOptions, root, @@ -2081,7 +2004,7 @@ void main() { dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); // Extract override fun writeValue block final int blockStart = code.indexOf('override fun writeValue'); @@ -2091,8 +2014,8 @@ void main() { final String writeValueBlock = code.substring(blockStart, blockEnd); // Count the occurrence of 'is Foo' in the block - int count = 0; - int index = 0; + var count = 0; + var index = 0; while (index != -1) { index = writeValueBlock.indexOf('is Foo', index); if (index != -1) { diff --git a/packages/pigeon/test/objc_generator_test.dart b/packages/pigeon/test/objc_generator_test.dart index 2c806907828..34533036fd5 100644 --- a/packages/pigeon/test/objc_generator_test.dart +++ b/packages/pigeon/test/objc_generator_test.dart @@ -27,7 +27,7 @@ final Enum emptyEnum = Enum( void main() { test('gen one class header', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -42,30 +42,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Foobar')); expect(code, matches('@property.*NSString.*field1')); }); test('gen one class source', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -80,30 +79,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('#import "foo.h"')); expect(code, contains('@implementation Foobar')); }); test('gen one enum header', () { - final Root root = Root( + final root = Root( apis: [], classes: [], enums: [ @@ -116,31 +114,30 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('typedef NS_ENUM(NSUInteger, Enum1) {')); expect(code, contains(' Enum1One = 0,')); expect(code, contains(' Enum1Two = 1,')); }); test('gen one enum header with prefix', () { - final Root root = Root( + final root = Root( apis: [], classes: [], enums: [ @@ -153,32 +150,31 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - prefix: 'PREFIX', - headerIncludePath: '', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + prefix: 'PREFIX', + headerIncludePath: '', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('typedef NS_ENUM(NSUInteger, PREFIXEnum1) {')); expect(code, contains(' PREFIXEnum1One = 0,')); expect(code, contains(' PREFIXEnum1Two = 1,')); }); test('gen one class source with enum', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -209,24 +205,23 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('#import "foo.h"')); expect(code, contains('@implementation Foobar')); expect( @@ -238,7 +233,7 @@ void main() { }); test('primitive enum host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Bar', @@ -272,44 +267,42 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalObjcOptions options = InternalObjcOptions( + final sink = StringBuffer(); + const options = InternalObjcOptions( headerIncludePath: 'foo.h', prefix: 'AC', objcHeaderOut: '', objcSourceOut: '', ); { - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: options, - ); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: options, + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('typedef NS_ENUM(NSUInteger, ACFoo)')); expect(code, contains(':(ACFoo)foo error:')); } { - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: options, - ); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: options, + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -322,7 +315,7 @@ void main() { }); test('validate nullable primitive enum', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Bar', @@ -356,7 +349,7 @@ void main() { ), ], ); - const InternalObjcOptions options = InternalObjcOptions( + const options = InternalObjcOptions( headerIncludePath: 'foo.h', objcHeaderOut: '', objcSourceOut: '', @@ -367,7 +360,7 @@ void main() { }); test('gen one class header with enum', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -398,24 +391,23 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('@property(nonatomic, strong, nullable) Enum1Box * enum1;'), @@ -423,7 +415,7 @@ void main() { }); test('gen one api header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -472,24 +464,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Input')); expect(code, contains('@interface Output')); expect(code, contains('@protocol Api')); @@ -499,7 +490,7 @@ void main() { }); test('gen one api source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -548,24 +539,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('#import "foo.h"')); expect(code, contains('@implementation Input')); expect(code, contains('@implementation Output')); @@ -579,7 +569,7 @@ void main() { }); test('all the simple datatypes header', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -635,24 +625,23 @@ void main() { enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Foobar')); expect(code, contains('@class FlutterStandardTypedData;')); expect(code, matches('@property.*strong.*NSNumber.*aBool')); @@ -678,7 +667,7 @@ void main() { }); test('bool source', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -694,24 +683,23 @@ void main() { enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@implementation Foobar')); expect( code, @@ -720,7 +708,7 @@ void main() { }); test('nested class header', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -748,24 +736,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('@property(nonatomic, strong, nullable) Input * nested;'), @@ -773,7 +760,7 @@ void main() { }); test('nested class source', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -801,24 +788,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('pigeonResult.nested = GetNullableObjectAtIndex(list, 0);'), @@ -826,7 +812,7 @@ void main() { }); test('prefix class header', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -841,30 +827,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface ABCFoobar')); }); test('prefix class source', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -879,30 +864,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@implementation ABCFoobar')); }); test('prefix nested class header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -955,32 +939,31 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('property.*ABCInput')); expect(code, matches('ABCNested.*doSomething.*ABCInput')); expect(code, contains('@protocol ABCApi')); }); test('prefix nested class source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1033,32 +1016,31 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('ABCInput fromList')); expect(code, matches(r'ABCInput.*=.*args.*0.*\;')); expect(code, contains('void SetUpABCApi(')); }); test('gen flutter api header', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1107,24 +1089,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Api : NSObject')); expect( code, @@ -1136,7 +1117,7 @@ void main() { }); test('gen flutter api source', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1185,30 +1166,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@implementation Api')); expect(code, matches('void.*doSomething.*Input.*Output.*{')); }); test('gen host void header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1244,30 +1224,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('(void)doSomething:')); }); test('gen host void source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1303,32 +1282,31 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(matches('=.*doSomething'))); expect(code, matches('[.*doSomething:.*]')); expect(code, contains('callback(wrapResult(nil, error))')); }); test('gen flutter void return header', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1364,30 +1342,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('completion:(void (^)(FlutterError *_Nullable))')); }); test('gen flutter void return source', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1423,31 +1400,30 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('completion:(void (^)(FlutterError *_Nullable))')); expect(code, contains('completion(nil)')); }); test('gen host void arg header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1478,30 +1454,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('ABCOutput.*doSomethingWithError:[(]FlutterError')); }); test('gen host void arg source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1532,30 +1507,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('output.*=.*api doSomethingWithError:&error')); }); test('gen flutter void arg header', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1586,25 +1560,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1614,7 +1587,7 @@ void main() { }); test('gen flutter void arg source', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1645,25 +1618,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1674,7 +1646,7 @@ void main() { }); test('gen list', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -1689,30 +1661,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Foobar')); expect(code, matches('@property.*NSArray.*field1')); }); test('gen map', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -1727,30 +1698,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Foobar')); expect(code, matches('@property.*NSDictionary.*field1')); }); test('gen map field with object', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -1772,24 +1742,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Foobar')); expect( code, @@ -1800,7 +1769,7 @@ void main() { }); test('gen map argument with object', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1829,29 +1798,28 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('(NSDictionary *)foo')); }); test('async void (input) HostApi header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1897,25 +1865,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1925,7 +1892,7 @@ void main() { }); test('async output(input) HostApi header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1975,25 +1942,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2003,7 +1969,7 @@ void main() { }); test('async output(void) HostApi header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2035,25 +2001,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2063,7 +2028,7 @@ void main() { }); test('async void (void) HostApi header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2081,25 +2046,24 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2109,7 +2073,7 @@ void main() { }); test('async output(input) HostApi source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2159,25 +2123,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2187,7 +2150,7 @@ void main() { }); test('async void (input) HostApi source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2233,25 +2196,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2261,7 +2223,7 @@ void main() { }); test('async void (void) HostApi source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2279,25 +2241,24 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2307,7 +2268,7 @@ void main() { }); test('async output(void) HostApi source', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2339,25 +2300,24 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2371,57 +2331,55 @@ void main() { } test('source copyright', () { - final Root root = Root(apis: [], classes: [], enums: []); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - copyrightHeader: makeIterable('hello world'), - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final root = Root(apis: [], classes: [], enums: []); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + copyrightHeader: makeIterable('hello world'), + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, startsWith('// hello world')); }); test('header copyright', () { - final Root root = Root(apis: [], classes: [], enums: []); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - copyrightHeader: makeIterable('hello world'), - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final root = Root(apis: [], classes: [], enums: []); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + copyrightHeader: makeIterable('hello world'), + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, startsWith('// hello world')); }); test('field generics', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -2436,35 +2394,34 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('NSArray * field1')); }); test('host generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2493,47 +2450,45 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doitArg:(NSArray *)arg')); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2544,7 +2499,7 @@ void main() { }); test('flutter generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -2573,53 +2528,51 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doitArg:(NSArray *)arg')); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doitArg:(NSArray *)arg')); } }); test('host nested generic argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2654,31 +2607,30 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doitArg:(NSArray *> *)arg')); } }); test('host generics return', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2702,56 +2654,54 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('- (nullable NSArray *)doitWithError:'), ); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('NSArray *output =')); } }); test('flutter generics return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -2775,50 +2725,48 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('doitWithCompletion:(void (^)(NSArray *'), ); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('doitWithCompletion:(void (^)(NSArray *'), @@ -2827,7 +2775,7 @@ void main() { }); test('host multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2863,25 +2811,24 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2890,25 +2837,24 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('NSArray *args = message;')); expect( code, @@ -2930,7 +2876,7 @@ void main() { }); test('host multiple args async', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -2967,25 +2913,24 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -2994,25 +2939,24 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('NSArray *args = message;')); expect( code, @@ -3031,7 +2975,7 @@ void main() { }); test('flutter multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3067,25 +3011,24 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -3094,25 +3037,24 @@ void main() { ); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -3198,47 +3140,45 @@ void main() { test('host custom objc selector', () { final Root divideRoot = getDivideRoot(ApiLocation.host); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, divideRoot, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('divideValue:.*by:.*error.*;')); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, divideRoot, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('divideValue:.*by:.*error.*;')); } }); @@ -3246,53 +3186,51 @@ void main() { test('flutter custom objc selector', () { final Root divideRoot = getDivideRoot(ApiLocation.flutter); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, divideRoot, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('divideValue:.*by:.*completion.*;')); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - headerIncludePath: 'foo.h', - prefix: 'ABC', - objcHeaderOut: '', - objcSourceOut: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + headerIncludePath: 'foo.h', + prefix: 'ABC', + objcHeaderOut: '', + objcSourceOut: '', + ), + ); generator.generate( generatorOptions, divideRoot, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches('divideValue:.*by:.*completion.*{')); } }); test('test non null field', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -3310,30 +3248,29 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('@interface Foobar')); expect(code, contains('@property(nonatomic, copy) NSString * field1')); }); test('return nullable flutter header', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3353,24 +3290,23 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, matches( @@ -3380,7 +3316,7 @@ void main() { }); test('return nullable flutter source', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3400,29 +3336,28 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches(r'doitWithCompletion.*NSNumber \*_Nullable')); }); test('return nullable host header', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -3442,29 +3377,28 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, matches(r'nullable NSNumber.*doitWithError')); }); test('nullable argument host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -3490,45 +3424,43 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doitFoo:(nullable NSNumber *)foo')); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('NSNumber *arg_foo = GetNullableObjectAtIndex(args, 0);'), @@ -3537,7 +3469,7 @@ void main() { }); test('nullable argument flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3563,51 +3495,49 @@ void main() { enums: [], ); { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('doitFoo:(nullable NSNumber *)foo')); } { - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('- (void)doitFoo:(nullable NSNumber *)arg_foo')); } }); test('background platform channel', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -3628,24 +3558,23 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -3656,7 +3585,7 @@ void main() { }); test('transfers documentation comments', () { - final List comments = [ + final comments = [ ' api comment', ' api method comment', ' class comment', @@ -3664,12 +3593,12 @@ void main() { ' enum comment', ' enum member comment', ]; - int count = 0; + var count = 0; - final List unspacedComments = ['////////']; - int unspacedCount = 0; + final unspacedComments = ['////////']; + var unspacedCount = 0; - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'api', @@ -3730,32 +3659,31 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); - for (final String comment in comments) { + final code = sink.toString(); + for (final comment in comments) { expect(code, contains('///$comment')); } expect(code, contains('/// ///')); }); test('creates custom codecs', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3805,29 +3733,28 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(' : FlutterStandardReader')); }); test('connection error contains channel name', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3853,24 +3780,23 @@ void main() { enums: [], containsFlutterApi: true, ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -3881,14 +3807,14 @@ void main() { }); test('header of FlutterApi uses correct enum name with prefix', () { - final Enum enum1 = Enum( + final enum1 = Enum( name: 'Enum1', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3910,38 +3836,37 @@ void main() { classes: [], enums: [enum1], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - prefix: 'FLT', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + prefix: 'FLT', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('FLTFLT'))); expect(code, contains('FLTEnum1Box')); }); test('source of FlutterApi uses correct enum name with prefix', () { - final Enum enum1 = Enum( + final enum1 = Enum( name: 'Enum1', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -3963,43 +3888,42 @@ void main() { classes: [], enums: [enum1], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - prefix: 'FLT', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + prefix: 'FLT', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('FLTFLT'))); expect(code, contains('FLTEnum1Box')); }); test('header of HostApi uses correct enum name with prefix', () { - final Enum enum1 = Enum( + final enum1 = Enum( name: 'Enum1', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final TypeDeclaration enumType = TypeDeclaration( + final enumType = TypeDeclaration( baseName: 'Enum1', isNullable: false, associatedEnum: enum1, ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -4017,43 +3941,42 @@ void main() { classes: [], enums: [enum1], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.header, - languageOptions: const InternalObjcOptions( - prefix: 'FLT', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.header, + languageOptions: const InternalObjcOptions( + prefix: 'FLT', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('FLTFLT'))); expect(code, contains('FLTEnum1Box')); }); test('source of HostApi uses correct enum name with prefix', () { - final Enum enum1 = Enum( + final enum1 = Enum( name: 'Enum1', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final TypeDeclaration enumType = TypeDeclaration( + final enumType = TypeDeclaration( baseName: 'Enum1', isNullable: false, associatedEnum: enum1, ); - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -4071,25 +3994,24 @@ void main() { classes: [], enums: [enum1], ); - final StringBuffer sink = StringBuffer(); - const ObjcGenerator generator = ObjcGenerator(); - final OutputFileOptions generatorOptions = - OutputFileOptions( - fileType: FileType.source, - languageOptions: const InternalObjcOptions( - prefix: 'FLT', - objcHeaderOut: '', - objcSourceOut: '', - headerIncludePath: '', - ), - ); + final sink = StringBuffer(); + const generator = ObjcGenerator(); + final generatorOptions = OutputFileOptions( + fileType: FileType.source, + languageOptions: const InternalObjcOptions( + prefix: 'FLT', + objcHeaderOut: '', + objcSourceOut: '', + headerIncludePath: '', + ), + ); generator.generate( generatorOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('FLTFLT'))); expect(code, contains('FLTEnum1Box')); }); diff --git a/packages/pigeon/test/pigeon_lib_test.dart b/packages/pigeon/test/pigeon_lib_test.dart index b2409c4dbc5..eda364af15e 100644 --- a/packages/pigeon/test/pigeon_lib_test.dart +++ b/packages/pigeon/test/pigeon_lib_test.dart @@ -45,8 +45,8 @@ void main() { /// after the [callback] is executed. void withTempFile(String filename, void Function(File) callback) { final Directory dir = Directory.systemTemp.createTempSync(); - final String path = '${dir.path}/$filename'; - final File file = File(path); + final path = '${dir.path}/$filename'; + final file = File(path); file.createSync(); try { callback(file); @@ -177,7 +177,7 @@ void main() { }); test('simple parse api', () { - const String code = ''' + const code = ''' class Input1 { String? input; } @@ -243,7 +243,7 @@ abstract class Api1 { }); test('invalid datatype', () { - const String source = ''' + const source = ''' class InvalidDatatype { dynamic something; } @@ -260,7 +260,7 @@ abstract class Api { }); test('Only allow one api annotation', () { - const String source = ''' + const source = ''' @HostApi() @FlutterApi() abstract class Api { @@ -278,7 +278,7 @@ abstract class Api { }); test('Only allow one api annotation plus @ConfigurePigeon', () { - const String source = ''' + const source = ''' @ConfigurePigeon(InternalPigeonOptions( dartOut: 'stdout', javaOut: 'stdout', @@ -295,7 +295,7 @@ abstract class Api { }); test('enum in classes', () { - const String code = ''' + const code = ''' enum Enum1 { one, two, @@ -321,7 +321,7 @@ abstract class Api { }); test('two methods', () { - const String code = ''' + const code = ''' class Input1 { String? input; } @@ -345,7 +345,7 @@ abstract class ApiTwoMethods { }); test('nested', () { - const String code = ''' + const code = ''' class Input1 { String? input; } @@ -371,7 +371,7 @@ abstract class Api { }); test('flutter api', () { - const String code = ''' + const code = ''' class Input1 { String? input; } @@ -393,7 +393,7 @@ abstract class AFlutterApi { }); test('void host api', () { - const String code = ''' + const code = ''' class Input1 { String? input; } @@ -412,7 +412,7 @@ abstract class VoidApi { }); test('void arg host api', () { - const String code = ''' + const code = ''' class Output1 { String? output; } @@ -435,7 +435,7 @@ abstract class VoidArgApi { }); test('mockDartClass', () { - const String code = ''' + const code = ''' class Output1 { String? output; } @@ -455,7 +455,7 @@ abstract class ApiWithMockDartClass { }); test('only visible from nesting', () { - const String code = ''' + const code = ''' class OnlyVisibleFromNesting { String? foo; } @@ -489,13 +489,13 @@ abstract class NestorApi { }); test('Dart generator copyright flag', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( copyrightHeader: './copyright_header.txt', dartOut: '', ); - final DartGeneratorAdapter dartGeneratorAdapter = DartGeneratorAdapter(); - final StringBuffer buffer = StringBuffer(); + final dartGeneratorAdapter = DartGeneratorAdapter(); + final buffer = StringBuffer(); dartGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -506,13 +506,13 @@ abstract class NestorApi { }); test('Java generator copyright flag', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( javaOut: 'Foo.java', copyrightHeader: './copyright_header.txt', ); - final JavaGeneratorAdapter javaGeneratorAdapter = JavaGeneratorAdapter(); - final StringBuffer buffer = StringBuffer(); + final javaGeneratorAdapter = JavaGeneratorAdapter(); + final buffer = StringBuffer(); javaGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -523,15 +523,14 @@ abstract class NestorApi { }); test('Objc header generator copyright flag', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( copyrightHeader: './copyright_header.txt', objcHeaderOut: '', objcSourceOut: '', ); - final ObjcGeneratorAdapter objcHeaderGeneratorAdapter = - ObjcGeneratorAdapter(); - final StringBuffer buffer = StringBuffer(); + final objcHeaderGeneratorAdapter = ObjcGeneratorAdapter(); + final buffer = StringBuffer(); objcHeaderGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -542,15 +541,14 @@ abstract class NestorApi { }); test('Objc source generator copyright flag', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( copyrightHeader: './copyright_header.txt', objcHeaderOut: '', objcSourceOut: '', ); - final ObjcGeneratorAdapter objcSourceGeneratorAdapter = - ObjcGeneratorAdapter(); - final StringBuffer buffer = StringBuffer(); + final objcSourceGeneratorAdapter = ObjcGeneratorAdapter(); + final buffer = StringBuffer(); objcSourceGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -561,13 +559,13 @@ abstract class NestorApi { }); test('Swift generator copyright flag', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( swiftOut: 'Foo.swift', copyrightHeader: './copyright_header.txt', ); - final SwiftGeneratorAdapter swiftGeneratorAdapter = SwiftGeneratorAdapter(); - final StringBuffer buffer = StringBuffer(); + final swiftGeneratorAdapter = SwiftGeneratorAdapter(); + final buffer = StringBuffer(); swiftGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -578,14 +576,14 @@ abstract class NestorApi { }); test('C++ header generator copyright flag', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( cppSourceOut: '', cppHeaderOut: 'Foo.h', copyrightHeader: './copyright_header.txt', ); - final CppGeneratorAdapter cppHeaderGeneratorAdapter = CppGeneratorAdapter(); - final StringBuffer buffer = StringBuffer(); + final cppHeaderGeneratorAdapter = CppGeneratorAdapter(); + final buffer = StringBuffer(); cppHeaderGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -596,16 +594,16 @@ abstract class NestorApi { }); test('C++ source generator copyright flag', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( copyrightHeader: './copyright_header.txt', cppHeaderOut: '', cppSourceOut: '', ); - final CppGeneratorAdapter cppSourceGeneratorAdapter = CppGeneratorAdapter( + final cppSourceGeneratorAdapter = CppGeneratorAdapter( fileTypeList: [FileType.source], ); - final StringBuffer buffer = StringBuffer(); + final buffer = StringBuffer(); cppSourceGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -616,7 +614,7 @@ abstract class NestorApi { }); test('nested enum', () { - const String code = ''' + const code = ''' enum NestedEnum { one, two } class NestedEnum1 { @@ -645,7 +643,7 @@ abstract class NestedEnumApi { }); test('test circular references', () { - const String code = ''' + const code = ''' class Foo { Bar? bar; } @@ -670,14 +668,14 @@ abstract class NotificationsHostApi { }); test('test compilation error', () { - const String code = 'Hello\n'; + const code = 'Hello\n'; final ParseResults results = parseSource(code); expect(results.errors.length, greaterThanOrEqualTo(1)); expect(results.errors[0].lineNumber, 1); }); test('test method in data class error', () { - const String code = ''' + const code = ''' class Foo { int? x; int? foo() { return x; } @@ -695,7 +693,7 @@ abstract class Api { }); test('test field initialization', () { - const String code = ''' + const code = ''' class Foo { int? x = 123; } @@ -712,7 +710,7 @@ abstract class Api { }); test('test field in api error', () { - const String code = ''' + const code = ''' class Foo { int? x; } @@ -730,7 +728,7 @@ abstract class Api { }); test('constructor in data class', () { - const String code = ''' + const code = ''' class Foo { int? x; Foo({this.x}); @@ -746,7 +744,7 @@ abstract class Api { }); test('constructor body in data class', () { - const String code = ''' + const code = ''' class Foo { int? x; Foo({this.x}) { print('hi'); } @@ -764,7 +762,7 @@ abstract class Api { }); test('constructor body in data class', () { - const String code = ''' + const code = ''' class Foo { int? x; Foo() : x = 0; @@ -782,7 +780,7 @@ abstract class Api { }); test('constructor in api class', () { - const String code = ''' + const code = ''' class Foo { int? x; } @@ -800,20 +798,20 @@ abstract class Api { }); test('test invalid import', () { - const String code = "import 'foo.dart';\n"; + const code = "import 'foo.dart';\n"; final ParseResults results = parseSource(code); expect(results.errors.length, greaterThanOrEqualTo(1)); expect(results.errors[0].lineNumber, 1); }); test('test valid import', () { - const String code = "import 'package:pigeon/pigeon.dart';\n"; + const code = "import 'package:pigeon/pigeon.dart';\n"; final ParseResults parseResults = parseSource(code); expect(parseResults.errors.length, 0); }); test('error with static field', () { - const String code = ''' + const code = ''' class WithStaticField { static int? x; int? y; @@ -831,7 +829,7 @@ abstract class WithStaticFieldApi { }); test('parse generics', () { - const String code = ''' + const code = ''' class Foo { List? list; } @@ -849,7 +847,7 @@ abstract class Api { }); test('parse recursive generics', () { - const String code = ''' + const code = ''' class Foo { List?>? list; } @@ -868,7 +866,7 @@ abstract class Api { }); test('enums argument host', () { - const String code = ''' + const code = ''' enum Foo { one, two, @@ -884,7 +882,7 @@ abstract class Api { }); test('enums argument flutter', () { - const String code = ''' + const code = ''' enum Foo { one, @@ -901,7 +899,7 @@ abstract class Api { }); test('enums list argument', () { - const String code = ''' + const code = ''' enum Foo { one, two } @HostApi() @@ -914,7 +912,7 @@ abstract class Api { }); test('enums map argument key', () { - const String code = ''' + const code = ''' enum Foo { one, two } @HostApi() @@ -927,7 +925,7 @@ abstract class Api { }); test('enums map argument value', () { - const String code = ''' + const code = ''' enum Foo { one, two } @HostApi() @@ -940,7 +938,7 @@ abstract class Api { }); test('enums return value', () { - const String code = ''' + const code = ''' enum Foo { one, @@ -957,7 +955,7 @@ abstract class Api { }); test('return type generics', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { List doit(); @@ -982,7 +980,7 @@ abstract class Api { }); test('argument generics', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { void doit(int x, List value); @@ -1018,7 +1016,7 @@ abstract class Api { }); test('map generics', () { - const String code = ''' + const code = ''' class Foo { Map map; } @@ -1036,7 +1034,7 @@ abstract class Api { }); test('two parameters', () { - const String code = ''' + const code = ''' class Input { String? input; } @@ -1054,7 +1052,7 @@ abstract class Api { }); test('no type name argument', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { void method(x); @@ -1070,7 +1068,7 @@ abstract class Api { }); test('custom objc selector', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { @ObjCSelector('subtractValue:by:') @@ -1088,7 +1086,7 @@ abstract class Api { }); test('custom objc invalid selector', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { @ObjCSelector('subtractValue:by:error:') @@ -1105,7 +1103,7 @@ abstract class Api { }); test('custom objc no parameters', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { @ObjCSelector('foobar') @@ -1120,7 +1118,7 @@ abstract class Api { }); test('custom swift valid function signature', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { @SwiftFunction('subtractValue(_:by:)') @@ -1138,7 +1136,7 @@ abstract class Api { }); test('custom swift invalid function signature', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { @SwiftFunction('subtractValue(_:by:error:)') @@ -1155,7 +1153,7 @@ abstract class Api { }); test('custom swift function signature no parameters', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { @SwiftFunction('foobar()') @@ -1170,15 +1168,14 @@ abstract class Api { }); test('dart test has copyright', () { - final Root root = Root(apis: [], classes: [], enums: []); - const PigeonOptions options = PigeonOptions( + final root = Root(apis: [], classes: [], enums: []); + const options = PigeonOptions( copyrightHeader: './copyright_header.txt', dartTestOut: 'stdout', dartOut: 'stdout', ); - final DartTestGeneratorAdapter dartTestGeneratorAdapter = - DartTestGeneratorAdapter(); - final StringBuffer buffer = StringBuffer(); + final dartTestGeneratorAdapter = DartTestGeneratorAdapter(); + final buffer = StringBuffer(); dartTestGeneratorAdapter.generate( buffer, InternalPigeonOptions.fromPigeonOptions(options), @@ -1189,7 +1186,7 @@ abstract class Api { }); test('only class reference is type argument for return value', () { - const String code = ''' + const code = ''' class Foo { int? foo; } @@ -1206,7 +1203,7 @@ abstract class Api { }); test('only class reference is type argument for argument', () { - const String code = ''' + const code = ''' class Foo { int? foo; } @@ -1223,7 +1220,7 @@ abstract class Api { }); test('recurse into type parameters', () { - const String code = ''' + const code = ''' class Foo { int? foo; List bars; @@ -1256,7 +1253,7 @@ abstract class Api { }); test('undeclared class in argument type argument', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { void storeAll(List foos); @@ -1269,7 +1266,7 @@ abstract class Api { }); test('Object type argument', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { void storeAll(List foos); @@ -1280,7 +1277,7 @@ abstract class Api { }); test('Export unreferenced enums', () { - const String code = ''' + const code = ''' enum MessageKey { title, subtitle, @@ -1303,7 +1300,7 @@ abstract class HostApiBridge { }); test('@ConfigurePigeon JavaOptions.copyrightHeader', () { - const String code = ''' + const code = ''' @ConfigurePigeon(InternalPigeonOptions( javaOptions: JavaOptions(copyrightHeader: ['A', 'Header']), )) @@ -1318,7 +1315,7 @@ class Message { }); test('@ConfigurePigeon DartOptions.copyrightHeader', () { - const String code = ''' + const code = ''' @ConfigurePigeon(PigeonOptions( dartOptions: DartOptions(copyrightHeader: ['A', 'Header']), )) @@ -1333,7 +1330,7 @@ class Message { }); test('@ConfigurePigeon ObjcOptions.copyrightHeader', () { - const String code = ''' + const code = ''' @ConfigurePigeon(PigeonOptions( objcOptions: ObjcOptions(copyrightHeader: ['A', 'Header']), )) @@ -1348,7 +1345,7 @@ class Message { }); test('@ConfigurePigeon ObjcOptions.headerIncludePath', () { - const String code = ''' + const code = ''' @ConfigurePigeon(PigeonOptions( objcOptions: ObjcOptions(headerIncludePath: 'Header.path'), )) @@ -1363,7 +1360,7 @@ class Message { }); test('@ConfigurePigeon CppOptions.headerIncludePath', () { - const String code = ''' + const code = ''' @ConfigurePigeon(PigeonOptions( cppOptions: CppOptions(headerIncludePath: 'Header.path'), )) @@ -1378,7 +1375,7 @@ class Message { }); test('return nullable', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { int? calc(); @@ -1391,7 +1388,7 @@ abstract class Api { }); test('nullable parameters', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { void calc(int? value); @@ -1406,7 +1403,7 @@ abstract class Api { }); test('task queue specified', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { @TaskQueue(type: TaskQueueType.serialBackgroundThread) @@ -1423,7 +1420,7 @@ abstract class Api { }); test('task queue unspecified', () { - const String code = ''' + const code = ''' @HostApi() abstract class Api { int? calc(); @@ -1439,7 +1436,7 @@ abstract class Api { }); test('unsupported task queue on FlutterApi', () { - const String code = ''' + const code = ''' @FlutterApi() abstract class Api { @TaskQueue(type: TaskQueueType.serialBackgroundThread) @@ -1456,11 +1453,9 @@ abstract class Api { }); test('generator validation', () async { - final Completer completer = Completer(); + final completer = Completer(); withTempFile('foo.dart', (File input) async { - final _ValidatorGeneratorAdapter generator = _ValidatorGeneratorAdapter( - stdout, - ); + final generator = _ValidatorGeneratorAdapter(stdout); final int result = await Pigeon.run( ['--input', input.path], adapters: [generator], @@ -1473,11 +1468,9 @@ abstract class Api { }); test('generator validation skipped', () async { - final Completer completer = Completer(); + final completer = Completer(); withTempFile('foo.dart', (File input) async { - final _ValidatorGeneratorAdapter generator = _ValidatorGeneratorAdapter( - null, - ); + final generator = _ValidatorGeneratorAdapter(null); final int result = await Pigeon.run( ['--input', input.path, '--dart_out', 'foo.dart'], adapters: [generator], @@ -1490,11 +1483,9 @@ abstract class Api { }); test('run with PigeonOptions', () async { - final Completer completer = Completer(); + final completer = Completer(); withTempFile('foo.dart', (File input) async { - final _ValidatorGeneratorAdapter generator = _ValidatorGeneratorAdapter( - null, - ); + final generator = _ValidatorGeneratorAdapter(null); final int result = await Pigeon.runWithOptions( PigeonOptions(input: input.path, dartOut: 'foo.dart'), adapters: [generator], @@ -1507,7 +1498,7 @@ abstract class Api { }); test('unsupported non-positional parameters on FlutterApi', () { - const String code = ''' + const code = ''' @FlutterApi() abstract class Api { int? calc({int? anInt}); @@ -1523,7 +1514,7 @@ abstract class Api { }); test('unsupported optional parameters on FlutterApi', () { - const String code = ''' + const code = ''' @FlutterApi() abstract class Api { int? calc([int? anInt]); @@ -1539,7 +1530,7 @@ abstract class Api { }); test('simple parse ProxyApi', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass { MyClass(); @@ -1553,7 +1544,7 @@ abstract class MyClass { final Root root = parseResult.root; expect(root.apis.length, equals(1)); - final AstProxyApi proxyApi = root.apis.single as AstProxyApi; + final proxyApi = root.apis.single as AstProxyApi; expect(proxyApi.name, equals('MyClass')); expect(proxyApi.constructors.single.name, equals('')); expect(proxyApi.methods.length, equals(2)); @@ -1569,7 +1560,7 @@ abstract class MyClass { group('ProxyApi validation', () { test('error with using data class', () { - const String code = ''' + const code = ''' class DataClass { late int input; } @@ -1588,7 +1579,7 @@ abstract class MyClass { }); test('super class must be proxy api', () { - const String code = ''' + const code = ''' class DataClass { late int input; } @@ -1607,7 +1598,7 @@ abstract class MyClass extends DataClass { }); test('interface must be proxy api', () { - const String code = ''' + const code = ''' class DataClass { late int input; } @@ -1626,7 +1617,7 @@ abstract class MyClass implements DataClass { }); test('unattached fields can not be inherited', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass extends MyOtherClass { } @@ -1648,7 +1639,7 @@ abstract class MyOtherClass { test( 'api is not used as an attached field while having an unattached field', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass { @attached @@ -1674,7 +1665,7 @@ abstract class MyOtherClass { test( 'api is not used as an attached field while having a required Flutter method', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass { @attached @@ -1698,7 +1689,7 @@ abstract class MyOtherClass { ); test('interfaces can only have callback methods', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass implements MyOtherClass { } @@ -1719,7 +1710,7 @@ abstract class MyOtherClass { }); test('attached fields must be a ProxyApi', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass { @attached @@ -1735,7 +1726,7 @@ abstract class MyClass { }); test('attached fields must not be nullable', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass { @attached @@ -1751,7 +1742,7 @@ abstract class MyClass { }); test('callback methods with non-null return types must be non-null', () { - const String code = ''' + const code = ''' @ProxyApi() abstract class MyClass { late String Function()? aCallbackMethod; @@ -1770,7 +1761,7 @@ abstract class MyClass { group('event channel validation', () { test('methods cannot contain parameters', () { - const String code = ''' + const code = ''' @EventChannelApi() abstract class EventChannelApi { int streamInts(int event); @@ -1789,7 +1780,7 @@ abstract class EventChannelApi { group('sealed inheritance validation', () { test('super class must be sealed', () { - const String code = ''' + const code = ''' class DataClass {} class ChildClass extends DataClass { ChildClass(this.input); @@ -1810,7 +1801,7 @@ abstract class events { }); test('super class must be sealed', () { - const String code = ''' + const code = ''' sealed class DataClass { DataClass(this.input); int input; diff --git a/packages/pigeon/test/pigeon_test.dart b/packages/pigeon/test/pigeon_test.dart index 564cdcedf7c..8756fdcbdc7 100644 --- a/packages/pigeon/test/pigeon_test.dart +++ b/packages/pigeon/test/pigeon_test.dart @@ -7,22 +7,22 @@ import 'package:test/test.dart'; void main() { test('Should be able to import JavaOptions', () async { - const JavaOptions javaOptions = JavaOptions(); + const javaOptions = JavaOptions(); expect(javaOptions, isNotNull); }); test('Should be able to import ObjcOptions', () async { - const ObjcOptions objcOptions = ObjcOptions(); + const objcOptions = ObjcOptions(); expect(objcOptions, isNotNull); }); test('Should be able to import SwiftOptions', () async { - const SwiftOptions swiftOptions = SwiftOptions(); + const swiftOptions = SwiftOptions(); expect(swiftOptions, isNotNull); }); test('Should be able to import KotlinOptions', () async { - const KotlinOptions kotlinOptions = KotlinOptions(); + const kotlinOptions = KotlinOptions(); expect(kotlinOptions, isNotNull); }); } diff --git a/packages/pigeon/test/swift/proxy_api_test.dart b/packages/pigeon/test/swift/proxy_api_test.dart index b35d1ba8292..ccf1df2f97e 100644 --- a/packages/pigeon/test/swift/proxy_api_test.dart +++ b/packages/pigeon/test/swift/proxy_api_test.dart @@ -11,7 +11,7 @@ const String DEFAULT_PACKAGE_NAME = 'test_package'; void main() { group('ProxyApi', () { test('one api', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -81,8 +81,8 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions( fileSpecificClassNameComponent: 'MyFile', @@ -92,7 +92,7 @@ void main() { sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); // import @@ -174,7 +174,7 @@ void main() { group('imports', () { test('add check if every class does not support iOS', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -190,21 +190,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('#if !os(iOS)\nimport MyImport\n#endif')); }); test('add check if every class does not support macOS', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -220,21 +220,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('#if !os(macOS)\nimport MyImport\n#endif')); }); test('add check if for multiple unsupported platforms', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -251,15 +251,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, @@ -268,7 +268,7 @@ void main() { }); test('do not add check if at least one class is supported', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -291,15 +291,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(contains('#if !os(iOS)\nimport MyImport'))); }); @@ -307,13 +307,13 @@ void main() { group('inheritance', () { test('extends', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -331,26 +331,26 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('var pigeonApiApi2: PigeonApiApi2')); }); test('implements', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -370,32 +370,32 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('var pigeonApiApi2: PigeonApiApi2')); }); test('implements 2 ProxyApis', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final AstProxyApi api3 = AstProxyApi( + final api3 = AstProxyApi( name: 'Api3', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -421,15 +421,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('var pigeonApiApi2: PigeonApiApi2')); expect(code, contains('var pigeonApiApi3: PigeonApiApi3')); }); @@ -437,7 +437,7 @@ void main() { group('Constructors', () { test('empty name and no params constructor', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -451,15 +451,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class PigeonApiApi: PigeonApiProtocolApi ')); expect( @@ -483,7 +483,7 @@ void main() { }); test('named constructor', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -500,15 +500,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -525,11 +525,11 @@ void main() { }); test('multiple params constructor', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -597,15 +597,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect(code, contains('class PigeonApiApi: PigeonApiProtocolApi ')); expect( @@ -628,7 +628,7 @@ void main() { test( 'host platform constructor calls new instance error for required callbacks', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -647,8 +647,8 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions( errorClassName: 'TestError', @@ -658,7 +658,7 @@ void main() { sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( @@ -673,11 +673,11 @@ void main() { group('Fields', () { test('constructor with fields', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -742,15 +742,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -814,13 +814,13 @@ void main() { }); test('attached field', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -843,15 +843,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -867,13 +867,13 @@ void main() { }); test('static attached field', () { - final AstProxyApi api2 = AstProxyApi( + final api2 = AstProxyApi( name: 'Api2', constructors: [], fields: [], methods: [], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -897,15 +897,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains(r'func aField(pigeonApi: PigeonApiApi) throws -> Api2'), @@ -921,11 +921,11 @@ void main() { group('Host methods', () { test('multiple params method', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -995,15 +995,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -1025,7 +1025,7 @@ void main() { }); test('static method', () { - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -1045,15 +1045,15 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -1068,11 +1068,11 @@ void main() { group('Flutter methods', () { test('multiple params flutter method', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'AnEnum', members: [EnumMember(name: 'one')], ); - final Root root = Root( + final root = Root( apis: [ AstProxyApi( name: 'Api', @@ -1136,15 +1136,15 @@ void main() { classes: [], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const generator = SwiftGenerator(); generator.generate( const InternalSwiftOptions(swiftOut: ''), root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); final String collapsedCode = _collapseNewlineAndIndentation(code); expect( collapsedCode, @@ -1185,7 +1185,7 @@ void main() { /// void method( int param1, int param2, ) /// ``` String _collapseNewlineAndIndentation(String string) { - final StringBuffer result = StringBuffer(); + final result = StringBuffer(); for (final String line in string.split('\n')) { result.write('${line.trimLeft()} '); } diff --git a/packages/pigeon/test/swift_generator_test.dart b/packages/pigeon/test/swift_generator_test.dart index d30cd8ae4ed..c91f09e9976 100644 --- a/packages/pigeon/test/swift_generator_test.dart +++ b/packages/pigeon/test/swift_generator_test.dart @@ -25,7 +25,7 @@ final Enum emptyEnum = Enum( void main() { test('gen one class', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -34,23 +34,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('struct Foobar')); expect(code, contains('var field1: Int64? = nil')); expect( @@ -62,30 +60,24 @@ void main() { }); test('gen one enum', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'Foobar', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final Root root = Root( - apis: [], - classes: [], - enums: [anEnum], - ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final root = Root(apis: [], classes: [], enums: [anEnum]); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum Foobar: Int')); expect(code, contains(' case one = 0')); expect(code, contains(' case two = 1')); @@ -93,7 +85,7 @@ void main() { }); test('primitive enum host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Bar', @@ -127,18 +119,16 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum Foo: Int')); expect( code, @@ -152,7 +142,7 @@ void main() { }); test('gen one host api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -201,18 +191,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('protocol Api')); expect(code, matches('func doSomething.*Input.*Output')); expect(code, contains('doSomethingChannel.setMessageHandler')); @@ -220,7 +208,7 @@ void main() { }); test('all the simple datatypes header', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -276,18 +264,16 @@ void main() { enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('var aBool: Bool? = nil')); expect(code, contains('var aInt: Int64? = nil')); expect(code, contains('var aDouble: Double? = nil')); @@ -299,12 +285,10 @@ void main() { }); test('gen pigeon error type', () { - final Root root = Root(apis: [], classes: [], enums: []); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final root = Root(apis: [], classes: [], enums: []); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, @@ -312,7 +296,7 @@ void main() { sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class PigeonError: Error')); expect(code, contains('let code: String')); expect(code, contains('let message: String?')); @@ -324,7 +308,7 @@ void main() { }); test('gen one flutter api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -373,18 +357,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect( code, @@ -398,7 +380,7 @@ void main() { }); test('gen host void api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -434,25 +416,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, isNot(matches('.*doSomething(.*) ->'))); expect(code, matches('doSomething(.*)')); expect(code, isNot(contains('if ('))); }); test('gen flutter void return api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -488,18 +468,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains('completion: @escaping (Result) -> Void'), @@ -509,7 +487,7 @@ void main() { }); test('gen host void argument api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -540,18 +518,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func doSomething() throws -> Output')); expect(code, contains('let result = try api.doSomething()')); expect(code, contains('reply(wrapResult(result))')); @@ -559,7 +535,7 @@ void main() { }); test('gen flutter void argument api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -590,18 +566,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -613,7 +587,7 @@ void main() { }); test('gen list', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -628,25 +602,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('struct Foobar')); expect(code, contains('var field1: [Any?]? = nil')); expect(code, isNot(contains('if ('))); }); test('gen map', () { - final Root root = Root( + final root = Root( apis: [], classes: [ Class( @@ -661,25 +633,23 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('struct Foobar')); expect(code, contains('var field1: [AnyHashable?: Any?]? = nil')); expect(code, isNot(contains('if ('))); }); test('gen nested', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Outer', fields: [ NamedType( @@ -692,7 +662,7 @@ void main() { ), ], ); - final Class nestedClass = Class( + final nestedClass = Class( name: 'Nested', fields: [ NamedType( @@ -701,23 +671,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition, nestedClass], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('struct Outer')); expect(code, contains('struct Nested')); expect(code, contains('var nested: Nested? = nil')); @@ -736,7 +704,7 @@ void main() { }); test('gen one async Host Api', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -786,18 +754,16 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('protocol Api')); expect(code, contains('api.doSomething(arg: argArg) { result in')); expect(code, contains('reply(wrapResult(res))')); @@ -805,7 +771,7 @@ void main() { }); test('gen one async Flutter Api', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -855,32 +821,30 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('class Api')); expect(code, matches('func doSomething.*Input.*completion.*Output.*Void')); expect(code, isNot(contains('if ('))); }); test('gen one enum class', () { - final Enum anEnum = Enum( + final anEnum = Enum( name: 'Enum1', members: [ EnumMember(name: 'one'), EnumMember(name: 'two'), ], ); - final Class classDefinition = Class( + final classDefinition = Class( name: 'EnumClass', fields: [ NamedType( @@ -893,23 +857,21 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [anEnum], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('enum Enum1: Int')); expect(code, contains('case one = 0')); expect(code, contains('case two = 1')); @@ -917,27 +879,27 @@ void main() { }); test('header', () { - final Root root = Root(apis: [], classes: [], enums: []); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( + final root = Root(apis: [], classes: [], enums: []); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions( swiftOut: '', copyrightHeader: ['hello world', ''], ); - const SwiftGenerator generator = SwiftGenerator(); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, startsWith('// hello world')); // There should be no trailing whitespace on generated comments. expect(code, isNot(matches(RegExp(r'^//.* $', multiLine: true)))); }); test('generics - list', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -952,29 +914,27 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('struct Foobar')); expect(code, contains('var field1: [Int64?]')); }); test('generics - maps', () { - final Class classDefinition = Class( + final classDefinition = Class( name: 'Foobar', fields: [ NamedType( @@ -990,29 +950,27 @@ void main() { ), ], ); - final Root root = Root( + final root = Root( apis: [], classes: [classDefinition], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('struct Foobar')); expect(code, contains('var field1: [String?: String?]')); }); test('host generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1040,23 +998,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func doit(arg: [Int64?]')); }); test('flutter generics argument', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1084,23 +1040,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func doit(arg argArg: [Int64?]')); }); test('host generics return', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1123,25 +1077,23 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func doit() throws -> [Int64?]')); expect(code, contains('let result = try api.doit()')); expect(code, contains('reply(wrapResult(result))')); }); test('flutter generics return', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1164,18 +1116,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1187,7 +1137,7 @@ void main() { }); test('host multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1222,18 +1172,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func add(x: Int64, y: Int64) throws -> Int64')); expect(code, contains('let args = message as! [Any?]')); expect(code, contains('let xArg = args[0] as! Int64')); @@ -1243,7 +1191,7 @@ void main() { }); test('flutter multiple args', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1278,18 +1226,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('let channel = FlutterBasicMessageChannel')); expect(code, contains('let result = listResponse[0] as! Int64')); expect(code, contains('completion(.success(result))')); @@ -1306,7 +1252,7 @@ void main() { }); test('return nullable host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1326,23 +1272,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func doit() throws -> Int64?')); }); test('return nullable host async', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1363,18 +1307,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1384,7 +1326,7 @@ void main() { }); test('nullable argument host', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1409,23 +1351,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('let fooArg: Int64? = nilOrValue(args[0])')); }); test('nullable argument flutter', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1450,18 +1390,16 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( @@ -1471,7 +1409,7 @@ void main() { }); test('nonnull fields', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1510,23 +1448,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('var input: String\n')); }); test('transfers documentation comments', () { - final List comments = [ + final comments = [ ' api comment', ' api method comment', ' class comment', @@ -1534,12 +1470,12 @@ void main() { ' enum comment', ' enum member comment', ]; - int count = 0; + var count = 0; - final List unspacedComments = ['////////']; - int unspacedCount = 0; + final unspacedComments = ['////////']; + var unspacedCount = 0; - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'api', @@ -1600,26 +1536,24 @@ void main() { ), ], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); - for (final String comment in comments) { + final code = sink.toString(); + for (final comment in comments) { expect(code, contains('///$comment')); } expect(code, contains('/// ///')); }); test('creates custom codecs', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1669,23 +1603,21 @@ void main() { ], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains(': FlutterStandardReader ')); }); test('swift function signature', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1718,23 +1650,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func setValue(_ value: Int64, for key: String)')); }); test('swift function signature with same name argument', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1760,23 +1690,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func removeValue(key: String)')); }); test('swift function signature with no arguments', () { - final Root root = Root( + final root = Root( apis: [ AstHostApi( name: 'Api', @@ -1794,23 +1722,21 @@ void main() { classes: [], enums: [], ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions swiftOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const swiftOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( swiftOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect(code, contains('func removeAll()')); }); test('connection error contains channel name', () { - final Root root = Root( + final root = Root( apis: [ AstFlutterApi( name: 'Api', @@ -1836,18 +1762,16 @@ void main() { enums: [], containsFlutterApi: true, ); - final StringBuffer sink = StringBuffer(); - const InternalSwiftOptions kotlinOptions = InternalSwiftOptions( - swiftOut: '', - ); - const SwiftGenerator generator = SwiftGenerator(); + final sink = StringBuffer(); + const kotlinOptions = InternalSwiftOptions(swiftOut: ''); + const generator = SwiftGenerator(); generator.generate( kotlinOptions, root, sink, dartPackageName: DEFAULT_PACKAGE_NAME, ); - final String code = sink.toString(); + final code = sink.toString(); expect( code, contains( diff --git a/packages/pigeon/test/version_test.dart b/packages/pigeon/test/version_test.dart index 766c77da767..53cb80b35e6 100644 --- a/packages/pigeon/test/version_test.dart +++ b/packages/pigeon/test/version_test.dart @@ -9,9 +9,9 @@ import 'package:test/test.dart'; void main() { test('pigeon version matches pubspec', () { - final String pubspecPath = '${Directory.current.path}/pubspec.yaml'; + final pubspecPath = '${Directory.current.path}/pubspec.yaml'; final String pubspec = File(pubspecPath).readAsStringSync(); - final RegExp regex = RegExp(r'version:\s*(.*?) #'); + final regex = RegExp(r'version:\s*(.*?) #'); final RegExpMatch? match = regex.firstMatch(pubspec); expect(match, isNotNull); expect( diff --git a/packages/pigeon/tool/generate.dart b/packages/pigeon/tool/generate.dart index b32381eb09b..ed9e2bde111 100644 --- a/packages/pigeon/tool/generate.dart +++ b/packages/pigeon/tool/generate.dart @@ -28,7 +28,7 @@ const String _overflowFiller = 'overflow'; const List _fileGroups = [_test, _example]; Future main(List args) async { - final ArgParser parser = ArgParser() + final parser = ArgParser() ..addFlag( _formatFlag, abbr: 'f', diff --git a/packages/pigeon/tool/run_tests.dart b/packages/pigeon/tool/run_tests.dart index b0885d01b59..6f84cdc234b 100644 --- a/packages/pigeon/tool/run_tests.dart +++ b/packages/pigeon/tool/run_tests.dart @@ -28,7 +28,7 @@ void _validateTestCoverage(List> shards) { if (missing.isNotEmpty) { print('The following test suites are not being run on any host:'); - for (final String suite in missing) { + for (final suite in missing) { print(' $suite'); } exit(1); @@ -185,7 +185,7 @@ Future> _modifiedFiles({ Future main(List args) async { // Run most tests on Linux, since Linux tends to be the easiest and cheapest. - const List linuxHostTests = [ + const linuxHostTests = [ commandLineTests, androidJavaUnitTests, androidJavaLint, @@ -196,7 +196,7 @@ Future main(List args) async { linuxUnitTests, linuxIntegrationTests, ]; - const List macOSHostTests = [ + const macOSHostTests = [ iOSObjCUnitTests, // Currently these are testing exactly the same thing as // macOS*IntegrationTests, so we don't need to run both by default. This @@ -210,10 +210,7 @@ Future main(List args) async { macOSSwiftIntegrationTests, ]; // Run Windows tests on Windows, since that's the only place they can run. - const List windowsHostTests = [ - windowsUnitTests, - windowsIntegrationTests, - ]; + const windowsHostTests = [windowsUnitTests, windowsIntegrationTests]; _validateTestCoverage(>[ linuxHostTests, diff --git a/packages/pigeon/tool/shared/flutter_utils.dart b/packages/pigeon/tool/shared/flutter_utils.dart index 97f6abe3652..c6e3ed9f534 100644 --- a/packages/pigeon/tool/shared/flutter_utils.dart +++ b/packages/pigeon/tool/shared/flutter_utils.dart @@ -18,7 +18,7 @@ Future getDeviceForPlatform(String platform) async { return null; } - String output = result.stdout as String; + var output = result.stdout as String; // --machine doesn't currently prevent the tool from printing banners; // see https://github.com/flutter/flutter/issues/86055. This workaround // can be removed once that is fixed. @@ -26,11 +26,11 @@ Future getDeviceForPlatform(String platform) async { final List> devices = (jsonDecode(output) as List).cast>(); - for (final Map deviceInfo in devices) { + for (final deviceInfo in devices) { final String targetPlatform = (deviceInfo['targetPlatform'] as String?) ?? ''; if (targetPlatform.startsWith(platform)) { - final String? deviceId = deviceInfo['id'] as String?; + final deviceId = deviceInfo['id'] as String?; if (deviceId != null) { return deviceId; } diff --git a/packages/pigeon/tool/shared/generation.dart b/packages/pigeon/tool/shared/generation.dart index 48ee3daf16a..99a19cb1fb7 100644 --- a/packages/pigeon/tool/shared/generation.dart +++ b/packages/pigeon/tool/shared/generation.dart @@ -54,14 +54,12 @@ String _snakeToPascalCase(String snake) { // TODO(stuartmorgan): Remove the need for this when addressing // https://github.com/flutter/flutter/issues/115168. String _javaFilenameForName(String inputName) { - const Map specialCases = { - 'message': 'MessagePigeon', - }; + const specialCases = {'message': 'MessagePigeon'}; return specialCases[inputName] ?? _snakeToPascalCase(inputName); } Future generateExamplePigeons() async { - int success = 0; + var success = 0; success = await runPigeon( input: './example/app/pigeons/messages.dart', basePath: './example/app', @@ -81,7 +79,7 @@ Future generateTestPigeons({ }) async { // TODO(stuartmorgan): Make this dynamic rather than hard-coded. Or eliminate // it entirely; see https://github.com/flutter/flutter/issues/115169. - const Set inputs = { + const inputs = { 'core_tests', 'enum', 'event_channel_tests', @@ -96,8 +94,8 @@ Future generateTestPigeons({ 'proxy_api_tests', }; - const String testPluginName = 'test_plugin'; - const String alternateTestPluginName = 'alternate_language_test_plugin'; + const testPluginName = 'test_plugin'; + const alternateTestPluginName = 'alternate_language_test_plugin'; final String outputBase = p.join(baseDir, 'platform_tests', testPluginName); final String alternateOutputBase = p.join( baseDir, @@ -110,7 +108,7 @@ Future generateTestPigeons({ 'shared_test_plugin_code', ); - for (final String input in inputs) { + for (final input in inputs) { final String pascalCaseName = _snakeToPascalCase(input); final Set skipLanguages = _unsupportedFiles[input] ?? {}; @@ -118,7 +116,7 @@ Future generateTestPigeons({ final bool kotlinErrorClassGenerationTestFiles = input == 'core_tests' || input == 'primitive'; - final String kotlinErrorName = kotlinErrorClassGenerationTestFiles + final kotlinErrorName = kotlinErrorClassGenerationTestFiles ? 'FlutterError' : '${pascalCaseName}Error'; @@ -174,9 +172,9 @@ Future generateTestPigeons({ } // Generate the alternate language test plugin output. - final String objcBase = + final objcBase = '$alternateOutputBase/darwin/$alternateTestPluginName/Sources/$alternateTestPluginName/'; - final String objcBaseRelativeHeaderPath = + final objcBaseRelativeHeaderPath = 'include/$alternateTestPluginName/$pascalCaseName.gen.h'; generateCode = await runPigeon( input: './pigeons/$input.dart', @@ -259,15 +257,14 @@ Future runPigeon({ // parse results in advance when overflow is included to avoid exposing as public option final ParseResults parseResults = Pigeon().parseFile(input); if (injectOverflowTypes) { - final List addedEnums = List.generate( - totalCustomCodecKeysAllowed - 1, - (final int tag) { - return Enum( - name: 'FillerEnum$tag', - members: [EnumMember(name: 'FillerMember$tag')], - ); - }, - ); + final addedEnums = List.generate(totalCustomCodecKeysAllowed - 1, ( + final int tag, + ) { + return Enum( + name: 'FillerEnum$tag', + members: [EnumMember(name: 'FillerMember$tag')], + ); + }); addedEnums.addAll(parseResults.root.enums); parseResults.root.enums = addedEnums; } @@ -334,7 +331,7 @@ Future formatAllFiles({ GeneratorLanguage.swift, }, }) { - final String dartCommand = Platform.isWindows ? 'dart.exe' : 'dart'; + final dartCommand = Platform.isWindows ? 'dart.exe' : 'dart'; return runProcess( dartCommand, [ diff --git a/packages/pigeon/tool/shared/process_utils.dart b/packages/pigeon/tool/shared/process_utils.dart index 2055ecd4fec..e795f00b5d0 100644 --- a/packages/pigeon/tool/shared/process_utils.dart +++ b/packages/pigeon/tool/shared/process_utils.dart @@ -25,8 +25,8 @@ Future runProcess( return process.exitCode; } - final List stdoutBuffer = []; - final List stderrBuffer = []; + final stdoutBuffer = []; + final stderrBuffer = []; final Future stdoutFuture = process.stdout.forEach(stdoutBuffer.addAll); final Future stderrFuture = process.stderr.forEach(stderrBuffer.addAll); final int exitCode = await process.exitCode; diff --git a/packages/pigeon/tool/shared/test_runner.dart b/packages/pigeon/tool/shared/test_runner.dart index 055f0b700a6..810e4746cb1 100644 --- a/packages/pigeon/tool/shared/test_runner.dart +++ b/packages/pigeon/tool/shared/test_runner.dart @@ -88,7 +88,7 @@ Future _runFormat(String baseDir, {required bool ciMode}) async { } Future _runTests(List testsToRun, {required bool ciMode}) async { - for (final String test in testsToRun) { + for (final test in testsToRun) { final TestInfo? info = testSuites[test]; if (info != null) { _printHeading('Running $test', ciMode: ciMode); @@ -107,9 +107,9 @@ Future _runTests(List testsToRun, {required bool ciMode}) async { } void _printHeading(String heading, {required bool ciMode}) { - String timestamp = ''; + var timestamp = ''; if (ciMode) { - final DateTime now = DateTime.now(); + final now = DateTime.now(); timestamp = ' [start time ${now.hour}:${now.minute}:${now.second}]'; } print('##############################'); diff --git a/packages/pigeon/tool/shared/test_suites.dart b/packages/pigeon/tool/shared/test_suites.dart index c00db854741..fe86925792a 100644 --- a/packages/pigeon/tool/shared/test_suites.dart +++ b/packages/pigeon/tool/shared/test_suites.dart @@ -171,9 +171,9 @@ Future _runAndroidKotlinLint({bool ciMode = false}) async { } Future _runAndroidUnitTests(String testPluginPath) async { - final String examplePath = './$testPluginPath/example'; - final String androidProjectPath = '$examplePath/android'; - final File gradleFile = File(p.join(androidProjectPath, 'gradlew')); + final examplePath = './$testPluginPath/example'; + final androidProjectPath = '$examplePath/android'; + final gradleFile = File(p.join(androidProjectPath, 'gradlew')); if (!gradleFile.existsSync()) { final int compileCode = await runFlutterBuild(examplePath, 'apk'); if (compileCode != 0) { @@ -188,9 +188,9 @@ Future _runAndroidLint({ required String testPluginName, required String testPluginPath, }) async { - final String examplePath = './$testPluginPath/example'; - final String androidProjectPath = '$examplePath/android'; - final File gradleFile = File(p.join(androidProjectPath, 'gradlew')); + final examplePath = './$testPluginPath/example'; + final androidProjectPath = '$examplePath/android'; + final gradleFile = File(p.join(androidProjectPath, 'gradlew')); if (!gradleFile.existsSync()) { final int compileCode = await runFlutterBuild( examplePath, @@ -222,7 +222,7 @@ Future _runMobileIntegrationTests( return _noDeviceAvailableExitCode; } - final String examplePath = './$testPluginPath/example'; + final examplePath = './$testPluginPath/example'; return runFlutterCommand(examplePath, 'test', [ _integrationTestFileRelativePath, '-d', @@ -244,8 +244,8 @@ Future _runDartUnitTests({bool ciMode = false}) async { } Future _analyzeFlutterUnitTests(String flutterUnitTestsPath) async { - final String messagePath = '$flutterUnitTestsPath/lib/message.gen.dart'; - final String messageTestPath = '$flutterUnitTestsPath/test/message_test.dart'; + final messagePath = '$flutterUnitTestsPath/lib/message.gen.dart'; + final messageTestPath = '$flutterUnitTestsPath/test/message_test.dart'; final int generateTestCode = await runPigeon( input: 'pigeons/message.dart', dartOut: messagePath, @@ -271,7 +271,7 @@ Future _analyzeFlutterUnitTests(String flutterUnitTestsPath) async { } Future _runFlutterUnitTests({bool ciMode = false}) async { - const String flutterUnitTestsPath = 'platform_tests/shared_test_plugin_code'; + const flutterUnitTestsPath = 'platform_tests/shared_test_plugin_code'; final int analyzeCode = await _analyzeFlutterUnitTests(flutterUnitTestsPath); if (analyzeCode != 0) { return analyzeCode; @@ -303,8 +303,7 @@ Future _runIOSObjCIntegrationTests({bool ciMode = false}) async { return _noDeviceAvailableExitCode; } - const String examplePath = - './$_alternateLanguageTestPluginRelativePath/example'; + const examplePath = './$_alternateLanguageTestPluginRelativePath/example'; return runFlutterCommand(examplePath, 'test', [ _integrationTestFileRelativePath, '-d', @@ -313,8 +312,7 @@ Future _runIOSObjCIntegrationTests({bool ciMode = false}) async { } Future _runMacOSObjCIntegrationTests({bool ciMode = false}) async { - const String examplePath = - './$_alternateLanguageTestPluginRelativePath/example'; + const examplePath = './$_alternateLanguageTestPluginRelativePath/example'; return runFlutterCommand(examplePath, 'test', [ _integrationTestFileRelativePath, '-d', @@ -323,7 +321,7 @@ Future _runMacOSObjCIntegrationTests({bool ciMode = false}) async { } Future _runMacOSSwiftUnitTests({bool ciMode = false}) async { - const String examplePath = './$_testPluginRelativePath/example'; + const examplePath = './$_testPluginRelativePath/example'; final int compileCode = await runFlutterBuild(examplePath, 'macos'); if (compileCode != 0) { return compileCode; @@ -336,7 +334,7 @@ Future _runMacOSSwiftUnitTests({bool ciMode = false}) async { } Future _runMacOSSwiftIntegrationTests({bool ciMode = false}) async { - const String examplePath = './$_testPluginRelativePath/example'; + const examplePath = './$_testPluginRelativePath/example'; return runFlutterCommand(examplePath, 'test', [ _integrationTestFileRelativePath, '-d', @@ -349,7 +347,7 @@ Future _runIOSSwiftUnitTests({bool ciMode = false}) async { } Future _runIOSPluginUnitTests(String testPluginPath) async { - final String examplePath = './$testPluginPath/example'; + final examplePath = './$testPluginPath/example'; final int compileCode = await runFlutterBuild( examplePath, 'ios', @@ -359,10 +357,10 @@ Future _runIOSPluginUnitTests(String testPluginPath) async { return compileCode; } - const String deviceName = 'Pigeon-Test-iPhone'; - const String deviceType = 'com.apple.CoreSimulator.SimDeviceType.iPhone-14'; - const String deviceRuntime = 'com.apple.CoreSimulator.SimRuntime.iOS-18-2'; - const String deviceOS = '18.2'; + const deviceName = 'Pigeon-Test-iPhone'; + const deviceType = 'com.apple.CoreSimulator.SimDeviceType.iPhone-14'; + const deviceRuntime = 'com.apple.CoreSimulator.SimRuntime.iOS-18-2'; + const deviceOS = '18.2'; await _createSimulator(deviceName, deviceType, deviceRuntime); return runXcodeBuild( '$examplePath/ios', @@ -380,7 +378,7 @@ Future _createSimulator( // Delete any existing simulators with the same name until it fails. It will // fail once there are no simulators with the name. Having more than one may // cause issues when builds target the device. - int deleteResult = 0; + var deleteResult = 0; while (deleteResult == 0) { deleteResult = await _deleteSimulator(deviceName); } @@ -405,18 +403,17 @@ Future _runIOSSwiftIntegrationTests({bool ciMode = false}) async { } Future _runLinuxUnitTests({bool ciMode = false}) async { - const String examplePath = './$_testPluginRelativePath/example'; + const examplePath = './$_testPluginRelativePath/example'; final int compileCode = await runFlutterBuild(examplePath, 'linux'); if (compileCode != 0) { return compileCode; } - const String buildDirBase = '$examplePath/build/linux'; - const String buildRelativeBinaryPath = - 'debug/plugins/test_plugin/test_plugin_test'; - const String arm64Path = '$buildDirBase/arm64/$buildRelativeBinaryPath'; - const String x64Path = '$buildDirBase/x64/$buildRelativeBinaryPath'; - final String testBinary = File(arm64Path).existsSync() ? arm64Path : x64Path; + const buildDirBase = '$examplePath/build/linux'; + const buildRelativeBinaryPath = 'debug/plugins/test_plugin/test_plugin_test'; + const arm64Path = '$buildDirBase/arm64/$buildRelativeBinaryPath'; + const x64Path = '$buildDirBase/x64/$buildRelativeBinaryPath'; + final testBinary = File(arm64Path).existsSync() ? arm64Path : x64Path; if (ciMode) { // To avoid having all custom tests in the repo run under xvfb, xvfb-run is // done here rather than at the CI config level. Ideally, Pigeon tests @@ -429,7 +426,7 @@ Future _runLinuxUnitTests({bool ciMode = false}) async { } Future _runLinuxIntegrationTests({bool ciMode = false}) async { - const String examplePath = './$_testPluginRelativePath/example'; + const examplePath = './$_testPluginRelativePath/example'; return runFlutterCommand( examplePath, 'test', @@ -443,7 +440,7 @@ Future _runLinuxIntegrationTests({bool ciMode = false}) async { } Future _runWindowsUnitTests({bool ciMode = false}) async { - const String examplePath = './$_testPluginRelativePath/example'; + const examplePath = './$_testPluginRelativePath/example'; final int compileCode = await runFlutterBuild(examplePath, 'windows'); if (compileCode != 0) { return compileCode; @@ -458,11 +455,11 @@ Future _runWindowsUnitTests({bool ciMode = false}) async { // support a version of Flutter without // https://github.com/flutter/flutter/issues/129807, and just construct the // version of the path with the current architecture. - const String buildDirBase = '$examplePath/build/windows'; - const String buildRelativeBinaryPath = + const buildDirBase = '$examplePath/build/windows'; + const buildRelativeBinaryPath = 'plugins/test_plugin/Debug/test_plugin_test.exe'; - const String arm64Path = '$buildDirBase/arm64/$buildRelativeBinaryPath'; - const String x64Path = '$buildDirBase/x64/$buildRelativeBinaryPath'; + const arm64Path = '$buildDirBase/arm64/$buildRelativeBinaryPath'; + const x64Path = '$buildDirBase/x64/$buildRelativeBinaryPath'; if (File(arm64Path).existsSync()) { return runProcess(arm64Path, []); } else { @@ -471,7 +468,7 @@ Future _runWindowsUnitTests({bool ciMode = false}) async { } Future _runWindowsIntegrationTests({bool ciMode = false}) async { - const String examplePath = './$_testPluginRelativePath/example'; + const examplePath = './$_testPluginRelativePath/example'; return runFlutterCommand(examplePath, 'test', [ _integrationTestFileRelativePath, '-d', @@ -482,7 +479,7 @@ Future _runWindowsIntegrationTests({bool ciMode = false}) async { Future _runCommandLineTests({bool ciMode = false}) async { final Directory tempDir = Directory.systemTemp.createTempSync('pigeon'); final String tempOutput = p.join(tempDir.path, 'pigeon_output'); - const String pigeonScript = 'bin/pigeon.dart'; + const pigeonScript = 'bin/pigeon.dart'; final String snapshot = p.join(tempDir.path, 'pigeon.dart.dill'); // Precompile to make the repeated calls faster. @@ -496,7 +493,7 @@ Future _runCommandLineTests({bool ciMode = false}) async { return 1; } - final List> testArguments = >[ + final testArguments = >[ // Test with no arguments. [], // Test dartOut in ConfigurePigeon overrides output. @@ -513,8 +510,8 @@ Future _runCommandLineTests({bool ciMode = false}) async { ], ]; - int exitCode = 0; - for (final List arguments in testArguments) { + var exitCode = 0; + for (final arguments in testArguments) { print('Testing dart $pigeonScript ${arguments.join(', ')}'); exitCode = await runProcess( 'dart', diff --git a/packages/pigeon/tool/test.dart b/packages/pigeon/tool/test.dart index 5754778c191..926205cefe6 100644 --- a/packages/pigeon/tool/test.dart +++ b/packages/pigeon/tool/test.dart @@ -26,7 +26,7 @@ const String _format = 'format'; const String _overflow = 'overflow'; Future main(List args) async { - final ArgParser parser = ArgParser() + final parser = ArgParser() ..addMultiOption(_testFlag, abbr: 't', help: 'Only run specified tests.') ..addFlag( _noGen, @@ -59,7 +59,7 @@ Future main(List args) async { ); final ArgResults argResults = parser.parse(args); - List testsToRun = []; + var testsToRun = []; if (argResults.wasParsed(_listFlag)) { print('available tests:'); @@ -84,12 +84,12 @@ ${parser.usage}'''); // If no tests are provided, run everything that is supported on the current // platform. if (testsToRun.isEmpty) { - const List dartTests = [ + const dartTests = [ dartUnitTests, flutterUnitTests, commandLineTests, ]; - const List androidTests = [ + const androidTests = [ androidJavaUnitTests, androidKotlinUnitTests, androidJavaIntegrationTests, @@ -97,25 +97,19 @@ ${parser.usage}'''); androidJavaLint, androidKotlinLint, ]; - const List iOSTests = [ + const iOSTests = [ iOSObjCUnitTests, iOSObjCIntegrationTests, iOSSwiftUnitTests, iOSSwiftIntegrationTests, ]; - const List linuxTests = [ - linuxUnitTests, - linuxIntegrationTests, - ]; - const List macOSTests = [ + const linuxTests = [linuxUnitTests, linuxIntegrationTests]; + const macOSTests = [ macOSObjCIntegrationTests, macOSSwiftUnitTests, macOSSwiftIntegrationTests, ]; - const List windowsTests = [ - windowsUnitTests, - windowsIntegrationTests, - ]; + const windowsTests = [windowsUnitTests, windowsIntegrationTests]; if (Platform.isMacOS) { testsToRun = [ diff --git a/packages/plugin_platform_interface/lib/plugin_platform_interface.dart b/packages/plugin_platform_interface/lib/plugin_platform_interface.dart index d7c0f6b0915..2a40957e252 100644 --- a/packages/plugin_platform_interface/lib/plugin_platform_interface.dart +++ b/packages/plugin_platform_interface/lib/plugin_platform_interface.dart @@ -86,7 +86,7 @@ abstract class PlatformInterface { required bool preventConstObject, }) { if (instance is MockPlatformInterfaceMixin) { - bool assertionsEnabled = false; + var assertionsEnabled = false; assert(() { assertionsEnabled = true; return true; diff --git a/packages/pointer_interceptor/pointer_interceptor/example/lib/platforms/native_widget_ios.dart b/packages/pointer_interceptor/pointer_interceptor/example/lib/platforms/native_widget_ios.dart index dabf9178b5d..37f4ca4e89e 100644 --- a/packages/pointer_interceptor/pointer_interceptor/example/lib/platforms/native_widget_ios.dart +++ b/packages/pointer_interceptor/pointer_interceptor/example/lib/platforms/native_widget_ios.dart @@ -16,8 +16,8 @@ class NativeWidget extends StatelessWidget { @override Widget build(BuildContext context) { - const String viewType = 'dummy_platform_view'; - final Map creationParams = {}; + const viewType = 'dummy_platform_view'; + final creationParams = {}; return UiKitView( viewType: viewType, diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/lib/main.dart b/packages/pointer_interceptor/pointer_interceptor_ios/example/lib/main.dart index ce131717bc6..f41d224e783 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/lib/main.dart +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/lib/main.dart @@ -15,8 +15,8 @@ class _DummyPlatformView extends StatelessWidget { @override Widget build(BuildContext context) { - const String viewType = 'dummy_platform_view'; - final Map creationParams = {}; + const viewType = 'dummy_platform_view'; + final creationParams = {}; return UiKitView( viewType: viewType, diff --git a/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/default_pointer_interceptor_test.dart b/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/default_pointer_interceptor_test.dart index a310e985fd0..8355102ff36 100644 --- a/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/default_pointer_interceptor_test.dart +++ b/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/default_pointer_interceptor_test.dart @@ -13,7 +13,7 @@ void main() { final PointerInterceptorPlatform defaultPointerInterceptor = PointerInterceptorPlatform.instance; - final Container testChild = Container(); + final testChild = Container(); expect(defaultPointerInterceptor.buildWidget(child: testChild), testChild); }); } diff --git a/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/pointer_interceptor_platform_test.dart b/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/pointer_interceptor_platform_test.dart index 3a666e1e759..4caa0bd235e 100644 --- a/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/pointer_interceptor_platform_test.dart +++ b/packages/pointer_interceptor/pointer_interceptor_platform_interface/test/pointer_interceptor_platform_test.dart @@ -15,7 +15,7 @@ void main() { final PointerInterceptorPlatform unimplementedPointerInterceptorPlatform = UnimplementedPointerInterceptorPlatform(); - final Container testChild = Container(); + final testChild = Container(); expect( () => unimplementedPointerInterceptorPlatform.buildWidget( child: testChild, diff --git a/packages/pointer_interceptor/pointer_interceptor_web/example/integration_test/widget_test.dart b/packages/pointer_interceptor/pointer_interceptor_web/example/integration_test/widget_test.dart index 77cff645976..c2b5be5877a 100644 --- a/packages/pointer_interceptor/pointer_interceptor_web/example/integration_test/widget_test.dart +++ b/packages/pointer_interceptor/pointer_interceptor_web/example/integration_test/widget_test.dart @@ -91,8 +91,8 @@ void main() { ); expect(element.tagName.toLowerCase(), 'div'); - for (int i = 0; i <= 4; i++) { - final web.MouseEvent event = web.MouseEvent( + for (var i = 0; i <= 4; i++) { + final event = web.MouseEvent( 'mousedown', web.MouseEventInit(button: i, cancelable: true), ); diff --git a/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart b/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart index 889c573a9c9..cd54f2cf8fd 100644 --- a/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart @@ -10,10 +10,10 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); testWidgets('Can set shortcuts', (WidgetTester tester) async { - const QuickActions quickActions = QuickActions(); + const quickActions = QuickActions(); await quickActions.initialize((String _) {}); - const ShortcutItem shortCutItem = ShortcutItem( + const shortCutItem = ShortcutItem( type: 'action_one', localizedTitle: 'Action one', icon: 'AppIcon', diff --git a/packages/quick_actions/quick_actions/example/lib/main.dart b/packages/quick_actions/quick_actions/example/lib/main.dart index 8a450d7e2b8..0c08713fb5f 100644 --- a/packages/quick_actions/quick_actions/example/lib/main.dart +++ b/packages/quick_actions/quick_actions/example/lib/main.dart @@ -38,7 +38,7 @@ class _MyHomePageState extends State { void initState() { super.initState(); - const QuickActions quickActions = QuickActions(); + const quickActions = QuickActions(); quickActions.initialize((String shortcutType) { setState(() { shortcut = shortcutType; diff --git a/packages/quick_actions/quick_actions/test/quick_actions_test.dart b/packages/quick_actions/quick_actions/test/quick_actions_test.dart index f07248c2cb4..7ce442feece 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -15,12 +15,12 @@ void main() { }); test('constructor() should return valid QuickActions instance', () { - const QuickActions quickActions = QuickActions(); + const quickActions = QuickActions(); expect(quickActions, isNotNull); }); test('initialize() PlatformInterface', () async { - const QuickActions quickActions = QuickActions(); + const quickActions = QuickActions(); void handler(String type) {} await quickActions.initialize(handler); @@ -28,7 +28,7 @@ void main() { }); test('setShortcutItems() PlatformInterface', () { - const QuickActions quickActions = QuickActions(); + const quickActions = QuickActions(); void handler(String type) {} quickActions.initialize(handler); quickActions.setShortcutItems([]); @@ -40,7 +40,7 @@ void main() { }); test('clearShortcutItems() PlatformInterface', () { - const QuickActions quickActions = QuickActions(); + const quickActions = QuickActions(); void handler(String type) {} quickActions.initialize(handler); diff --git a/packages/quick_actions/quick_actions_android/example/lib/main.dart b/packages/quick_actions/quick_actions_android/example/lib/main.dart index f6f2dacaec9..4f3fe3e3eae 100644 --- a/packages/quick_actions/quick_actions_android/example/lib/main.dart +++ b/packages/quick_actions/quick_actions_android/example/lib/main.dart @@ -38,7 +38,7 @@ class _MyHomePageState extends State { void initState() { super.initState(); - final QuickActionsAndroid quickActions = QuickActionsAndroid(); + final quickActions = QuickActionsAndroid(); quickActions.initialize((String shortcutType) { setState(() { shortcut = '$shortcutType has launched'; diff --git a/packages/quick_actions/quick_actions_android/lib/quick_actions_android.dart b/packages/quick_actions/quick_actions_android/lib/quick_actions_android.dart index 5a69f8badd5..496fd0daced 100644 --- a/packages/quick_actions/quick_actions_android/lib/quick_actions_android.dart +++ b/packages/quick_actions/quick_actions_android/lib/quick_actions_android.dart @@ -26,8 +26,7 @@ class QuickActionsAndroid extends QuickActionsPlatform { @override Future initialize(QuickActionHandler handler) async { - final _QuickActionHandlerApi quickActionsHandlerApi = - _QuickActionHandlerApi(); + final quickActionsHandlerApi = _QuickActionHandlerApi(); AndroidQuickActionsFlutterApi.setUp(quickActionsHandlerApi); _handler = handler; final String? action = await _hostApi.getLaunchAction(); diff --git a/packages/quick_actions/quick_actions_android/test/quick_actions_android_test.dart b/packages/quick_actions/quick_actions_android/test/quick_actions_android_test.dart index f15060ffcdf..dc7acffcca6 100644 --- a/packages/quick_actions/quick_actions_android/test/quick_actions_android_test.dart +++ b/packages/quick_actions/quick_actions_android/test/quick_actions_android_test.dart @@ -24,8 +24,8 @@ ShortcutItem shortcutItemMessageToShortcutItem(ShortcutItemMessage item) { void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final _FakeQuickActionsApi api = _FakeQuickActionsApi(); - final QuickActionsAndroid quickActions = QuickActionsAndroid(api: api); + final api = _FakeQuickActionsApi(); + final quickActions = QuickActionsAndroid(api: api); test('registerWith() registers correct instance', () { QuickActionsAndroid.registerWith(); @@ -40,7 +40,7 @@ void main() { }); test('initialize', () async { - final Completer quickActionsHandler = Completer(); + final quickActionsHandler = Completer(); await quickActions.initialize((_) => quickActionsHandler.complete(true)); expect(quickActionsHandler.future, completion(isTrue)); @@ -49,7 +49,7 @@ void main() { test('setShortCutItems', () async { await quickActions.initialize((String type) {}); - const ShortcutItem item = ShortcutItem( + const item = ShortcutItem( type: 'test', localizedTitle: 'title', icon: 'icon.svg', @@ -63,7 +63,7 @@ void main() { test('clearShortCutItems', () { quickActions.initialize((String type) {}); - const ShortcutItem item = ShortcutItem( + const item = ShortcutItem( type: 'test', localizedTitle: 'title', icon: 'icon.svg', @@ -75,11 +75,11 @@ void main() { }); test('Shortcut item can be constructed', () { - const String type = 'type'; - const String localizedTitle = 'title'; - const String icon = 'foo'; + const type = 'type'; + const localizedTitle = 'title'; + const icon = 'foo'; - const ShortcutItem item = ShortcutItem( + const item = ShortcutItem( type: type, localizedTitle: localizedTitle, icon: icon, @@ -110,7 +110,7 @@ class _FakeQuickActionsApi implements AndroidQuickActionsApi { @override Future setShortcutItems(List itemsList) async { await clearShortcutItems(); - for (final ShortcutItemMessage? element in itemsList) { + for (final element in itemsList) { items.add(shortcutItemMessageToShortcutItem(element!)); } } diff --git a/packages/quick_actions/quick_actions_ios/example/integration_test/quick_actions_test.dart b/packages/quick_actions/quick_actions_ios/example/integration_test/quick_actions_test.dart index 56f22935469..328da2f4b82 100644 --- a/packages/quick_actions/quick_actions_ios/example/integration_test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions_ios/example/integration_test/quick_actions_test.dart @@ -10,10 +10,10 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); testWidgets('Can set shortcuts', (WidgetTester tester) async { - final QuickActionsIos quickActions = QuickActionsIos(); + final quickActions = QuickActionsIos(); await quickActions.initialize((String value) {}); - const ShortcutItem shortCutItem = ShortcutItem( + const shortCutItem = ShortcutItem( type: 'action_one', localizedTitle: 'Action one', icon: 'AppIcon', diff --git a/packages/quick_actions/quick_actions_ios/example/lib/main.dart b/packages/quick_actions/quick_actions_ios/example/lib/main.dart index 9f323bcf6fc..768638538ce 100644 --- a/packages/quick_actions/quick_actions_ios/example/lib/main.dart +++ b/packages/quick_actions/quick_actions_ios/example/lib/main.dart @@ -38,7 +38,7 @@ class _MyHomePageState extends State { void initState() { super.initState(); - final QuickActionsIos quickActions = QuickActionsIos(); + final quickActions = QuickActionsIos(); quickActions.initialize((String shortcutType) { setState(() { shortcut = shortcutType; diff --git a/packages/quick_actions/quick_actions_ios/lib/quick_actions_ios.dart b/packages/quick_actions/quick_actions_ios/lib/quick_actions_ios.dart index 85db5fe7757..4c057f6553e 100644 --- a/packages/quick_actions/quick_actions_ios/lib/quick_actions_ios.dart +++ b/packages/quick_actions/quick_actions_ios/lib/quick_actions_ios.dart @@ -26,8 +26,7 @@ class QuickActionsIos extends QuickActionsPlatform { @override Future initialize(QuickActionHandler handler) async { - final _QuickActionHandlerApi quickActionsHandlerApi = - _QuickActionHandlerApi(); + final quickActionsHandlerApi = _QuickActionHandlerApi(); IOSQuickActionsFlutterApi.setUp(quickActionsHandlerApi); _handler = handler; } diff --git a/packages/quick_actions/quick_actions_ios/test/quick_actions_ios_test.dart b/packages/quick_actions/quick_actions_ios/test/quick_actions_ios_test.dart index e8870782149..ab2240576fa 100644 --- a/packages/quick_actions/quick_actions_ios/test/quick_actions_ios_test.dart +++ b/packages/quick_actions/quick_actions_ios/test/quick_actions_ios_test.dart @@ -11,8 +11,8 @@ import 'package:quick_actions_platform_interface/quick_actions_platform_interfac void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final _FakeQuickActionsApi api = _FakeQuickActionsApi(); - final QuickActionsIos quickActions = QuickActionsIos(api: api); + final api = _FakeQuickActionsApi(); + final quickActions = QuickActionsIos(api: api); test('registerWith() registers correct instance', () { QuickActionsIos.registerWith(); @@ -27,7 +27,7 @@ void main() { test('setShortcutItems', () async { await quickActions.initialize((String type) {}); - const ShortcutItem item = ShortcutItem( + const item = ShortcutItem( type: 'test', localizedTitle: 'title', localizedSubtitle: 'subtitle', @@ -43,7 +43,7 @@ void main() { test('clearShortCutItems', () { quickActions.initialize((String type) {}); - const ShortcutItem item = ShortcutItem( + const item = ShortcutItem( type: 'test', localizedTitle: 'title', localizedSubtitle: 'subtitle', @@ -56,12 +56,12 @@ void main() { }); test('Shortcut item can be constructed', () { - const String type = 'type'; - const String localizedTitle = 'title'; - const String localizedSubtitle = 'subtitle'; - const String icon = 'foo'; + const type = 'type'; + const localizedTitle = 'title'; + const localizedSubtitle = 'subtitle'; + const icon = 'foo'; - const ShortcutItem item = ShortcutItem( + const item = ShortcutItem( type: type, localizedTitle: localizedTitle, localizedSubtitle: localizedSubtitle, @@ -88,7 +88,7 @@ class _FakeQuickActionsApi implements IOSQuickActionsApi { @override Future setShortcutItems(List itemsList) async { await clearShortcutItems(); - for (final ShortcutItemMessage? element in itemsList) { + for (final element in itemsList) { items.add(shortcutItemMessageToShortcutItem(element!)); } } diff --git a/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart b/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart index 384627a5566..d9f5b7cfe14 100644 --- a/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart +++ b/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart @@ -13,9 +13,9 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('$MethodChannelQuickActions', () { - final MethodChannelQuickActions quickActions = MethodChannelQuickActions(); + final quickActions = MethodChannelQuickActions(); - final List log = []; + final log = []; setUp(() { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger @@ -39,7 +39,7 @@ void main() { }); test('initialize', () async { - final Completer quickActionsHandler = Completer(); + final quickActionsHandler = Completer(); await quickActions.initialize( (_) => quickActionsHandler.complete(true), ); @@ -109,10 +109,10 @@ void main() { ); test('setShortcutItems with demo data', () async { - const String type = 'type'; - const String localizedTitle = 'localizedTitle'; - const String localizedSubtitle = 'localizedSubtitle'; - const String icon = 'icon'; + const type = 'type'; + const localizedTitle = 'localizedTitle'; + const localizedSubtitle = 'localizedSubtitle'; + const icon = 'icon'; await quickActions.setShortcutItems(const [ ShortcutItem( type: type, @@ -161,12 +161,12 @@ void main() { group('$ShortcutItem', () { test('Shortcut item can be constructed', () { - const String type = 'type'; - const String localizedTitle = 'title'; - const String localizedSubtitle = 'subtitle'; - const String icon = 'foo'; + const type = 'type'; + const localizedTitle = 'title'; + const localizedSubtitle = 'subtitle'; + const icon = 'foo'; - const ShortcutItem item = ShortcutItem( + const item = ShortcutItem( type: type, localizedTitle: localizedTitle, localizedSubtitle: localizedSubtitle, diff --git a/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart b/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart index 69e0cd8d593..7614088b9cf 100644 --- a/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart +++ b/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart @@ -39,8 +39,7 @@ void main() { 'Default implementation of initialize() should throw unimplemented error', () { // Arrange - final ExtendsQuickActionsPlatform quickActionsPlatform = - ExtendsQuickActionsPlatform(); + final quickActionsPlatform = ExtendsQuickActionsPlatform(); // Act & Assert expect( @@ -54,8 +53,7 @@ void main() { 'Default implementation of setShortcutItems() should throw unimplemented error', () { // Arrange - final ExtendsQuickActionsPlatform quickActionsPlatform = - ExtendsQuickActionsPlatform(); + final quickActionsPlatform = ExtendsQuickActionsPlatform(); // Act & Assert expect( @@ -69,8 +67,7 @@ void main() { 'Default implementation of clearShortcutItems() should throw unimplemented error', () { // Arrange - final ExtendsQuickActionsPlatform quickActionsPlatform = - ExtendsQuickActionsPlatform(); + final quickActionsPlatform = ExtendsQuickActionsPlatform(); // Act & Assert expect( diff --git a/packages/rfw/CHANGELOG.md b/packages/rfw/CHANGELOG.md index ba7879f14f7..d3c3f645672 100644 --- a/packages/rfw/CHANGELOG.md +++ b/packages/rfw/CHANGELOG.md @@ -1,3 +1,7 @@ +## NEXT + +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. + ## 1.0.32 * Updates broken links in README.md. diff --git a/packages/rfw/README.md b/packages/rfw/README.md index 730a7cd211e..da88dbb69ef 100644 --- a/packages/rfw/README.md +++ b/packages/rfw/README.md @@ -491,8 +491,8 @@ not identify a list): 'Foo': (BuildContext context, DataSource source) { final int length = source.length(['text']); if (length > 0) { - final StringBuffer text = StringBuffer(); - for (int index = 0; index < length; index += 1) { + final text = StringBuffer(); + for (var index = 0; index < length; index += 1) { text.write(source.v(['text', index])); } return Text(text.toString(), textDirection: TextDirection.ltr); diff --git a/packages/rfw/example/hello/pubspec.yaml b/packages/rfw/example/hello/pubspec.yaml index f9a5e447232..a0dea2f21be 100644 --- a/packages/rfw/example/hello/pubspec.yaml +++ b/packages/rfw/example/hello/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/rfw/example/local/pubspec.yaml b/packages/rfw/example/local/pubspec.yaml index f751512ae14..05c568e0de6 100644 --- a/packages/rfw/example/local/pubspec.yaml +++ b/packages/rfw/example/local/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/rfw/example/remote/lib/main.dart b/packages/rfw/example/remote/lib/main.dart index 82885cd3fa3..368f6da11c5 100644 --- a/packages/rfw/example/remote/lib/main.dart +++ b/packages/rfw/example/remote/lib/main.dart @@ -46,15 +46,15 @@ class _ExampleState extends State { Future _updateWidgets() async { final Directory home = await getApplicationSupportDirectory(); - final File settingsFile = File(path.join(home.path, 'settings.txt')); - String nextFile = 'counter_app1.rfw'; + final settingsFile = File(path.join(home.path, 'settings.txt')); + var nextFile = 'counter_app1.rfw'; if (settingsFile.existsSync()) { final String settings = await settingsFile.readAsString(); if (settings == nextFile) { nextFile = 'counter_app2.rfw'; } } - final File currentFile = File(path.join(home.path, 'current.rfw')); + final currentFile = File(path.join(home.path, 'current.rfw')); if (currentFile.existsSync()) { try { _runtime.update(const LibraryName(['main']), decodeLibraryBlob(await currentFile.readAsBytes())); diff --git a/packages/rfw/example/remote/pubspec.yaml b/packages/rfw/example/remote/pubspec.yaml index 10bc4dd89c9..f7ac93e35b8 100644 --- a/packages/rfw/example/remote/pubspec.yaml +++ b/packages/rfw/example/remote/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/rfw/lib/src/dart/binary.dart b/packages/rfw/lib/src/dart/binary.dart index 1d516b4d41b..a49190407f6 100644 --- a/packages/rfw/lib/src/dart/binary.dart +++ b/packages/rfw/lib/src/dart/binary.dart @@ -39,7 +39,7 @@ const List libraryBlobSignature = [0xFE, 0x52, 0x46, 0x57]; /// * [encodeLibraryBlob], which uses a superset of this format to encode /// Remote Flutter Widgets binary library blobs. Uint8List encodeDataBlob(Object value) { - final _BlobEncoder encoder = _BlobEncoder(); + final encoder = _BlobEncoder(); encoder.writeSignature(dataBlobSignature); encoder.writeValue(value); return encoder.bytes.toBytes(); @@ -65,7 +65,7 @@ Uint8List encodeDataBlob(Object value) { /// Remote Flutter Widgets binary library blobs. /// * [parseDataFile], which parses the text variant of this format. Object decodeDataBlob(Uint8List bytes) { - final _BlobDecoder decoder = _BlobDecoder(bytes.buffer.asByteData(bytes.offsetInBytes, bytes.lengthInBytes)); + final decoder = _BlobDecoder(bytes.buffer.asByteData(bytes.offsetInBytes, bytes.lengthInBytes)); decoder.expectSignature(dataBlobSignature); final Object result = decoder.readValue(); if (!decoder.finished) { @@ -83,7 +83,7 @@ Object decodeDataBlob(Uint8List bytes) { /// Remote Flutter Widgets binary data blobs. /// * [parseLibraryFile], which parses the text variant of this format. Uint8List encodeLibraryBlob(RemoteWidgetLibrary value) { - final _BlobEncoder encoder = _BlobEncoder(); + final encoder = _BlobEncoder(); encoder.writeSignature(libraryBlobSignature); encoder.writeLibrary(value); return encoder.bytes.toBytes(); @@ -276,7 +276,7 @@ Uint8List encodeLibraryBlob(RemoteWidgetLibrary value) { /// Remote Flutter Widgets binary data blobs. /// * [parseDataFile], which parses the text variant of this format. RemoteWidgetLibrary decodeLibraryBlob(Uint8List bytes) { - final _BlobDecoder decoder = _BlobDecoder(bytes.buffer.asByteData(bytes.offsetInBytes, bytes.lengthInBytes)); + final decoder = _BlobDecoder(bytes.buffer.asByteData(bytes.offsetInBytes, bytes.lengthInBytes)); decoder.expectSignature(libraryBlobSignature); final RemoteWidgetLibrary result = decoder.readLibrary(); if (!decoder.finished) { @@ -410,7 +410,7 @@ class _BlobDecoder { Switch _readSwitch() { final Object value = _readArgument(); final int count = _readInt64(); - final Map cases = Map.fromEntries( + final cases = Map.fromEntries( Iterable>.generate( count, (int index) => MapEntry( @@ -530,9 +530,9 @@ class _BlobDecoder { void expectSignature(List signature) { assert(signature.length == 4); - final List bytes = []; - bool match = true; - for (final int byte in signature) { + final bytes = []; + var match = true; + for (final byte in signature) { final int read = _readByte(); bytes.add(read); if (read != byte) { @@ -685,7 +685,7 @@ class _BlobEncoder { }); } else if (value is SetStateHandler) { bytes.addByte(_msSetState); - final StateReference reference = value.stateReference as StateReference; + final reference = value.stateReference as StateReference; _writeInt64(reference.parts.length); reference.parts.forEach(_writePart); _writeArgument(value.value); @@ -697,7 +697,7 @@ class _BlobEncoder { void _writeDeclarationList(List value) { _writeInt64(value.length); - for (final WidgetDeclaration declaration in value) { + for (final declaration in value) { _writeString(declaration.name); if (declaration.initialState != null) { _writeMap(declaration.initialState!, _writeArgument); @@ -710,7 +710,7 @@ class _BlobEncoder { void _writeImportList(List value) { _writeInt64(value.length); - for (final Import import in value) { + for (final import in value) { _writeInt64(import.name.parts.length); import.name.parts.forEach(_writeString); } diff --git a/packages/rfw/lib/src/dart/model.dart b/packages/rfw/lib/src/dart/model.dart index 90d5420b20f..2af5adeca27 100644 --- a/packages/rfw/lib/src/dart/model.dart +++ b/packages/rfw/lib/src/dart/model.dart @@ -248,7 +248,7 @@ bool _listEquals(List? a, List? b) { if (a == null || b == null || a.length != b.length) { return false; } - for (int index = 0; index < a.length; index += 1) { + for (var index = 0; index < a.length; index += 1) { if (a[index] != b[index]) { return false; } @@ -290,7 +290,7 @@ class LibraryName implements Comparable { @override int compareTo(LibraryName other) { - for (int index = 0; index < parts.length; index += 1) { + for (var index = 0; index < parts.length; index += 1) { if (other.parts.length <= index) { return 1; } diff --git a/packages/rfw/lib/src/dart/text.dart b/packages/rfw/lib/src/dart/text.dart index 81f2ef8f6d3..b036490fc75 100644 --- a/packages/rfw/lib/src/dart/text.dart +++ b/packages/rfw/lib/src/dart/text.dart @@ -169,7 +169,7 @@ import 'model.dart'; /// Remote Flutter Widgets text library files. /// * [decodeDataBlob], which decodes the binary variant of this format. DynamicMap parseDataFile(String file) { - final _Parser parser = _Parser(_tokenize(file), null); + final parser = _Parser(_tokenize(file), null); return parser.readDataFile(); } @@ -628,7 +628,7 @@ DynamicMap parseDataFile(String file) { /// Remote Flutter Widgets text data files. /// * [decodeLibraryBlob], which decodes the binary variant of this format. RemoteWidgetLibrary parseLibraryFile(String file, { Object? sourceIdentifier }) { - final _Parser parser = _Parser(_tokenize(file), sourceIdentifier); + final parser = _Parser(_tokenize(file), sourceIdentifier); return parser.readLibraryFile(); } @@ -814,12 +814,12 @@ String _describeRune(int current) { Iterable<_Token> _tokenize(String file) sync* { final List characters = file.runes.toList(); - int start = 0; - int index = 0; - int line = 1; - int column = 0; - final List buffer = []; - final List buffer2 = []; + var start = 0; + var index = 0; + var line = 1; + var column = 0; + final buffer = []; + final buffer2 = []; _TokenizerMode mode = _TokenizerMode.main; while (true) { final int current; @@ -2263,7 +2263,7 @@ class _Parser { List widgetBuilderScope = const [], }) { final Object value = _readValue(extended: true, widgetBuilderScope: widgetBuilderScope); - final Map cases = {}; + final cases = {}; _expectSymbol(_SymbolToken.openBrace); while (_source.current is! _SymbolToken) { final Object? key; @@ -2296,7 +2296,7 @@ class _Parser { if (optional && !_foundSymbol(_SymbolToken.dot)) { return const []; } - final List results = []; + final results = []; do { _expectSymbol(_SymbolToken.dot); if (_source.current is _IntegerToken) { @@ -2478,7 +2478,7 @@ class _Parser { Import _readImport() { final SourceLocation? start = _getSourceLocation(); _expectIdentifier('import'); - final List parts = []; + final parts = []; do { parts.add(_readKey()); } while (_maybeReadSymbol(_SymbolToken.dot)); @@ -2499,7 +2499,7 @@ class _Parser { } RemoteWidgetLibrary readLibraryFile() { - final RemoteWidgetLibrary result = RemoteWidgetLibrary( + final result = RemoteWidgetLibrary( _readImports().toList(), _readWidgetDeclarations().toList(), ); diff --git a/packages/rfw/lib/src/flutter/argument_decoders.dart b/packages/rfw/lib/src/flutter/argument_decoders.dart index ae02b59c89b..10977fc2369 100644 --- a/packages/rfw/lib/src/flutter/argument_decoders.dart +++ b/packages/rfw/lib/src/flutter/argument_decoders.dart @@ -623,7 +623,7 @@ class ArgumentDecoders { if (value == null) { return null; } - for (int index = 0; index < values.length; index += 1) { + for (var index = 0; index < values.length; index += 1) { if (value == values[index].toString().split('.').last) { return values[index]; } @@ -1028,7 +1028,7 @@ class ArgumentDecoders { if (!source.isMap(key)) { return null; } - final Paint result = Paint(); + final result = Paint(); final BlendMode? paintBlendMode = enumValue(BlendMode.values, source, [...key, 'blendMode']); if (paintBlendMode != null) { result.blendMode = paintBlendMode; diff --git a/packages/rfw/lib/src/flutter/core_widgets.dart b/packages/rfw/lib/src/flutter/core_widgets.dart index 8100a14c2df..ec770d4161b 100644 --- a/packages/rfw/lib/src/flutter/core_widgets.dart +++ b/packages/rfw/lib/src/flutter/core_widgets.dart @@ -643,9 +643,9 @@ Map get _coreWidgetsDefinitions => (['text']); if (text == null) { - final StringBuffer builder = StringBuffer(); + final builder = StringBuffer(); final int count = source.length(['text']); - for (int index = 0; index < count; index += 1) { + for (var index = 0; index < count; index += 1) { builder.write(source.v(['text', index]) ?? ''); } text = builder.toString(); diff --git a/packages/rfw/lib/src/flutter/material_widgets.dart b/packages/rfw/lib/src/flutter/material_widgets.dart index 3f7afc253f2..7354d4a134d 100644 --- a/packages/rfw/lib/src/flutter/material_widgets.dart +++ b/packages/rfw/lib/src/flutter/material_widgets.dart @@ -270,7 +270,7 @@ Map get _materialWidgetsDefinitions => > dropdownMenuItems = List>.generate( + final dropdownMenuItems = List>.generate( length, (int index) => DropdownMenuItem( onTap: source.voidHandler(['items', index, 'onTap']), @@ -508,10 +508,10 @@ Map get _materialWidgetsDefinitions => (['min']) ?? 0.0; - final value = source.v(['value']) ?? min; - final labelText = source.v(['label']); - final label = labelText != null ? '$labelText: ${value.toStringAsFixed(2)}' : value.toStringAsFixed(2); + final double min = source.v(['min']) ?? 0.0; + final double value = source.v(['value']) ?? min; + final String? labelText = source.v(['label']); + final String label = labelText != null ? '$labelText: ${value.toStringAsFixed(2)}' : value.toStringAsFixed(2); return Slider( value: value, secondaryTrackValue: source.v(['secondaryTrackValue']), diff --git a/packages/rfw/lib/src/flutter/runtime.dart b/packages/rfw/lib/src/flutter/runtime.dart index b3363214e63..9087ef1c43b 100644 --- a/packages/rfw/lib/src/flutter/runtime.dart +++ b/packages/rfw/lib/src/flutter/runtime.dart @@ -364,7 +364,7 @@ class Runtime extends ChangeNotifier { for (final Import import in library.imports) { final LibraryName dependency = import.name; if (visited.contains(dependency)) { - final List path = [dependency]; + final path = [dependency]; for (final LibraryName name in visited.toList().reversed) { if (name == dependency) { break; @@ -462,7 +462,7 @@ class Runtime extends ChangeNotifier { )..propagateSource(source); } usedWidgets = usedWidgets.toSet()..add(widget.fullName); - final WidgetDeclaration constructor = widget.constructor as WidgetDeclaration; + final constructor = widget.constructor as WidgetDeclaration; final int newDepth; if (constructor.initialState != null) { newDepth = stateDepth + 1; @@ -527,7 +527,7 @@ class Runtime extends ChangeNotifier { Set usedWidgets, ) { if (node is ConstructorCall) { - final DynamicMap subArguments = _bindArguments( + final subArguments = _bindArguments( context, node.arguments, arguments, @@ -546,7 +546,7 @@ class Runtime extends ChangeNotifier { } if (node is WidgetBuilderDeclaration) { return (DynamicMap widgetBuilderArg) { - final DynamicMap newWidgetBuilderScope = { + final newWidgetBuilderScope = { ...widgetBuilderScope, node.argumentName: widgetBuilderArg, }; @@ -763,8 +763,8 @@ abstract class _CurriedWidget extends BlobNode { _DataResolverCallback dataResolver, _WidgetBuilderArgResolverCallback widgetBuilderArgResolver, ) { - int currentIndex = 0; // where we are in `list` (some entries of which might represent multiple values, because they are themselves loops) - int effectiveIndex = 0; // where we are in the fully expanded list (the coordinate space in which we're aiming for `targetEffectiveIndex`) + var currentIndex = 0; // where we are in `list` (some entries of which might represent multiple values, because they are themselves loops) + var effectiveIndex = 0; // where we are in the fully expanded list (the coordinate space in which we're aiming for `targetEffectiveIndex`) while ((effectiveIndex <= targetEffectiveIndex || targetEffectiveIndex < 0) && currentIndex < list.length) { final Object node = list[currentIndex]!; if (node is Loop) { @@ -838,8 +838,8 @@ abstract class _CurriedWidget extends BlobNode { _DataResolverCallback dataResolver, _WidgetBuilderArgResolverCallback widgetBuilderArgResolver, ) { - int index = 0; - Object current = root; + var index = 0; + var current = root; while (true) { if (current is DataReference) { if (index < parts.length) { @@ -1207,7 +1207,7 @@ class _WidgetState extends State<_Widget> implements DataSource { void applySetState(List parts, Object value) { assert(parts.isNotEmpty); assert(_stateStore != null); - int index = 0; + var index = 0; Object current = _stateStore!; while (index < parts.length) { final Object subindex = parts[index]; @@ -1379,7 +1379,7 @@ class _WidgetState extends State<_Widget> implements DataSource { final List handlers = value.whereType().toList(); if (handlers.isNotEmpty) { return generator(([DynamicMap? extraArguments]) { - for (final AnyEventHandler entry in handlers) { + for (final entry in handlers) { if (entry is EventHandler) { DynamicMap arguments = entry.eventArguments; if (extraArguments != null) { @@ -1404,7 +1404,7 @@ class _WidgetState extends State<_Widget> implements DataSource { final List<_Subscription> _dependencies = <_Subscription>[]; Object _fetch(List argsKey, { required bool expandLists }) { - final _Key key = _Key(_kArgsSection, argsKey); + final key = _Key(_kArgsSection, argsKey); final Object? value = _argsCache[key]; if (value != null && (value is! DynamicList || !expandLists)) { return value; @@ -1437,7 +1437,7 @@ class _WidgetState extends State<_Widget> implements DataSource { } Object _dataResolver(List rawDataKey) { - final _Key dataKey = _Key(_kDataSection, rawDataKey); + final dataKey = _Key(_kDataSection, rawDataKey); final _Subscription subscription; if (!_subscriptions.containsKey(dataKey)) { subscription = _Subscription(widget.data, this, rawDataKey); @@ -1450,7 +1450,7 @@ class _WidgetState extends State<_Widget> implements DataSource { } Object _widgetBuilderArgResolver(List rawDataKey) { - final _Key widgetBuilderArgKey = _Key(_kWidgetBuilderArgSection, rawDataKey); + final widgetBuilderArgKey = _Key(_kWidgetBuilderArgSection, rawDataKey); final _Subscription subscription = _subscriptions[widgetBuilderArgKey] ??= _Subscription( widget.widgetBuilderScope, this, @@ -1461,7 +1461,7 @@ class _WidgetState extends State<_Widget> implements DataSource { } Object _stateResolver(List rawStateKey, int depth) { - final _Key stateKey = _Key(depth, rawStateKey); + final stateKey = _Key(depth, rawStateKey); final _Subscription subscription; if (!_subscriptions.containsKey(stateKey)) { if (depth >= _states.length) { @@ -1482,7 +1482,7 @@ class _WidgetState extends State<_Widget> implements DataSource { void updateData(Set<_Key> affectedArgs) { setState(() { - for (final _Key key in affectedArgs) { + for (final key in affectedArgs) { _argsCache[key] = null; } }); @@ -1564,7 +1564,7 @@ class _Subscription { } Widget _buildErrorWidget(String message) { - final FlutterErrorDetails detail = FlutterErrorDetails( + final detail = FlutterErrorDetails( exception: message, stack: StackTrace.current, library: 'Remote Flutter Widgets', diff --git a/packages/rfw/pubspec.yaml b/packages/rfw/pubspec.yaml index bc00c8b177d..9e711817f3b 100644 --- a/packages/rfw/pubspec.yaml +++ b/packages/rfw/pubspec.yaml @@ -5,8 +5,8 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 1.0.32 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/rfw/test/argument_decoders_test.dart b/packages/rfw/test/argument_decoders_test.dart index e668283e89c..a23aadbec8b 100644 --- a/packages/rfw/test/argument_decoders_test.dart +++ b/packages/rfw/test/argument_decoders_test.dart @@ -19,7 +19,7 @@ void main() { testWidgets('String example', (WidgetTester tester) async { Duration? duration; Curve? curve; - int buildCount = 0; + var buildCount = 0; final Widget builder = Builder( builder: (BuildContext context) { buildCount += 1; @@ -59,8 +59,8 @@ void main() { testWidgets('spot checks', (WidgetTester tester) async { Duration? duration; Curve? curve; - int buildCount = 0; - final Runtime runtime = Runtime() + var buildCount = 0; + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()) ..update(const LibraryName(['builder']), LocalWidgetLibrary({ 'Test': (BuildContext context, DataSource source) { @@ -72,8 +72,8 @@ void main() { })) ..update(const LibraryName(['test']), parseLibraryFile('import core; widget root = SizedBox();')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -234,12 +234,12 @@ void main() { }); testWidgets('golden checks', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()) ..update(const LibraryName(['test']), parseLibraryFile('import core; widget root = SizedBox();')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( Directionality( textDirection: TextDirection.rtl, @@ -519,7 +519,7 @@ void main() { skip: !runGoldens, ); - int sawGridDelegateDecoder = 0; + var sawGridDelegateDecoder = 0; ArgumentDecoders.gridDelegateDecoders['custom'] = (DataSource source, List key) { sawGridDelegateDecoder += 1; return null; diff --git a/packages/rfw/test/binary_test.dart b/packages/rfw/test/binary_test.dart index 827ed59c184..857dbaf8811 100644 --- a/packages/rfw/test/binary_test.dart +++ b/packages/rfw/test/binary_test.dart @@ -175,7 +175,7 @@ void main() { }); testWidgets('Library decoder: invalid widget declaration root', (WidgetTester tester) async { - final Uint8List bytes = Uint8List.fromList([ + final bytes = Uint8List.fromList([ 0xfe, 0x52, 0x46, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, @@ -227,7 +227,7 @@ void main() { }); testWidgets('Library decoder: invalid args references', (WidgetTester tester) async { - final Uint8List bytes = Uint8List.fromList([ + final bytes = Uint8List.fromList([ 0xfe, 0x52, 0x46, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x01, @@ -505,7 +505,7 @@ void main() { }); testWidgets('Library encoder: widget builders work', (WidgetTester tester) async { - const String source = ''' + const source = ''' widget Foo = Builder( builder: (scope) => Text(text: scope.text), ); @@ -518,7 +518,7 @@ void main() { }); testWidgets('Library encoder: widget builders throws', (WidgetTester tester) async { - const RemoteWidgetLibrary remoteWidgetLibrary = RemoteWidgetLibrary( + const remoteWidgetLibrary = RemoteWidgetLibrary( [], [ WidgetDeclaration( diff --git a/packages/rfw/test/core_widgets_test.dart b/packages/rfw/test/core_widgets_test.dart index 5710747eb2d..1f3e69bec2c 100644 --- a/packages/rfw/test/core_widgets_test.dart +++ b/packages/rfw/test/core_widgets_test.dart @@ -14,11 +14,11 @@ import 'package:rfw/rfw.dart'; void main() { testWidgets('Core widgets', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -248,11 +248,11 @@ void main() { }); testWidgets('More core widgets', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( home: RemoteWidget( diff --git a/packages/rfw/test/material_widgets_test.dart b/packages/rfw/test/material_widgets_test.dart index e227b416cdf..c0fa13e335f 100644 --- a/packages/rfw/test/material_widgets_test.dart +++ b/packages/rfw/test/material_widgets_test.dart @@ -22,12 +22,12 @@ import 'utils.dart'; const bool kIsJS = kIsWeb && !kIsWasm; void main() { - const LibraryName coreName = LibraryName(['core']); - const LibraryName materialName = LibraryName(['material']); - const LibraryName testName = LibraryName(['test']); + const coreName = LibraryName(['core']); + const materialName = LibraryName(['material']); + const testName = LibraryName(['test']); Runtime setupRuntime() { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(coreName, createCoreWidgets()) ..update(materialName, createMaterialWidgets()); addTearDown(runtime.dispose); @@ -43,8 +43,8 @@ void main() { testWidgets('Material widgets', (WidgetTester tester) async { final Runtime runtime = setupRuntime(); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( theme: ThemeData(useMaterial3: false), @@ -258,8 +258,8 @@ void main() { testWidgets('Implement ButtonBar properties', (WidgetTester tester) async { final Runtime runtime = setupRuntime(); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( theme: ThemeData(useMaterial3: false), @@ -342,8 +342,8 @@ void main() { WidgetTester tester, ) async { final Runtime runtime = setupRuntime(); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( theme: ThemeData(useMaterial3: false), @@ -408,8 +408,8 @@ void main() { testWidgets('Implement OverflowBar properties', (WidgetTester tester) async { final Runtime runtime = setupRuntime(); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( theme: ThemeData(useMaterial3: false), @@ -489,8 +489,8 @@ void main() { testWidgets('Implement InkResponse properties', (WidgetTester tester) async { final Runtime runtime = setupRuntime(); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( theme: ThemeData(useMaterial3: false), @@ -572,8 +572,8 @@ void main() { testWidgets('Implement Material properties', (WidgetTester tester) async { final Runtime runtime = setupRuntime(); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( theme: ThemeData(useMaterial3: false), @@ -655,8 +655,8 @@ void main() { testWidgets('Slider properties', (WidgetTester tester) async { final Runtime runtime = setupRuntime(); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( MaterialApp( theme: ThemeData(useMaterial3: false), diff --git a/packages/rfw/test/model_test.dart b/packages/rfw/test/model_test.dart index 5deebb1966f..683f2b5a884 100644 --- a/packages/rfw/test/model_test.dart +++ b/packages/rfw/test/model_test.dart @@ -10,10 +10,10 @@ import 'package:rfw/formats.dart'; void main() { testWidgets('$LibraryName', (WidgetTester tester) async { T deconst(T value) => value; - final LibraryName a = LibraryName(['core', deconst('widgets')]); - final LibraryName b = LibraryName(['core', deconst('widgets')]); - final LibraryName c = LibraryName(['core', deconst('material')]); - const LibraryName d = LibraryName(['core']); + final a = LibraryName(['core', deconst('widgets')]); + final b = LibraryName(['core', deconst('widgets')]); + final c = LibraryName(['core', deconst('material')]); + const d = LibraryName(['core']); expect('$a', 'core.widgets'); expect('$c', 'core.material'); expect(a, equals(b)); @@ -35,9 +35,9 @@ void main() { }); testWidgets('$FullyQualifiedWidgetName', (WidgetTester tester) async { - const FullyQualifiedWidgetName aa = FullyQualifiedWidgetName(LibraryName(['a']), 'a'); - const FullyQualifiedWidgetName ab = FullyQualifiedWidgetName(LibraryName(['a']), 'b'); - const FullyQualifiedWidgetName bb = FullyQualifiedWidgetName(LibraryName(['b']), 'b'); + const aa = FullyQualifiedWidgetName(LibraryName(['a']), 'a'); + const ab = FullyQualifiedWidgetName(LibraryName(['a']), 'b'); + const bb = FullyQualifiedWidgetName(LibraryName(['b']), 'b'); expect('$aa', 'a:a'); expect(aa, isNot(equals(bb))); expect(aa.hashCode, isNot(equals(bb.hashCode))); @@ -73,7 +73,7 @@ void main() { }); testWidgets('$BoundArgsReference', (WidgetTester tester) async { - final Object target = Object(); + final target = Object(); final BoundArgsReference result = const ArgsReference([0]).bind(target); expect(result.arguments, target); expect(result.parts, const [0]); @@ -90,7 +90,7 @@ void main() { }); testWidgets('$BoundLoopReference', (WidgetTester tester) async { - final Object target = Object(); + final target = Object(); final BoundLoopReference result = const LoopReference(9, [0]).bind(target).constructReference([1]); expect(result.value, target); expect(result.parts, const [0, 1]); @@ -103,8 +103,8 @@ void main() { }); testWidgets('$SourceLocation comparison', (WidgetTester tester) async { - const SourceLocation test1 = SourceLocation('test', 123); - const SourceLocation test2 = SourceLocation('test', 234); + const test1 = SourceLocation('test', 123); + const test2 = SourceLocation('test', 234); expect(test1.compareTo(test2), lessThan(0)); // test1 vs test1 expect(test1 == test1, isTrue); @@ -125,7 +125,7 @@ void main() { expect(test2 > test1, isTrue); expect(test2 >= test1, isTrue); // map - final Map map = { + final map = { test1: test1, test2: test2, }; @@ -134,8 +134,8 @@ void main() { }); testWidgets('$SourceLocation with non-matching sources', (WidgetTester tester) async { - const SourceLocation test1 = SourceLocation('test1', 123); - const SourceLocation test2 = SourceLocation('test2', 234); + const test1 = SourceLocation('test1', 123); + const test2 = SourceLocation('test2', 234); expect(() => test1.compareTo(test2), throwsA(anything)); expect(() => test1 < test2, throwsA(anything)); expect(() => test1 <= test2, throwsA(anything)); @@ -144,16 +144,16 @@ void main() { }); testWidgets('$SourceLocation toString', (WidgetTester tester) async { - const SourceLocation test = SourceLocation('test1', 123); + const test = SourceLocation('test1', 123); expect('$test', 'test1@123'); }); testWidgets('$SourceRange', (WidgetTester tester) async { - const SourceLocation a = SourceLocation('test', 123); - const SourceLocation b = SourceLocation('test', 124); - const SourceLocation c = SourceLocation('test', 125); - final SourceRange range1 = SourceRange(a, b); - final SourceRange range2 = SourceRange(b, c); + const a = SourceLocation('test', 123); + const b = SourceLocation('test', 124); + const c = SourceLocation('test', 125); + final range1 = SourceRange(a, b); + final range2 = SourceRange(b, c); // toString expect('$range1', 'test@123..124'); // equality @@ -161,7 +161,7 @@ void main() { expect(range1 == range2, isFalse); expect(range2 == range1, isFalse); // map - final Map map = { + final map = { range1: range1, range2: range2, }; diff --git a/packages/rfw/test/readme_test.dart b/packages/rfw/test/readme_test.dart index b859637bac9..46dd327c1f5 100644 --- a/packages/rfw/test/readme_test.dart +++ b/packages/rfw/test/readme_test.dart @@ -237,8 +237,8 @@ List _createLocalWidgets(String region) { 'Foo': (BuildContext context, DataSource source) { final int length = source.length(['text']); if (length > 0) { - final StringBuffer text = StringBuffer(); - for (int index = 0; index < length; index += 1) { + final text = StringBuffer(); + for (var index = 0; index < length; index += 1) { text.write(source.v(['text', index])); } return Text(text.toString(), textDirection: TextDirection.ltr); @@ -323,11 +323,11 @@ List _createLocalWidgets(String region) { void main() { testWidgets('readme snippets', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()) ..update(const LibraryName(['material']), createMaterialWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(parseDataFile(gameData)); + final data = DynamicContent(parseDataFile(gameData)); for (final String region in rawRemoteWidgetSnippets.keys) { final String body = rawRemoteWidgetSnippets[region]!; runtime.update(LibraryName([region]), parseLibraryFile(body)); diff --git a/packages/rfw/test/remote_widget_test.dart b/packages/rfw/test/remote_widget_test.dart index b9f075e8ace..1665bdbd105 100644 --- a/packages/rfw/test/remote_widget_test.dart +++ b/packages/rfw/test/remote_widget_test.dart @@ -9,7 +9,7 @@ import 'package:rfw/rfw.dart'; void main() { testWidgets('RemoteWidget', (WidgetTester tester) async { - final Runtime runtime1 = Runtime() + final runtime1 = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()) ..update( const LibraryName(['test']), @@ -19,7 +19,7 @@ void main() { '''), ); addTearDown(runtime1.dispose); - final Runtime runtime2 = Runtime() + final runtime2 = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()) ..update( const LibraryName(['test']), @@ -29,7 +29,7 @@ void main() { '''), ); addTearDown(runtime2.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime1, diff --git a/packages/rfw/test/runtime_test.dart b/packages/rfw/test/runtime_test.dart index 6ab795f1830..9d51c71e94c 100644 --- a/packages/rfw/test/runtime_test.dart +++ b/packages/rfw/test/runtime_test.dart @@ -16,10 +16,10 @@ import 'package:rfw/rfw.dart'; void main() { testWidgets('list lookup', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent({ + final data = DynamicContent({ 'list': [ 0, 1, 2, 3, 4 ], }); await tester.pumpWidget( @@ -46,9 +46,9 @@ void main() { }); testWidgets('data updates', (WidgetTester tester) async { - int buildCount = 0; + var buildCount = 0; int? lastValue; - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), LocalWidgetLibrary({ 'Test': (BuildContext context, DataSource source) { buildCount += 1; @@ -57,7 +57,7 @@ void main() { }, })); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent({ + final data = DynamicContent({ 'list': [ { 'a': 0 }, { 'a': 1 }, @@ -121,7 +121,7 @@ void main() { }); testWidgets('deepClone', (WidgetTester tester) async { - final Map map = { + final map = { 'outer': { 'inner': true, } @@ -131,10 +131,10 @@ void main() { }); testWidgets('updateText, updateBinary, clearLibraries', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -168,10 +168,10 @@ void main() { }); testWidgets('Runtime cached build', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -200,7 +200,7 @@ void main() { }); testWidgets('Import loops', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['a']), parseLibraryFile(''' import b; ''')) @@ -208,7 +208,7 @@ void main() { import a; ''')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -220,12 +220,12 @@ void main() { }); testWidgets('Import loops', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['a']), parseLibraryFile(''' import a; ''')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -237,12 +237,12 @@ void main() { }); testWidgets('Missing libraries in import', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['a']), parseLibraryFile(''' import b; ''')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -255,9 +255,9 @@ void main() { }); testWidgets('Missing libraries in specified widget', (WidgetTester tester) async { - final Runtime runtime = Runtime(); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -270,13 +270,13 @@ void main() { }); testWidgets('Missing libraries in import via dependency', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['a']), parseLibraryFile(''' import b; widget widget = test(); ''')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -289,10 +289,10 @@ void main() { }); testWidgets('Missing widget', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['a']), parseLibraryFile('')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -305,10 +305,10 @@ void main() { }); testWidgets('Runtime', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -336,10 +336,10 @@ void main() { }); testWidgets('Runtime', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -360,7 +360,7 @@ void main() { }); testWidgets('Runtime', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); expect(runtime.libraries.length, 1); @@ -373,10 +373,10 @@ void main() { }); testWidgets('Runtime', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -401,10 +401,10 @@ void main() { }); testWidgets('DynamicContent', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -443,15 +443,15 @@ void main() { }); testWidgets('DynamicContent', (WidgetTester tester) async { - final DynamicContent data = DynamicContent({'hello': 'world'}); + final data = DynamicContent({'hello': 'world'}); expect(data.toString(), 'DynamicContent({hello: world})'); }); testWidgets('binding loop variables', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent({ + final data = DynamicContent({ 'list': [ { 'a': { 'b': 0xEE }, @@ -459,7 +459,7 @@ void main() { }, ], }); - final List eventLog = []; + final eventLog = []; await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -614,10 +614,10 @@ void main() { }); testWidgets('list lookup of esoteric values', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -735,10 +735,10 @@ void main() { }); testWidgets('data lookup', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent({ + final data = DynamicContent({ 'map': { 'list': [ 0xAB ] }, }); await tester.pumpWidget( @@ -760,10 +760,10 @@ void main() { }); testWidgets('args lookup', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -784,10 +784,10 @@ void main() { }); testWidgets('state lookup', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -807,10 +807,10 @@ void main() { }); testWidgets('switch', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -843,11 +843,11 @@ void main() { }); testWidgets('events with arguments', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -892,10 +892,10 @@ void main() { }); testWidgets('_CurriedWidget toStrings', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); runtime.update(const LibraryName(['test']), parseLibraryFile(''' import core; widget stateless = ColoredBox(color: 0xAA); @@ -932,10 +932,10 @@ void main() { }); testWidgets('state setting', (WidgetTester tester) async { - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -1052,10 +1052,10 @@ void main() { }); testWidgets('DataSource', (WidgetTester tester) async { - final Runtime runtime = Runtime(); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - final List eventLog = []; + final data = DynamicContent(); + final eventLog = []; await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -1091,7 +1091,7 @@ void main() { ''')); await tester.pump(); expect(tester.widget(find.byType(ColoredBox)).color, const Color(0xAABBCCDD)); - bool tested = false; + var tested = false; tester.element(find.byType(ColoredBox)).visitAncestorElements((Element node) { expect(node.toString(), equalsIgnoringHashCodes('_Widget(state: _WidgetState#00000(name: "local:Test"))')); tested = true; @@ -1101,8 +1101,8 @@ void main() { }); testWidgets('DynamicContent subscriptions', (WidgetTester tester) async { - final List log = []; - final DynamicContent data = DynamicContent({ + final log = []; + final data = DynamicContent({ 'a': [0, 1], 'b': ['q', 'r'], }); @@ -1115,12 +1115,12 @@ void main() { }); testWidgets('Data source - optional builder works', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); runtime.update(coreLibraryName, createCoreWidgets()); runtime.update(localLibraryName, LocalWidgetLibrary( { 'Builder': (BuildContext context, DataSource source) { @@ -1149,13 +1149,13 @@ void main() { }); testWidgets('Data source - builder returns an error widget', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - const String expectedErrorMessage = 'Not a builder at [builder] (got core:Text {} {text: Not a builder :/}) for local:Builder.'; + final data = DynamicContent(); + const expectedErrorMessage = 'Not a builder at [builder] (got core:Text {} {text: Not a builder :/}) for local:Builder.'; runtime.update(coreLibraryName, createCoreWidgets()); runtime.update(localLibraryName, LocalWidgetLibrary( { @@ -1188,10 +1188,10 @@ void main() { ErrorWidget.builder = (FlutterErrorDetails details) { return const Text('oopsie!', textDirection: TextDirection.ltr); }; - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['a']), parseLibraryFile('')); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); await tester.pumpWidget( RemoteWidget( runtime: runtime, @@ -1206,12 +1206,12 @@ void main() { }); testWidgets('Widget builders - work when scope is not used', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); @@ -1239,18 +1239,18 @@ void main() { }); testWidgets('Widget builders - work when scope is used', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); runtime.update(localLibraryName, LocalWidgetLibrary( { 'HelloWorld': (BuildContext context, DataSource source) { - const String result = 'Hello World!'; + const result = 'Hello World!'; return source.builder(['builder'], {'result': result}); }, })); @@ -1273,19 +1273,19 @@ void main() { }); testWidgets('Widget builders - work with state', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); runtime.update(localLibraryName, LocalWidgetLibrary( { 'IntToString': (BuildContext context, DataSource source) { final int value = source.v(['value'])!; - final String result = value.toString(); + final result = value.toString(); return source.builder(['builder'], {'result': result}); }, })); @@ -1310,19 +1310,19 @@ void main() { testWidgets('Widget builders - work with data', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent({'value': 0}); + final data = DynamicContent({'value': 0}); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); runtime.update(localLibraryName, LocalWidgetLibrary( { 'IntToString': (BuildContext context, DataSource source) { final int value = source.v(['value'])!; - final String result = value.toString(); + final result = value.toString(); return source.builder(['builder'], {'result': result}); }, })); @@ -1350,13 +1350,13 @@ void main() { }); testWidgets('Widget builders - work with events', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); - final List dispatchedEvents = []; + final data = DynamicContent(); + final dispatchedEvents = []; final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); @@ -1392,12 +1392,12 @@ void main() { }); testWidgets('Widget builders - works nested', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); runtime.update(localLibraryName, LocalWidgetLibrary( { @@ -1409,7 +1409,7 @@ void main() { }, 'IntToString': (BuildContext context, DataSource source) { final int value = source.v(['value'])!; - final String result = value.toString(); + final result = value.toString(); return source.builder(['builder'], {'result': result}); }, })); @@ -1437,13 +1437,13 @@ void main() { }); testWidgets('Widget builders - works nested dynamically', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Map handlers = {}; - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final handlers = {}; + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent({ + final data = DynamicContent({ 'a1': 'apricot', 'b1': 'blueberry', }); @@ -1505,12 +1505,12 @@ void main() { }); testWidgets('Widget builders - switch works with builder', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); @@ -1554,12 +1554,12 @@ void main() { }); testWidgets('Widget builders - builder works with switch', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); runtime.update(localLibraryName, LocalWidgetLibrary( { @@ -1608,12 +1608,12 @@ void main() { }); testWidgets('Widget builders - builder works with loops', (WidgetTester tester) async { - const LibraryName coreLibraryName = LibraryName(['core']); - const LibraryName localLibraryName = LibraryName(['local']); - const LibraryName remoteLibraryName = LibraryName(['remote']); - final Runtime runtime = Runtime(); + const coreLibraryName = LibraryName(['core']); + const localLibraryName = LibraryName(['local']); + const remoteLibraryName = LibraryName(['remote']); + final runtime = Runtime(); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent(); + final data = DynamicContent(); final Finder textFinder = find.byType(Text); runtime.update(coreLibraryName, createCoreWidgets()); diff --git a/packages/rfw/test/source_locations_test.dart b/packages/rfw/test/source_locations_test.dart index 0c272112897..2b9369fa976 100644 --- a/packages/rfw/test/source_locations_test.dart +++ b/packages/rfw/test/source_locations_test.dart @@ -50,13 +50,13 @@ widget verify { state: true } = switch args.value.c.0 { } return (node.source!.start.source as String).substring(node.source!.start.offset, node.source!.end.offset); } - final Runtime runtime = Runtime() + final runtime = Runtime() ..update(const LibraryName(['core']), createCoreWidgets()) // We use the actual source text as the sourceIdentifier to make it trivial to find the source contents. // In normal operation, the sourceIdentifier would be the file name or some similar object. ..update(const LibraryName(['test']), parseLibraryFile(sourceFile, sourceIdentifier: sourceFile)); addTearDown(runtime.dispose); - final DynamicContent data = DynamicContent({ + final data = DynamicContent({ 'list': [ { 'a': { 'b': 0xEE }, diff --git a/packages/rfw/test/text_test.dart b/packages/rfw/test/text_test.dart index 210eb7b5b59..bb301099286 100644 --- a/packages/rfw/test/text_test.dart +++ b/packages/rfw/test/text_test.dart @@ -387,7 +387,7 @@ void main() { } } - const String expectedErrorMessage = + const expectedErrorMessage = 'Expecting a switch or constructor call got 1 at line 1 column 27.'; test('widget a = B(b: (foo) => 1);', expectedErrorMessage); }); @@ -402,7 +402,7 @@ void main() { } } - const String expectedErrorMessage = + const expectedErrorMessage = 'args is a reserved word at line 1 column 34.'; test('widget a = Builder(builder: (args) => Container(width: args.width));', expectedErrorMessage); }); @@ -417,7 +417,7 @@ void main() { } } - const String expectedErrorMessage = + const expectedErrorMessage = 'Expected symbol "{" but found widget at line 1 column 7.'; test('widget a = Builder(builder: (args) => Container(width: args.width));', expectedErrorMessage); }); diff --git a/packages/rfw/test/tolerant_comparator.dart b/packages/rfw/test/tolerant_comparator.dart index 5349849dc8f..77dce43c676 100644 --- a/packages/rfw/test/tolerant_comparator.dart +++ b/packages/rfw/test/tolerant_comparator.dart @@ -12,11 +12,10 @@ void setUpTolerantComparator({ required double precisionTolerance, }) { final GoldenFileComparator oldComparator = goldenFileComparator; - final _TolerantGoldenFileComparator newComparator = - _TolerantGoldenFileComparator( - Uri.parse(testPath), - precisionTolerance: precisionTolerance, - ); + final newComparator = _TolerantGoldenFileComparator( + Uri.parse(testPath), + precisionTolerance: precisionTolerance, + ); goldenFileComparator = newComparator; diff --git a/packages/rfw/test_coverage/bin/test_coverage.dart b/packages/rfw/test_coverage/bin/test_coverage.dart index 15bb2ee8613..4a16b701e30 100644 --- a/packages/rfw/test_coverage/bin/test_coverage.dart +++ b/packages/rfw/test_coverage/bin/test_coverage.dart @@ -50,7 +50,7 @@ final class LcovLine { Future main(List arguments) async { // This script is mentioned in the CONTRIBUTING.md file. - final Directory coverageDirectory = Directory('coverage'); + final coverageDirectory = Directory('coverage'); if (coverageDirectory.existsSync()) { coverageDirectory.deleteSync(recursive: true); @@ -85,10 +85,10 @@ Future main(List arguments) async { .whereType() .where((File file) => file.path.endsWith('.dart')) .toList(); - final Set flakyLines = {}; - final Set deadLines = {}; - for (final File file in libFiles) { - int lineNumber = 0; + final flakyLines = {}; + final deadLines = {}; + for (final file in libFiles) { + var lineNumber = 0; for (final String line in file.readAsLinesSync()) { lineNumber += 1; if (line.endsWith('// dead code on VM target')) { @@ -103,18 +103,18 @@ Future main(List arguments) async { final List records = await lcov.Parser.parse( 'coverage/lcov.info', ); - int totalLines = 0; - int coveredLines = 0; - bool deadLinesError = false; - for (final lcov.Record record in records) { + var totalLines = 0; + var coveredLines = 0; + var deadLinesError = false; + for (final record in records) { if (record.lines != null) { totalLines += record.lines!.found ?? 0; coveredLines += record.lines!.hit ?? 0; if (record.file != null && record.lines!.details != null) { - for (int index = 0; index < record.lines!.details!.length; index += 1) { + for (var index = 0; index < record.lines!.details!.length; index += 1) { if (record.lines!.details![index].hit != null && record.lines!.details![index].line != null) { - final LcovLine line = LcovLine( + final line = LcovLine( record.file!, record.lines!.details![index].line!, ); @@ -140,7 +140,7 @@ Future main(List arguments) async { } } if (deadLines.isNotEmpty || deadLinesError) { - for (final LcovLine line in deadLines) { + for (final line in deadLines) { print( '$line: Line is marked as being undetectably dead code but was not considered reachable.', ); diff --git a/packages/rfw/test_coverage/pubspec.yaml b/packages/rfw/test_coverage/pubspec.yaml index 62c2f2f84e5..faa9670bdc4 100644 --- a/packages/rfw/test_coverage/pubspec.yaml +++ b/packages/rfw/test_coverage/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 publish_to: none environment: - sdk: ^3.8.0 + sdk: ^3.9.0 dependencies: lcov_parser: 0.1.1 diff --git a/packages/shared_preferences/shared_preferences/CHANGELOG.md b/packages/shared_preferences/shared_preferences/CHANGELOG.md index 252cb6c785c..2e8b88464f9 100644 --- a/packages/shared_preferences/shared_preferences/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. * Updates README to indicate that Andoid SDK <21 is no longer supported. ## 2.5.3 diff --git a/packages/shared_preferences/shared_preferences/README.md b/packages/shared_preferences/shared_preferences/README.md index f55f2ee7e55..d9b1f6e5234 100644 --- a/packages/shared_preferences/shared_preferences/README.md +++ b/packages/shared_preferences/shared_preferences/README.md @@ -120,7 +120,7 @@ await prefs.remove('counter'); ### SharedPreferencesAsync ```dart -final SharedPreferencesAsync asyncPrefs = SharedPreferencesAsync(); +final asyncPrefs = SharedPreferencesAsync(); await asyncPrefs.setBool('repeat', true); await asyncPrefs.setString('action', 'Start'); @@ -173,8 +173,7 @@ This can be run on every launch without data loss as long as the `migrationCompl ```dart import 'package:shared_preferences/util/legacy_to_async_migration_util.dart'; // ··· - const SharedPreferencesOptions sharedPreferencesOptions = - SharedPreferencesOptions(); + const sharedPreferencesOptions = SharedPreferencesOptions(); final SharedPreferences prefs = await SharedPreferences.getInstance(); await migrateLegacySharedPreferencesToSharedPreferencesAsyncIfNecessary( legacySharedPreferencesInstance: prefs, diff --git a/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_migration_util_test.dart b/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_migration_util_test.dart index 4f290b78254..63f6ef30b77 100644 --- a/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_migration_util_test.dart +++ b/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_migration_util_test.dart @@ -42,7 +42,7 @@ void main() { group('SharedPreferences with setPrefix and allowList', () { runAllGroups(() { - final Set allowList = { + final allowList = { 'prefix.$boolKey', 'prefix.$intKey', 'prefix.$doubleKey', @@ -65,8 +65,7 @@ void runAllGroups( bool keysCollide = false, }) { group('default sharedPreferencesAsyncOptions', () { - const SharedPreferencesOptions sharedPreferencesAsyncOptions = - SharedPreferencesOptions(); + const sharedPreferencesAsyncOptions = SharedPreferencesOptions(); runTests( sharedPreferencesAsyncOptions, @@ -160,7 +159,7 @@ void runTests( migrationCompletedKey: migrationCompletedKey, ); - final SharedPreferencesAsync asyncPreferences = SharedPreferencesAsync( + final asyncPreferences = SharedPreferencesAsync( options: sharedPreferencesAsyncOptions, ); @@ -179,7 +178,7 @@ void runTests( migrationCompletedKey: migrationCompletedKey, ); - final SharedPreferencesAsync asyncPreferences = SharedPreferencesAsync( + final asyncPreferences = SharedPreferencesAsync( options: sharedPreferencesAsyncOptions, ); @@ -197,7 +196,7 @@ void runTests( migrationCompletedKey: migrationCompletedKey, ); - final SharedPreferencesAsync asyncPreferences = SharedPreferencesAsync( + final asyncPreferences = SharedPreferencesAsync( options: sharedPreferencesAsyncOptions, ); await preferences.setInt(intKey, -0); diff --git a/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart index 3788025bc75..3146949126a 100644 --- a/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart @@ -9,17 +9,17 @@ import 'package:shared_preferences/shared_preferences.dart'; void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; - - const String testString2 = 'goodbye world'; - const bool testBool2 = false; - const int testInt2 = 1337; - const double testDouble2 = 2.71828; - const List testList2 = ['baz', 'qux']; + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; + + const testString2 = 'goodbye world'; + const testBool2 = false; + const testInt2 = 1337; + const testDouble2 = 2.71828; + const testList2 = ['baz', 'qux']; group('shared_preferences', () { late SharedPreferences preferences; @@ -56,7 +56,7 @@ void main() { }); testWidgets('removing', (WidgetTester _) async { - const String key = 'testKey'; + const key = 'testKey'; await preferences.setString(key, testString); await preferences.remove(key); expect(preferences.get('testKey'), isNull); @@ -77,9 +77,9 @@ void main() { }); testWidgets('simultaneous writes', (WidgetTester _) async { - final List> writes = >[]; - const int writeCount = 100; - for (int i = 1; i <= writeCount; i++) { + final writes = >[]; + const writeCount = 100; + for (var i = 1; i <= writeCount; i++) { writes.add(preferences.setInt('int', i)); } final List result = await Future.wait(writes, eagerError: true); @@ -134,12 +134,12 @@ void main() { }); testWidgets('allowList only gets allowed items', (WidgetTester _) async { - const String allowedString = 'stringKey'; - const String allowedBool = 'boolKey'; - const String notAllowedDouble = 'doubleKey'; - const String resultString = 'resultString'; + const allowedString = 'stringKey'; + const allowedBool = 'boolKey'; + const notAllowedDouble = 'doubleKey'; + const resultString = 'resultString'; - const Set allowList = {allowedString, allowedBool}; + const allowList = {allowedString, allowedBool}; SharedPreferences.resetStatic(); SharedPreferences.setPrefix('', allowList: allowList); @@ -164,21 +164,21 @@ void main() { }); group('shared_preferences_async', () { - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; - - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; + + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; group('Async', () { Future getPreferences() async { - final SharedPreferencesAsync preferences = SharedPreferencesAsync(); + final preferences = SharedPreferencesAsync(); await preferences.clear(); return preferences; } @@ -307,7 +307,7 @@ void main() { testWidgets('containsKey', (WidgetTester _) async { final SharedPreferencesAsync preferences = await getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; expect(false, await preferences.containsKey(key)); @@ -411,7 +411,7 @@ void main() { group('withCache', () { Future<(SharedPreferencesWithCache, Map)> getPreferences() async { - final Map cache = {}; + final cache = {}; final SharedPreferencesWithCache preferences = await SharedPreferencesWithCache.create( cache: cache, @@ -480,7 +480,7 @@ void main() { testWidgets('containsKey', (WidgetTester _) async { final (SharedPreferencesWithCache preferences, _) = await getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; expect(false, preferences.containsKey(key)); @@ -531,7 +531,7 @@ void main() { group('withCache with filter', () { Future<(SharedPreferencesWithCache, Map)> getPreferences() async { - final Map cache = {}; + final cache = {}; final SharedPreferencesWithCache preferences = await SharedPreferencesWithCache.create( cache: cache, @@ -554,7 +554,7 @@ void main() { ) async { final (SharedPreferencesWithCache preferences, _) = await getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; expect( () async => preferences.setString(key, 'test'), @@ -609,7 +609,7 @@ void main() { SharedPreferencesWithCache preferences, Map cache, ) = await getPreferences(); - final List listObject = ['one', 'two']; + final listObject = ['one', 'two']; cache[listKey] = listObject; expect(preferences.getStringList(listKey), listObject); }); diff --git a/packages/shared_preferences/shared_preferences/example/lib/main.dart b/packages/shared_preferences/shared_preferences/example/lib/main.dart index a51bb141762..092cfbafb40 100644 --- a/packages/shared_preferences/shared_preferences/example/lib/main.dart +++ b/packages/shared_preferences/shared_preferences/example/lib/main.dart @@ -64,7 +64,7 @@ class SharedPreferencesDemoState extends State { /// Gets external button presses that could occur in another instance, thread, /// or via some native system. Future _getExternalCounter() async { - final SharedPreferencesAsync prefs = SharedPreferencesAsync(); + final prefs = SharedPreferencesAsync(); final int externalCounter = (await prefs.getInt('externalCounter')) ?? 0; setState(() { _externalCounter = externalCounter; @@ -73,8 +73,7 @@ class SharedPreferencesDemoState extends State { Future _migratePreferences() async { // #docregion migrate - const SharedPreferencesOptions sharedPreferencesOptions = - SharedPreferencesOptions(); + const sharedPreferencesOptions = SharedPreferencesOptions(); final SharedPreferences prefs = await SharedPreferences.getInstance(); await migrateLegacySharedPreferencesToSharedPreferencesAsyncIfNecessary( legacySharedPreferencesInstance: prefs, diff --git a/packages/shared_preferences/shared_preferences/example/lib/readme_excerpts.dart b/packages/shared_preferences/shared_preferences/example/lib/readme_excerpts.dart index edd39ab5f3d..b917383df8b 100644 --- a/packages/shared_preferences/shared_preferences/example/lib/readme_excerpts.dart +++ b/packages/shared_preferences/shared_preferences/example/lib/readme_excerpts.dart @@ -46,7 +46,7 @@ Future readmeSnippets() async { Future readmeSnippetsAsync() async { // #docregion Async - final SharedPreferencesAsync asyncPrefs = SharedPreferencesAsync(); + final asyncPrefs = SharedPreferencesAsync(); await asyncPrefs.setBool('repeat', true); await asyncPrefs.setString('action', 'Start'); @@ -91,7 +91,7 @@ Future readmeSnippetsWithCache() async { // from examples. Future readmeTestSnippets() async { // #docregion Tests - final Map values = {'counter': 1}; + final values = {'counter': 1}; SharedPreferences.setMockInitialValues(values); // #enddocregion Tests } diff --git a/packages/shared_preferences/shared_preferences/example/pubspec.yaml b/packages/shared_preferences/shared_preferences/example/pubspec.yaml index 24b57336433..02b603a79ed 100644 --- a/packages/shared_preferences/shared_preferences/example/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences/example/pubspec.yaml @@ -3,8 +3,8 @@ description: Demonstrates how to use the shared_preferences plugin. publish_to: none environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/shared_preferences/shared_preferences/example/test/readme_excerpts_test.dart b/packages/shared_preferences/shared_preferences/example/test/readme_excerpts_test.dart index e2c38731f54..714443a46f7 100644 --- a/packages/shared_preferences/shared_preferences/example/test/readme_excerpts_test.dart +++ b/packages/shared_preferences/shared_preferences/example/test/readme_excerpts_test.dart @@ -11,7 +11,7 @@ void main() { test('sanity check readmeSnippets', () async { // This key is set and cleared in the snippets. - const String clearedKey = 'counter'; + const clearedKey = 'counter'; // Set a mock store so that there's a platform implementation. SharedPreferences.setMockInitialValues({clearedKey: 2}); diff --git a/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_async.dart b/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_async.dart index 72c05d9b9aa..d6d9e326708 100644 --- a/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_async.dart +++ b/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_async.dart @@ -42,7 +42,7 @@ class SharedPreferencesAsync { /// /// Ignores any keys whose values are types which are incompatible with shared_preferences. Future> getKeys({Set? allowList}) async { - final GetPreferencesParameters parameters = GetPreferencesParameters( + final parameters = GetPreferencesParameters( filter: PreferencesFilters(allowList: allowList), ); return _platform.getKeys(parameters, _options); @@ -54,7 +54,7 @@ class SharedPreferencesAsync { /// /// Ignores any entries of types which are incompatible with shared_preferences. Future> getAll({Set? allowList}) async { - final GetPreferencesParameters parameters = GetPreferencesParameters( + final parameters = GetPreferencesParameters( filter: PreferencesFilters(allowList: allowList), ); return _platform.getPreferences(parameters, _options); @@ -145,7 +145,7 @@ class SharedPreferencesAsync { /// /// It is highly recommended that an [allowList] be provided to this call. Future clear({Set? allowList}) { - final ClearPreferencesParameters parameters = ClearPreferencesParameters( + final parameters = ClearPreferencesParameters( filter: PreferencesFilters(allowList: allowList), ); return _platform.clear(parameters, _options); @@ -197,12 +197,11 @@ class SharedPreferencesWithCache { required SharedPreferencesWithCacheOptions cacheOptions, Map? cache, }) async { - final SharedPreferencesWithCache preferences = - SharedPreferencesWithCache._create( - sharedPreferencesOptions: sharedPreferencesOptions, - cacheOptions: cacheOptions, - cache: cache, - ); + final preferences = SharedPreferencesWithCache._create( + sharedPreferencesOptions: sharedPreferencesOptions, + cacheOptions: cacheOptions, + cache: cache, + ); await preferences.reloadCache(); diff --git a/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_devtools_extension_data.dart b/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_devtools_extension_data.dart index 9c337ef4676..5bd3eb7e82d 100644 --- a/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_devtools_extension_data.dart +++ b/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_devtools_extension_data.dart @@ -93,7 +93,7 @@ class SharedPreferencesDevToolsExtensionData { ); } } else { - final SharedPreferencesAsync prefs = SharedPreferencesAsync(); + final prefs = SharedPreferencesAsync(); // we need to check the kind because sometimes a double // gets interpreted as an int. If this was not an issue // we'd only need to do a simple pattern matching on value. diff --git a/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_legacy.dart b/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_legacy.dart index e7730a5b04e..06d89f0010c 100644 --- a/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_legacy.dart +++ b/packages/shared_preferences/shared_preferences/lib/src/shared_preferences_legacy.dart @@ -78,8 +78,7 @@ class SharedPreferences { /// performance-sensitive blocks. static Future getInstance() async { if (_completer == null) { - final Completer completer = - Completer(); + final completer = Completer(); _completer = completer; try { final Map preferencesMap = @@ -135,7 +134,7 @@ class SharedPreferences { /// Reads a set of string values from persistent storage, throwing an /// exception if it's not a string list. List? getStringList(String key) { - List? list = _preferenceCache[key] as List?; + var list = _preferenceCache[key] as List?; list = list?.cast(); // Make a copy of the list so that later mutations won't propagate return list?.toList() as List?; @@ -170,14 +169,14 @@ class SharedPreferences { /// Removes an entry from persistent storage. Future remove(String key) { - final String prefixedKey = '$_prefix$key'; + final prefixedKey = '$_prefix$key'; _preferenceCache.remove(key); return _store.remove(prefixedKey); } Future _setValue(String valueType, String key, Object value) { ArgumentError.checkNotNull(value, 'value'); - final String prefixedKey = '$_prefix$key'; + final prefixedKey = '$_prefix$key'; if (value is List) { // Make a copy of the list so that later mutations won't propagate _preferenceCache[key] = value.toList(); @@ -229,7 +228,7 @@ Either update the implementation to support setPrefix, or do not call setPrefix. } static Future> _getSharedPreferencesMap() async { - final Map fromSystem = {}; + final fromSystem = {}; if (_prefixHasBeenChanged) { try { fromSystem.addAll( @@ -258,7 +257,7 @@ Either update the implementation to support setPrefix, or do not call setPrefix. return fromSystem; } // Strip the prefix from the returned preferences. - final Map preferencesMap = {}; + final preferencesMap = {}; for (final String key in fromSystem.keys) { assert(key.startsWith(_prefix)); preferencesMap[key.substring(_prefix.length)] = fromSystem[key]!; @@ -275,7 +274,7 @@ Either update the implementation to support setPrefix, or do not call setPrefix. String key, Object value, ) { - String newKey = key; + var newKey = key; if (!key.startsWith(_prefix)) { newKey = '$_prefix$key'; } diff --git a/packages/shared_preferences/shared_preferences/lib/util/legacy_to_async_migration_util.dart b/packages/shared_preferences/shared_preferences/lib/util/legacy_to_async_migration_util.dart index 866d0fbf8d9..439c7c8c9cf 100644 --- a/packages/shared_preferences/shared_preferences/lib/util/legacy_to_async_migration_util.dart +++ b/packages/shared_preferences/shared_preferences/lib/util/legacy_to_async_migration_util.dart @@ -29,8 +29,9 @@ Future migrateLegacySharedPreferencesToSharedPreferencesAsyncIfNecessary({ required SharedPreferencesOptions sharedPreferencesAsyncOptions, required String migrationCompletedKey, }) async { - final SharedPreferencesAsync sharedPreferencesAsyncInstance = - SharedPreferencesAsync(options: sharedPreferencesAsyncOptions); + final sharedPreferencesAsyncInstance = SharedPreferencesAsync( + options: sharedPreferencesAsyncOptions, + ); if (await sharedPreferencesAsyncInstance.containsKey(migrationCompletedKey)) { return; @@ -39,7 +40,7 @@ Future migrateLegacySharedPreferencesToSharedPreferencesAsyncIfNecessary({ await legacySharedPreferencesInstance.reload(); final Set keys = legacySharedPreferencesInstance.getKeys(); - for (final String key in keys) { + for (final key in keys) { final Object? value = legacySharedPreferencesInstance.get(key); switch (value.runtimeType) { case const (bool): diff --git a/packages/shared_preferences/shared_preferences/pubspec.yaml b/packages/shared_preferences/shared_preferences/pubspec.yaml index 85aeee0c169..532500c6903 100644 --- a/packages/shared_preferences/shared_preferences/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences/pubspec.yaml @@ -6,8 +6,8 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 2.5.3 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" flutter: plugin: diff --git a/packages/shared_preferences/shared_preferences/test/shared_preferences_async_test.dart b/packages/shared_preferences/shared_preferences/test/shared_preferences_async_test.dart index 7798e800781..3eeef53821d 100755 --- a/packages/shared_preferences/shared_preferences/test/shared_preferences_async_test.dart +++ b/packages/shared_preferences/shared_preferences/test/shared_preferences_async_test.dart @@ -10,23 +10,23 @@ import 'package:shared_preferences_platform_interface/shared_preferences_async_p import 'package:shared_preferences_platform_interface/types.dart'; void main() { - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; - - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; + + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; group('Async', () { (SharedPreferencesAsync, FakeSharedPreferencesAsync) getPreferences() { - final FakeSharedPreferencesAsync store = FakeSharedPreferencesAsync(); + final store = FakeSharedPreferencesAsync(); SharedPreferencesAsyncPlatform.instance = store; - final SharedPreferencesAsync preferences = SharedPreferencesAsync(); + final preferences = SharedPreferencesAsync(); return (preferences, store); } @@ -155,7 +155,7 @@ void main() { SharedPreferencesAsync preferences, FakeSharedPreferencesAsync store, ) = getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; await preferences.remove(key); expect( store.log, @@ -208,7 +208,7 @@ void main() { test('containsKey', () async { final (SharedPreferencesAsync preferences, _) = getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; expect(false, await preferences.containsKey(key)); @@ -274,8 +274,8 @@ void main() { ) > getPreferences() async { - final Map cache = {}; - final FakeSharedPreferencesAsync store = FakeSharedPreferencesAsync(); + final cache = {}; + final store = FakeSharedPreferencesAsync(); SharedPreferencesAsyncPlatform.instance = store; final SharedPreferencesWithCache preferences = await SharedPreferencesWithCache.create( @@ -381,7 +381,7 @@ void main() { test('containsKey', () async { final (SharedPreferencesWithCache preferences, _, _) = await getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; expect(false, preferences.containsKey(key)); @@ -416,7 +416,7 @@ void main() { FakeSharedPreferencesAsync store, _, ) = await getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; await preferences.remove(key); expect( store.log, @@ -463,8 +463,8 @@ void main() { ) > getPreferences() async { - final Map cache = {}; - final FakeSharedPreferencesAsync store = FakeSharedPreferencesAsync(); + final cache = {}; + final store = FakeSharedPreferencesAsync(); SharedPreferencesAsyncPlatform.instance = store; final SharedPreferencesWithCache preferences = await SharedPreferencesWithCache.create( @@ -577,7 +577,7 @@ void main() { test('throws ArgumentError if key is not included in filter', () async { final (SharedPreferencesWithCache preferences, _, _) = await getPreferences(); - const String key = 'testKey'; + const key = 'testKey'; expect( () async => preferences.setString(key, 'test'), diff --git a/packages/shared_preferences/shared_preferences/test/shared_preferences_devtools_extension_data_test.dart b/packages/shared_preferences/shared_preferences/test/shared_preferences_devtools_extension_data_test.dart index 61358cd521d..4e9813c7c4d 100644 --- a/packages/shared_preferences/shared_preferences/test/shared_preferences_devtools_extension_data_test.dart +++ b/packages/shared_preferences/shared_preferences/test/shared_preferences_devtools_extension_data_test.dart @@ -62,7 +62,7 @@ void main() { String key, { required Map expectedData, }) async { - const bool legacy = false; + const legacy = false; await extension.requestValue(key, legacy); @@ -74,8 +74,8 @@ void main() { } test('should request bool value from async api', () async { - const String key = 'key'; - const bool expectedValue = true; + const key = 'key'; + const expectedValue = true; await asyncPreferences.setBool(key, expectedValue); await testAsyncApiRequestValue( @@ -88,8 +88,8 @@ void main() { }); test('should request int value from async api', () async { - const String key = 'key'; - const int expectedValue = 42; + const key = 'key'; + const expectedValue = 42; await asyncPreferences.setInt(key, expectedValue); await testAsyncApiRequestValue( @@ -102,8 +102,8 @@ void main() { }); test('should request double value from async api', () async { - const String key = 'key'; - const double expectedValue = 42.2; + const key = 'key'; + const expectedValue = 42.2; await asyncPreferences.setDouble(key, expectedValue); await testAsyncApiRequestValue( @@ -116,8 +116,8 @@ void main() { }); test('should request string value from async api', () async { - const String key = 'key'; - const String expectedValue = 'value'; + const key = 'key'; + const expectedValue = 'value'; await asyncPreferences.setString(key, expectedValue); await testAsyncApiRequestValue( @@ -130,8 +130,8 @@ void main() { }); test('should request string list value from async api', () async { - const String key = 'key'; - const List expectedValue = ['string1', 'string2']; + const key = 'key'; + const expectedValue = ['string1', 'string2']; await asyncPreferences.setStringList(key, expectedValue); await testAsyncApiRequestValue( @@ -147,7 +147,7 @@ void main() { String key, Object expectedValue, ) async { - const bool legacy = false; + const legacy = false; await extension.requestValueChange( key, @@ -164,8 +164,8 @@ void main() { } test('should request int value change on async api', () async { - const String key = 'key'; - const int expectedValue = 42; + const key = 'key'; + const expectedValue = 42; await asyncPreferences.setInt(key, 24); await testAsyncApiValueChange(key, expectedValue); @@ -174,8 +174,8 @@ void main() { }); test('should request bool value change on async api', () async { - const String key = 'key'; - const bool expectedValue = false; + const key = 'key'; + const expectedValue = false; await asyncPreferences.setBool(key, true); await testAsyncApiValueChange(key, expectedValue); @@ -184,8 +184,8 @@ void main() { }); test('should request double value change on async api', () async { - const String key = 'key'; - const double expectedValue = 22.22; + const key = 'key'; + const expectedValue = 22.22; await asyncPreferences.setDouble(key, 11.1); await testAsyncApiValueChange(key, expectedValue); @@ -194,8 +194,8 @@ void main() { }); test('should request string value change on async api', () async { - const String key = 'key'; - const String expectedValue = 'new value'; + const key = 'key'; + const expectedValue = 'new value'; await asyncPreferences.setString(key, 'old value'); await testAsyncApiValueChange(key, expectedValue); @@ -204,8 +204,8 @@ void main() { }); test('should request string list value change on async api', () async { - const String key = 'key'; - const List expectedValue = ['string1', 'string2']; + const key = 'key'; + const expectedValue = ['string1', 'string2']; await asyncPreferences.setStringList(key, ['old1', 'old2']); await testAsyncApiValueChange(key, expectedValue); @@ -222,7 +222,7 @@ void main() { String key, { required Map expectedData, }) async { - const bool legacy = true; + const legacy = true; await extension.requestValue(key, legacy); @@ -234,8 +234,8 @@ void main() { } test('should request bool value from legacy api', () async { - const String key = 'key'; - const bool expectedValue = false; + const key = 'key'; + const expectedValue = false; SharedPreferences.setMockInitialValues({ key: expectedValue, }); @@ -250,8 +250,8 @@ void main() { }); test('should request int value from legacy api', () async { - const String key = 'key'; - const int expectedValue = 42; + const key = 'key'; + const expectedValue = 42; SharedPreferences.setMockInitialValues({ key: expectedValue, }); @@ -266,8 +266,8 @@ void main() { }); test('should request double value from legacy api', () async { - const String key = 'key'; - const double expectedValue = 42.2; + const key = 'key'; + const expectedValue = 42.2; SharedPreferences.setMockInitialValues({ key: expectedValue, }); @@ -282,8 +282,8 @@ void main() { }); test('should request string value from legacy api', () async { - const String key = 'key'; - const String expectedValue = 'value'; + const key = 'key'; + const expectedValue = 'value'; SharedPreferences.setMockInitialValues({ key: expectedValue, }); @@ -298,8 +298,8 @@ void main() { }); test('should request string list value from legacy api', () async { - const String key = 'key'; - const List expectedValue = ['string1', 'string2']; + const key = 'key'; + const expectedValue = ['string1', 'string2']; SharedPreferences.setMockInitialValues({ key: expectedValue, }); @@ -317,7 +317,7 @@ void main() { String key, Object expectedValue, ) async { - const bool legacy = true; + const legacy = true; await extension.requestValueChange( key, @@ -334,8 +334,8 @@ void main() { } test('should request int value change on legacy api', () async { - const String key = 'key'; - const int expectedValue = 42; + const key = 'key'; + const expectedValue = 42; SharedPreferences.setMockInitialValues({key: 24}); await testLegacyApiValueChange(key, expectedValue); @@ -347,8 +347,8 @@ void main() { }); test('should request bool value change on legacy api', () async { - const String key = 'key'; - const bool expectedValue = false; + const key = 'key'; + const expectedValue = false; SharedPreferences.setMockInitialValues({key: true}); await testLegacyApiValueChange(key, expectedValue); @@ -360,8 +360,8 @@ void main() { }); test('should request double value change on legacy api', () async { - const String key = 'key'; - const double expectedValue = 1.11; + const key = 'key'; + const expectedValue = 1.11; SharedPreferences.setMockInitialValues({key: 2.22}); await testLegacyApiValueChange(key, expectedValue); @@ -373,8 +373,8 @@ void main() { }); test('should request string value change on legacy api', () async { - const String key = 'key'; - const String expectedValue = 'new value'; + const key = 'key'; + const expectedValue = 'new value'; SharedPreferences.setMockInitialValues({ key: 'old value', }); @@ -388,8 +388,8 @@ void main() { }); test('should request string list value change on legacy api', () async { - const String key = 'key'; - const List expectedValue = ['string1', 'string2']; + const key = 'key'; + const expectedValue = ['string1', 'string2']; SharedPreferences.setMockInitialValues({ key: ['old1', 'old2'], }); diff --git a/packages/shared_preferences/shared_preferences/test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences/test/shared_preferences_test.dart index 6e47281469b..f4ce136f5f7 100755 --- a/packages/shared_preferences/shared_preferences/test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences/test/shared_preferences_test.dart @@ -11,12 +11,12 @@ import 'package:shared_preferences_platform_interface/types.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; - const Map testValues = { + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; + const testValues = { 'flutter.String': testString, 'flutter.bool': testBool, 'flutter.int': testInt, @@ -24,12 +24,12 @@ void main() { 'flutter.List': testList, }; - const String testString2 = 'goodbye world'; - const bool testBool2 = false; - const int testInt2 = 1337; - const double testDouble2 = 2.71828; - const List testList2 = ['baz', 'qux']; - const Map testValues2 = { + const testString2 = 'goodbye world'; + const testBool2 = false; + const testInt2 = 1337; + const testDouble2 = 2.71828; + const testList2 = ['baz', 'qux']; + const testValues2 = { 'flutter.String': testString2, 'flutter.bool': testBool2, 'flutter.int': testInt2, @@ -102,7 +102,7 @@ void main() { }); test('removing', () async { - const String key = 'testKey'; + const key = 'testKey'; await preferences.remove(key); expect( store.log, @@ -115,7 +115,7 @@ void main() { }); test('containsKey', () async { - const String key = 'testKey'; + const key = 'testKey'; expect(false, preferences.containsKey(key)); @@ -160,8 +160,8 @@ void main() { }); group('mocking', () { - const String key = 'dummy'; - const String prefixedKey = 'flutter.$key'; + const key = 'dummy'; + const prefixedKey = 'flutter.$key'; test('test 1', () async { SharedPreferences.setMockInitialValues({ @@ -183,7 +183,7 @@ void main() { }); test('writing copy of strings list', () async { - final List myList = []; + final myList = []; await preferences.setStringList('myList', myList); myList.add('foobar'); @@ -213,7 +213,7 @@ void main() { }); test('calling setPrefix after getInstance throws', () async { - const String newPrefix = 'newPrefix'; + const newPrefix = 'newPrefix'; await SharedPreferences.getInstance(); Object? err; @@ -226,7 +226,7 @@ void main() { }); test('using setPrefix allows setting and getting', () async { - const String newPrefix = 'newPrefix'; + const newPrefix = 'newPrefix'; SharedPreferences.resetStatic(); SharedPreferences.setPrefix(newPrefix); @@ -248,7 +248,7 @@ void main() { }); test('allowList only gets allowed items', () async { - const Set allowList = {'stringKey', 'boolKey'}; + const allowList = {'stringKey', 'boolKey'}; SharedPreferences.resetStatic(); SharedPreferences.setPrefix('', allowList: allowList); @@ -272,7 +272,7 @@ void main() { }); test('using reload after setPrefix properly reloads the cache', () async { - const String newPrefix = 'newPrefix'; + const newPrefix = 'newPrefix'; SharedPreferences.resetStatic(); SharedPreferences.setPrefix(newPrefix); @@ -290,8 +290,7 @@ void main() { }); test('unimplemented errors in withParameters methods are updated', () async { - final UnimplementedSharedPreferencesStore localStore = - UnimplementedSharedPreferencesStore(); + final localStore = UnimplementedSharedPreferencesStore(); SharedPreferencesStorePlatform.instance = localStore; SharedPreferences.resetStatic(); SharedPreferences.setPrefix(''); @@ -312,8 +311,7 @@ void main() { test( 'non-Unimplemented errors pass through withParameters methods correctly', () async { - final ThrowingSharedPreferencesStore localStore = - ThrowingSharedPreferencesStore(); + final localStore = ThrowingSharedPreferencesStore(); SharedPreferencesStorePlatform.instance = localStore; SharedPreferences.resetStatic(); SharedPreferences.setPrefix(''); diff --git a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart index f264f955742..c7a7406f725 100644 --- a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart @@ -15,7 +15,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('SharedPreferencesAndroid', () { - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -23,7 +23,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -31,7 +31,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -39,7 +39,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -532,7 +532,7 @@ void main() { }); testWidgets('remove', (WidgetTester _) async { - const String key = 'testKey'; + const key = 'testKey'; await preferences.setValue( 'String', key, @@ -593,9 +593,9 @@ void main() { }); testWidgets('simultaneous writes', (WidgetTester _) async { - final List> writes = >[]; - const int writeCount = 100; - for (int i = 1; i <= writeCount; i++) { + final writes = >[]; + const writeCount = 100; + for (var i = 1; i <= writeCount; i++) { writes.add(preferences.setValue('Int', 'Int', i)); } final List result = await Future.wait(writes, eagerError: true); @@ -609,21 +609,21 @@ void main() { }); testWidgets('string clash with lists and doubles', (WidgetTester _) async { - const String key = 'aKey'; - const String value = 'a string value'; + const key = 'aKey'; + const value = 'a string value'; await preferences.clearWithParameters( ClearParameters(filter: PreferencesFilter(prefix: '')), ); // Special prefixes used to store datatypes that can't be stored directly // in SharedPreferences as strings instead. - const List specialPrefixes = [ + const specialPrefixes = [ // Prefix for lists: 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu', // Prefix for doubles: 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu', ]; - for (final String prefix in specialPrefixes) { + for (final prefix in specialPrefixes) { expect( preferences.setValue('String', key, prefix + value), throwsA(isA()), @@ -677,17 +677,17 @@ void main() { ); }); - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; SharedPreferencesAsyncAndroidOptions getOptions({ required bool useDataStore, @@ -721,7 +721,7 @@ void main() { void runAsyncTests(bool useDataStore) { group('shared_preferences_async', () { - final String backend = useDataStore ? 'DataStore' : 'SharedPreferences'; + final backend = useDataStore ? 'DataStore' : 'SharedPreferences'; testWidgets('set and get String with $backend', (WidgetTester _) async { final SharedPreferencesAsyncAndroidOptions options = getOptions( @@ -998,8 +998,7 @@ void main() { useDataStore: useDataStore, fileName: 'notDefault', ); - final SharedPreferencesAsyncAndroid preferences = - getPreferences() as SharedPreferencesAsyncAndroid; + final preferences = getPreferences() as SharedPreferencesAsyncAndroid; await clearPreferences(preferences, options); final SharedPreferencesPigeonOptions pigeonOptions = preferences .convertOptionsToPigeonOptions(options); @@ -1026,8 +1025,7 @@ void main() { useDataStore: useDataStore, fileName: 'notDefault', ); - final SharedPreferencesAsyncAndroid preferences = - getPreferences() as SharedPreferencesAsyncAndroid; + final preferences = getPreferences() as SharedPreferencesAsyncAndroid; await clearPreferences(preferences, options); await Future.wait(>[ preferences.setString(stringKey, testString, options), @@ -1057,8 +1055,7 @@ void main() { useDataStore: useDataStore, fileName: 'notDefault', ); - final SharedPreferencesAsyncAndroid preferences = - getPreferences() as SharedPreferencesAsyncAndroid; + final preferences = getPreferences() as SharedPreferencesAsyncAndroid; await clearPreferences(preferences, options); await Future.wait(>[ preferences.setString(stringKey, testString, options), diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart index bb67fcaf635..866b33f3d83 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart @@ -142,7 +142,7 @@ base class SharedPreferencesAsyncAndroid final SharedPreferencesPigeonOptions pigeonOptions = convertOptionsToPigeonOptions(options); final SharedPreferencesAsyncApi api = getApiForBackend(pigeonOptions); - final String stringValue = '$jsonListPrefix${jsonEncode(value)}'; + final stringValue = '$jsonListPrefix${jsonEncode(value)}'; return api.setString(key, stringValue, pigeonOptions); } diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index 1fe35c407cb..182cc9297e6 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -17,7 +17,7 @@ void main() { late _FakeSharedPreferencesApi api; late SharedPreferencesAndroid plugin; - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -25,7 +25,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -33,7 +33,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -41,16 +41,17 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValuesForComparison = {}; + final allTestValuesForComparison = {}; allTestValuesForComparison.addAll(flutterTestValues); allTestValuesForComparison.addAll(prefixTestValues); allTestValuesForComparison.addAll(nonPrefixTestValues); - final Map allTestValuesForAddingDirectlyToCache = - {...allTestValuesForComparison}; + final allTestValuesForAddingDirectlyToCache = { + ...allTestValuesForComparison, + }; - final String encodedListStringValue = + final encodedListStringValue = '$jsonListPrefix${jsonEncode(['foo', 'bar'])}'; allTestValuesForAddingDirectlyToCache['flutter.StringList'] = encodedListStringValue; @@ -266,7 +267,7 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { if (allowList != null) { allowSet = Set.from(allowList); } - final Map filteredItems = { + final filteredItems = { for (final String key in items.keys) if (key.startsWith(prefix) && (allowSet == null || allowSet.contains(key))) diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart index 84392f227e5..d760d5fd6c7 100755 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart @@ -16,38 +16,36 @@ import 'package:shared_preferences_platform_interface/types.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; - - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; + + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; SharedPreferencesAsyncAndroid getPreferences(bool useDataStore) { - final _FakeSharedPreferencesApi api = _FakeSharedPreferencesApi(); - final SharedPreferencesAsyncAndroid preferences = - SharedPreferencesAsyncAndroid( - dataStoreApi: api, - sharedPreferencesApi: api, - ); + final api = _FakeSharedPreferencesApi(); + final preferences = SharedPreferencesAsyncAndroid( + dataStoreApi: api, + sharedPreferencesApi: api, + ); return preferences; } void runTests(bool useDataStore) { - final String backend = useDataStore ? 'DataStore' : 'SharedPreferences'; + final backend = useDataStore ? 'DataStore' : 'SharedPreferences'; - final SharedPreferencesAsyncAndroidOptions emptyOptions = - SharedPreferencesAsyncAndroidOptions( - backend: useDataStore - ? SharedPreferencesAndroidBackendLibrary.DataStore - : SharedPreferencesAndroidBackendLibrary.SharedPreferences, - ); + final emptyOptions = SharedPreferencesAsyncAndroidOptions( + backend: useDataStore + ? SharedPreferencesAndroidBackendLibrary.DataStore + : SharedPreferencesAndroidBackendLibrary.SharedPreferences, + ); test('set and get String with $backend', () async { final SharedPreferencesAsyncAndroid preferences = getPreferences( @@ -276,7 +274,7 @@ class _FakeSharedPreferencesApi implements SharedPreferencesAsyncApi { List? allowList, SharedPreferencesPigeonOptions options, ) async { - final Map filteredItems = {...items}; + final filteredItems = {...items}; if (allowList != null) { filteredItems.removeWhere((String key, _) => !allowList.contains(key)); } diff --git a/packages/shared_preferences/shared_preferences_foundation/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_foundation/example/integration_test/shared_preferences_test.dart index 637376ff0eb..f58cf1ded7d 100644 --- a/packages/shared_preferences/shared_preferences_foundation/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_foundation/example/integration_test/shared_preferences_test.dart @@ -13,7 +13,7 @@ void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('SharedPreferencesAsyncFoundation', () { - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -21,7 +21,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -29,7 +29,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -37,7 +37,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -566,7 +566,7 @@ void main() { }); testWidgets('remove', (WidgetTester _) async { - const String key = 'testKey'; + const key = 'testKey'; await preferences.setValue( 'String', key, @@ -627,9 +627,9 @@ void main() { }); testWidgets('simultaneous writes', (WidgetTester _) async { - final List> writes = >[]; - const int writeCount = 100; - for (int i = 1; i <= writeCount; i++) { + final writes = >[]; + const writeCount = 100; + for (var i = 1; i <= writeCount; i++) { writes.add(preferences.setValue('Int', 'Int', i)); } final List result = await Future.wait(writes, eagerError: true); @@ -644,24 +644,22 @@ void main() { }); group('shared_preferences_async', () { - final SharedPreferencesAsyncFoundationOptions emptyOptions = - SharedPreferencesAsyncFoundationOptions(); - final SharedPreferencesAsyncFoundationOptions optionsWithSuiteName = - SharedPreferencesAsyncFoundationOptions( - suiteName: 'group.example.sharedPreferencesFoundation', - ); - - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; - - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + final emptyOptions = SharedPreferencesAsyncFoundationOptions(); + final optionsWithSuiteName = SharedPreferencesAsyncFoundationOptions( + suiteName: 'group.example.sharedPreferencesFoundation', + ); + + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; + + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; Future getPreferences() async { final SharedPreferencesAsyncPlatform preferences = diff --git a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_async_foundation_test.dart b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_async_foundation_test.dart index d8212efe5c5..05383cfc3ed 100644 --- a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_async_foundation_test.dart +++ b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_async_foundation_test.dart @@ -11,25 +11,23 @@ import 'package:shared_preferences_platform_interface/types.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; - final SharedPreferencesAsyncFoundationOptions emptyOptions = - SharedPreferencesAsyncFoundationOptions(); + final emptyOptions = SharedPreferencesAsyncFoundationOptions(); SharedPreferencesAsyncFoundation getPreferences() { - final _FakeSharedPreferencesApi api = _FakeSharedPreferencesApi(); - final SharedPreferencesAsyncFoundation preferences = - SharedPreferencesAsyncFoundation(api: api); + final api = _FakeSharedPreferencesApi(); + final preferences = SharedPreferencesAsyncFoundation(api: api); return preferences; } @@ -224,7 +222,7 @@ class _FakeSharedPreferencesApi implements UserDefaultsApi { List? allowList, SharedPreferencesPigeonOptions options, ) async { - final Map filteredItems = {...items}; + final filteredItems = {...items}; if (allowList != null) { filteredItems.removeWhere((String key, _) => !allowList.contains(key)); } diff --git a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart index 6b3945f2ce6..7a8a2481dbb 100644 --- a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart +++ b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart @@ -73,7 +73,7 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); late _MockSharedPreferencesApi api; - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -81,7 +81,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -89,7 +89,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -97,7 +97,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -116,27 +116,21 @@ void main() { }); test('remove', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); api.items['flutter.hi'] = 'world'; expect(await plugin.remove('flutter.hi'), isTrue); expect(api.items.containsKey('flutter.hi'), isFalse); }); test('clear', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); api.items['flutter.hi'] = 'world'; expect(await plugin.clear(), isTrue); expect(api.items.containsKey('flutter.hi'), isFalse); }); test('clearWithPrefix', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -151,9 +145,7 @@ void main() { }); test('clearWithParameters', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -174,9 +166,7 @@ void main() { }); test('clearWithParameters with allow list', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -202,9 +192,7 @@ void main() { }); test('getAll', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in flutterTestValues.keys) { api.items[key] = flutterTestValues[key]!; } @@ -214,9 +202,7 @@ void main() { }); test('getAllWithPrefix', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -226,9 +212,7 @@ void main() { }); test('getAllWithParameters', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -240,9 +224,7 @@ void main() { }); test('getAllWithParameters with allow list', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -259,9 +241,7 @@ void main() { }); test('setValue', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); expect(await plugin.setValue('Bool', 'flutter.Bool', true), isTrue); expect(api.items['flutter.Bool'], true); expect(await plugin.setValue('Double', 'flutter.Double', 1.5), isTrue); @@ -278,18 +258,14 @@ void main() { }); test('setValue with unsupported type', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); expect(() async { await plugin.setValue('Map', 'flutter.key', {}); }, throwsA(isA())); }); test('getAllWithNoPrefix', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -299,9 +275,7 @@ void main() { }); test('clearWithNoPrefix', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -314,9 +288,7 @@ void main() { }); test('getAllWithNoPrefix with param', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } @@ -328,9 +300,7 @@ void main() { }); test('clearWithNoPrefix with param', () async { - final SharedPreferencesFoundation plugin = SharedPreferencesFoundation( - api: api, - ); + final plugin = SharedPreferencesFoundation(api: api); for (final String key in allTestValues.keys) { api.items[key] = allTestValues[key]!; } diff --git a/packages/shared_preferences/shared_preferences_linux/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_linux/example/integration_test/shared_preferences_test.dart index 1a541c37528..59e8095176b 100644 --- a/packages/shared_preferences/shared_preferences_linux/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_linux/example/integration_test/shared_preferences_test.dart @@ -14,7 +14,7 @@ void main() { group('SharedPreferencesLinux', () { late SharedPreferencesLinux preferences; - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -22,7 +22,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -30,7 +30,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -38,7 +38,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -128,7 +128,7 @@ void main() { group('withPrefix', () { testWidgets('remove', (WidgetTester _) async { - const String key = 'flutter.String'; + const key = 'flutter.String'; await preferences.remove(key); final Map values = await preferences.getAllWithPrefix( '', @@ -217,7 +217,7 @@ void main() { group('withParameters', () { testWidgets('remove', (WidgetTester _) async { - const String key = 'flutter.String'; + const key = 'flutter.String'; await preferences.remove(key); final Map values = await preferences .getAllWithParameters( @@ -366,20 +366,19 @@ void main() { }); group('shared_preferences_async', () { - const SharedPreferencesLinuxOptions emptyOptions = - SharedPreferencesLinuxOptions(); - - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; - - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const emptyOptions = SharedPreferencesLinuxOptions(); + + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; + + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; Future getPreferences({ bool clear = true, diff --git a/packages/shared_preferences/shared_preferences_linux/lib/shared_preferences_linux.dart b/packages/shared_preferences/shared_preferences_linux/lib/shared_preferences_linux.dart index b9765df9620..7cc16fbdb4b 100644 --- a/packages/shared_preferences/shared_preferences_linux/lib/shared_preferences_linux.dart +++ b/packages/shared_preferences/shared_preferences_linux/lib/shared_preferences_linux.dart @@ -107,9 +107,7 @@ class SharedPreferencesLinux extends SharedPreferencesStorePlatform { GetAllParameters parameters, ) async { final PreferencesFilter filter = parameters.filter; - final Map withPrefix = Map.from( - await _readPreferences(), - ); + final withPrefix = Map.from(await _readPreferences()); withPrefix.removeWhere( (String key, _) => !(key.startsWith(filter.prefix) && @@ -294,7 +292,7 @@ base class SharedPreferencesAsyncLinux extends SharedPreferencesAsyncPlatform { ) async { final SharedPreferencesLinuxOptions linuxOptions = SharedPreferencesLinuxOptions.fromSharedPreferencesOptions(options); - final Map prefs = Map.from( + final prefs = Map.from( await _readPreferences(linuxOptions.fileName), ); prefs.removeWhere((String key, _) => !(allowList?.contains(key) ?? true)); @@ -353,7 +351,7 @@ Future> _reload( FileSystem fs = const LocalFileSystem(), PathProviderLinux? pathProvider, }) async { - Map preferences = {}; + var preferences = {}; final File? localDataFile = await _getLocalDataFile( fileName, fs: fs, diff --git a/packages/shared_preferences/shared_preferences_linux/test/legacy_shared_preferences_linux_test.dart b/packages/shared_preferences/shared_preferences_linux/test/legacy_shared_preferences_linux_test.dart index 6aa225d7076..08e303bd371 100644 --- a/packages/shared_preferences/shared_preferences_linux/test/legacy_shared_preferences_linux_test.dart +++ b/packages/shared_preferences/shared_preferences_linux/test/legacy_shared_preferences_linux_test.dart @@ -19,7 +19,7 @@ void main() { SharedPreferencesLinux.registerWith(); - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -27,7 +27,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -35,7 +35,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -43,7 +43,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -70,7 +70,7 @@ void main() { } SharedPreferencesLinux getPreferences() { - final SharedPreferencesLinux prefs = SharedPreferencesLinux(); + final prefs = SharedPreferencesLinux(); prefs.fs = fs; prefs.pathProvider = pathProvider; return prefs; diff --git a/packages/shared_preferences/shared_preferences_linux/test/shared_preferences_linux_async_test.dart b/packages/shared_preferences/shared_preferences_linux/test/shared_preferences_linux_async_test.dart index a99feb230b0..801a027e9ef 100755 --- a/packages/shared_preferences/shared_preferences_linux/test/shared_preferences_linux_async_test.dart +++ b/packages/shared_preferences/shared_preferences_linux/test/shared_preferences_linux_async_test.dart @@ -16,20 +16,19 @@ void main() { SharedPreferencesAsyncLinux.registerWith(); - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; - const SharedPreferencesLinuxOptions emptyOptions = - SharedPreferencesLinuxOptions(); + const emptyOptions = SharedPreferencesLinuxOptions(); setUp(() { fs = MemoryFileSystem.test(); @@ -37,7 +36,7 @@ void main() { }); SharedPreferencesAsyncLinux getPreferences() { - final SharedPreferencesAsyncLinux prefs = SharedPreferencesAsyncLinux(); + final prefs = SharedPreferencesAsyncLinux(); prefs.fs = fs; prefs.pathProvider = pathProvider; return prefs; diff --git a/packages/shared_preferences/shared_preferences_platform_interface/lib/in_memory_shared_preferences_async.dart b/packages/shared_preferences/shared_preferences_platform_interface/lib/in_memory_shared_preferences_async.dart index 2bc65b3dd0c..54ae0c66331 100644 --- a/packages/shared_preferences/shared_preferences_platform_interface/lib/in_memory_shared_preferences_async.dart +++ b/packages/shared_preferences/shared_preferences_platform_interface/lib/in_memory_shared_preferences_async.dart @@ -41,7 +41,7 @@ base class InMemorySharedPreferencesAsync SharedPreferencesOptions options, ) async { final PreferencesFilters filter = parameters.filter; - final Map preferences = Map.from(_data); + final preferences = Map.from(_data); preferences.removeWhere( (String key, _) => filter.allowList != null && !filter.allowList!.contains(key), @@ -134,7 +134,7 @@ base class InMemorySharedPreferencesAsync String key, SharedPreferencesOptions options, ) async { - final List? data = _data[key] as List?; + final data = _data[key] as List?; return data?.cast(); } diff --git a/packages/shared_preferences/shared_preferences_platform_interface/lib/shared_preferences_platform_interface.dart b/packages/shared_preferences/shared_preferences_platform_interface/lib/shared_preferences_platform_interface.dart index 5b0c4abc351..c5b86042b6f 100644 --- a/packages/shared_preferences/shared_preferences_platform_interface/lib/shared_preferences_platform_interface.dart +++ b/packages/shared_preferences/shared_preferences_platform_interface/lib/shared_preferences_platform_interface.dart @@ -163,7 +163,7 @@ class InMemorySharedPreferencesStore extends SharedPreferencesStorePlatform { GetAllParameters parameters, ) async { final PreferencesFilter filter = parameters.filter; - final Map preferences = Map.from(_data); + final preferences = Map.from(_data); preferences.removeWhere( (String key, _) => !key.startsWith(filter.prefix) || diff --git a/packages/shared_preferences/shared_preferences_platform_interface/test/deprecated_method_channel_shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_platform_interface/test/deprecated_method_channel_shared_preferences_test.dart index 72230f728cb..bbb662a5148 100644 --- a/packages/shared_preferences/shared_preferences_platform_interface/test/deprecated_method_channel_shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_platform_interface/test/deprecated_method_channel_shared_preferences_test.dart @@ -12,11 +12,9 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); group(MethodChannelSharedPreferencesStore, () { - const MethodChannel channel = MethodChannel( - 'plugins.flutter.io/shared_preferences', - ); + const channel = MethodChannel('plugins.flutter.io/shared_preferences'); - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -24,7 +22,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -32,7 +30,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -40,7 +38,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -48,7 +46,7 @@ void main() { late InMemorySharedPreferencesStore testData; - final List log = []; + final log = []; late MethodChannelSharedPreferencesStore store; setUp(() async { @@ -69,14 +67,13 @@ void main() { final Map arguments = getArgumentDictionary( methodCall, ); - final String prefix = arguments['prefix']! as String; + final prefix = arguments['prefix']! as String; Set? allowSet; - final List? allowList = - arguments['allowList'] as List?; + final allowList = arguments['allowList'] as List?; if (allowList != null) { allowSet = {}; - for (final dynamic key in allowList) { - allowSet.add(key as String); + for (final Object? key in allowList) { + allowSet.add(key! as String); } } return testData.getAllWithParameters( @@ -92,7 +89,7 @@ void main() { final Map arguments = getArgumentDictionary( methodCall, ); - final String key = arguments['key']! as String; + final key = arguments['key']! as String; return testData.remove(key); } if (methodCall.method == 'clear') { @@ -102,14 +99,13 @@ void main() { final Map arguments = getArgumentDictionary( methodCall, ); - final String prefix = arguments['prefix']! as String; + final prefix = arguments['prefix']! as String; Set? allowSet; - final List? allowList = - arguments['allowList'] as List?; + final allowList = arguments['allowList'] as List?; if (allowList != null) { allowSet = {}; - for (final dynamic key in allowList) { - allowSet.add(key as String); + for (final Object? key in allowList) { + allowSet.add(key! as String); } } return testData.clearWithParameters( @@ -121,14 +117,14 @@ void main() { ), ); } - final RegExp setterRegExp = RegExp(r'set(.*)'); + final setterRegExp = RegExp(r'set(.*)'); final Match? match = setterRegExp.matchAsPrefix(methodCall.method); if (match?.groupCount == 1) { final String valueType = match!.group(1)!; final Map arguments = getArgumentDictionary( methodCall, ); - final String key = arguments['key']! as String; + final key = arguments['key']! as String; final Object value = arguments['value']!; return testData.setValue(valueType, key, value); } @@ -185,7 +181,7 @@ void main() { }); expect(log, hasLength(4)); - for (final MethodCall call in log) { + for (final call in log) { expect(call.method, 'remove'); } }); diff --git a/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_notifier.dart b/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_notifier.dart index 6491d3da088..bc1f166cb4d 100644 --- a/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_notifier.dart +++ b/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_notifier.dart @@ -41,7 +41,7 @@ class SharedPreferencesStateNotifier _legacyKeys = allKeys.legacyKeys; // Platforms other than Android also add the legacy keys to the async keys // in the pattern `flutter.$key`, so we need to remove them to avoid duplicates. - const String legacyPrefix = 'flutter.'; + const legacyPrefix = 'flutter.'; _asyncKeys = [ for (final String key in allKeys.asyncKeys) if (!(key.startsWith(legacyPrefix) && diff --git a/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_provider.dart b/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_provider.dart index a02cef21c74..206a37a20a7 100644 --- a/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_provider.dart +++ b/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_state_provider.dart @@ -220,15 +220,12 @@ class _SharedPreferencesStateProviderState void initState() { super.initState(); final VmService service = serviceManager.service!; - final EvalOnDartLibrary extensionEval = EvalOnDartLibrary( + final extensionEval = EvalOnDartLibrary( 'package:shared_preferences/src/shared_preferences_devtools_extension_data.dart', service, serviceManager: serviceManager, ); - final SharedPreferencesToolEval toolEval = SharedPreferencesToolEval( - service, - extensionEval, - ); + final toolEval = SharedPreferencesToolEval(service, extensionEval); _notifier = SharedPreferencesStateNotifier(toolEval); _notifier.fetchAllKeys(); } diff --git a/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_tool_eval.dart b/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_tool_eval.dart index 2e47a0c1702..9a61fd08f0b 100644 --- a/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_tool_eval.dart +++ b/packages/shared_preferences/shared_preferences_tool/lib/src/shared_preferences_tool_eval.dart @@ -58,8 +58,7 @@ class SharedPreferencesToolEval { required String eventKind, Disposable? isAlive, }) async { - final Completer> completer = - Completer>(); + final completer = Completer>(); late final StreamSubscription streamSubscription; streamSubscription = _service.onExtensionEvent.listen((Event event) { diff --git a/packages/shared_preferences/shared_preferences_tool/lib/src/ui/keys_panel.dart b/packages/shared_preferences/shared_preferences_tool/lib/src/ui/keys_panel.dart index 361a6f89758..bf9ef5b5b43 100644 --- a/packages/shared_preferences/shared_preferences_tool/lib/src/ui/keys_panel.dart +++ b/packages/shared_preferences/shared_preferences_tool/lib/src/ui/keys_panel.dart @@ -225,7 +225,7 @@ class _KeyItem extends StatelessWidget { Widget build(BuildContext context) { final SelectedSharedPreferencesKey? selectedKey = SharedPreferencesStateProvider.selectedKeyOf(context); - final bool isSelected = selectedKey?.key == keyName; + final isSelected = selectedKey?.key == keyName; final ColorScheme colorScheme = Theme.of(context).colorScheme; final Color? backgroundColor = isSelected ? colorScheme.selectedRowBackgroundColor diff --git a/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_notifier_test.dart b/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_notifier_test.dart index d89cea2e49c..25f11b5276e 100644 --- a/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_notifier_test.dart +++ b/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_notifier_test.dart @@ -36,8 +36,8 @@ void main() { }); test('should fetch all keys', () async { - const List asyncKeys = ['key1', 'key2']; - const List legacyKeys = ['key11', 'key22']; + const asyncKeys = ['key1', 'key2']; + const legacyKeys = ['key11', 'key22']; when( evalMock.fetchAllKeys(), ).thenAnswer((_) async => (asyncKeys: asyncKeys, legacyKeys: legacyKeys)); @@ -48,8 +48,8 @@ void main() { }); test('should filter out keys with "flutter." prefix async keys', () async { - const List asyncKeys = ['flutter.key1', 'key2']; - const List legacyKeys = ['key1', 'key3']; + const asyncKeys = ['flutter.key1', 'key2']; + const legacyKeys = ['key1', 'key3']; when( evalMock.fetchAllKeys(), ).thenAnswer((_) async => (asyncKeys: asyncKeys, legacyKeys: legacyKeys)); @@ -60,10 +60,8 @@ void main() { }); test('should select key', () async { - const List keys = ['key1', 'key2']; - const SharedPreferencesData keyValue = SharedPreferencesData.string( - value: 'value', - ); + const keys = ['key1', 'key2']; + const keyValue = SharedPreferencesData.string(value: 'value'); when(evalMock.fetchAllKeys()).thenAnswer( (_) async => (asyncKeys: keys, legacyKeys: const []), ); @@ -86,10 +84,8 @@ void main() { }); test('should select key for legacy api', () async { - const List keys = ['key1', 'key2']; - const SharedPreferencesData keyValue = SharedPreferencesData.string( - value: 'value', - ); + const keys = ['key1', 'key2']; + const keyValue = SharedPreferencesData.string(value: 'value'); when(evalMock.fetchAllKeys()).thenAnswer( (_) async => (asyncKeys: const [], legacyKeys: keys), ); @@ -115,8 +111,8 @@ void main() { }); test('should filter keys and clear filter', () async { - const List asyncKeys = ['key1', 'key2']; - const List legacyKeys = ['key11', 'key22']; + const asyncKeys = ['key1', 'key2']; + const legacyKeys = ['key11', 'key22']; when( evalMock.fetchAllKeys(), ).thenAnswer((_) async => (asyncKeys: asyncKeys, legacyKeys: legacyKeys)); @@ -132,8 +128,8 @@ void main() { }); test('should start/stop editing', () async { - const List asyncKeys = ['key1', 'key2']; - const List legacyKeys = ['key11', 'key22']; + const asyncKeys = ['key1', 'key2']; + const legacyKeys = ['key11', 'key22']; when( evalMock.fetchAllKeys(), ).thenAnswer((_) async => (asyncKeys: asyncKeys, legacyKeys: legacyKeys)); @@ -148,14 +144,12 @@ void main() { }); test('should change value', () async { - const List asyncKeys = ['key1', 'key2']; - const List legacyKeys = ['key11', 'key22']; + const asyncKeys = ['key1', 'key2']; + const legacyKeys = ['key11', 'key22']; when( evalMock.fetchAllKeys(), ).thenAnswer((_) async => (asyncKeys: asyncKeys, legacyKeys: legacyKeys)); - const SharedPreferencesData keyValue = SharedPreferencesData.string( - value: 'value', - ); + const keyValue = SharedPreferencesData.string(value: 'value'); when( evalMock.fetchValue('key1', false), ).thenAnswer((_) async => keyValue); @@ -168,14 +162,12 @@ void main() { }); test('should change value', () async { - const List asyncKeys = ['key1', 'key2']; - const List legacyKeys = ['key11', 'key22']; + const asyncKeys = ['key1', 'key2']; + const legacyKeys = ['key11', 'key22']; when( evalMock.fetchAllKeys(), ).thenAnswer((_) async => (asyncKeys: asyncKeys, legacyKeys: legacyKeys)); - const SharedPreferencesData keyValue = SharedPreferencesData.string( - value: 'value', - ); + const keyValue = SharedPreferencesData.string(value: 'value'); when( evalMock.fetchValue('key1', false), ).thenAnswer((_) async => keyValue); @@ -196,8 +188,8 @@ void main() { }); test('should change select legacy api and async api', () async { - const List asyncKeys = ['key1', 'key2']; - const List legacyKeys = ['key11', 'key22']; + const asyncKeys = ['key1', 'key2']; + const legacyKeys = ['key11', 'key22']; when( evalMock.fetchAllKeys(), ).thenAnswer((_) async => (asyncKeys: asyncKeys, legacyKeys: legacyKeys)); diff --git a/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_test.dart b/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_test.dart index c57c8ddbeae..600613e5495 100644 --- a/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_test.dart +++ b/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_state_test.dart @@ -9,7 +9,7 @@ import 'package:shared_preferences_tool/src/shared_preferences_state.dart'; void main() { group('SharedPreferencesState', () { test('should be possible to set selected key to null', () { - const SharedPreferencesState state = SharedPreferencesState( + const state = SharedPreferencesState( selectedKey: SelectedSharedPreferencesKey( key: 'key', value: AsyncState.loading(), @@ -25,59 +25,47 @@ void main() { group('SharedPreferencesData', () { test('value as string should return formatted value', () { - const SharedPreferencesData stringData = SharedPreferencesData.string( - value: 'value', - ); + const stringData = SharedPreferencesData.string(value: 'value'); expect(stringData.valueAsString, 'value'); - const SharedPreferencesData intData = SharedPreferencesData.int(value: 1); + const intData = SharedPreferencesData.int(value: 1); expect(intData.valueAsString, '1'); - const SharedPreferencesData doubleData = SharedPreferencesData.double( - value: 1.1, - ); + const doubleData = SharedPreferencesData.double(value: 1.1); expect(doubleData.valueAsString, '1.1'); - const SharedPreferencesData boolData = SharedPreferencesData.bool( - value: true, - ); + const boolData = SharedPreferencesData.bool(value: true); expect(boolData.valueAsString, 'true'); - const SharedPreferencesData stringListData = - SharedPreferencesData.stringList(value: ['value1', 'value2']); + const stringListData = SharedPreferencesData.stringList( + value: ['value1', 'value2'], + ); expect(stringListData.valueAsString, '\n0 -> value1\n1 -> value2'); }); }); test('should return pretty type', () { - const SharedPreferencesData stringData = SharedPreferencesData.string( - value: 'value', - ); + const stringData = SharedPreferencesData.string(value: 'value'); expect(stringData.kind, 'String'); - const SharedPreferencesData intData = SharedPreferencesData.int(value: 1); + const intData = SharedPreferencesData.int(value: 1); expect(intData.kind, 'int'); - const SharedPreferencesData doubleData = SharedPreferencesData.double( - value: 1.0, - ); + const doubleData = SharedPreferencesData.double(value: 1.0); expect(doubleData.kind, 'double'); - const SharedPreferencesData boolData = SharedPreferencesData.bool( - value: true, - ); + const boolData = SharedPreferencesData.bool(value: true); expect(boolData.kind, 'bool'); - const SharedPreferencesData stringListData = - SharedPreferencesData.stringList(value: ['value1', 'value2']); + const stringListData = SharedPreferencesData.stringList( + value: ['value1', 'value2'], + ); expect(stringListData.kind, 'List'); }); test('should change value', () { - const SharedPreferencesData stringData = SharedPreferencesData.string( - value: 'value', - ); - const String newStringValue = 'newValue'; + const stringData = SharedPreferencesData.string(value: 'value'); + const newStringValue = 'newValue'; expect( stringData.changeValue(newStringValue), isA().having( @@ -87,8 +75,8 @@ void main() { ), ); - const SharedPreferencesData intData = SharedPreferencesData.int(value: 1); - const String newIntValue = '2'; + const intData = SharedPreferencesData.int(value: 1); + const newIntValue = '2'; expect( intData.changeValue(newIntValue), isA().having( @@ -98,10 +86,8 @@ void main() { ), ); - const SharedPreferencesData doubleData = SharedPreferencesData.double( - value: 1.0, - ); - const String newDoubleValue = '2.0'; + const doubleData = SharedPreferencesData.double(value: 1.0); + const newDoubleValue = '2.0'; expect( doubleData.changeValue(newDoubleValue), isA().having( @@ -111,10 +97,8 @@ void main() { ), ); - const SharedPreferencesData boolData = SharedPreferencesData.bool( - value: true, - ); - const String newBoolValue = 'false'; + const boolData = SharedPreferencesData.bool(value: true); + const newBoolValue = 'false'; expect( boolData.changeValue(newBoolValue), isA().having( @@ -124,9 +108,10 @@ void main() { ), ); - const SharedPreferencesData stringListData = - SharedPreferencesData.stringList(value: ['value1', 'value2']); - const String newStringListValue = '["newValue1", "newValue2"]'; + const stringListData = SharedPreferencesData.stringList( + value: ['value1', 'value2'], + ); + const newStringListValue = '["newValue1", "newValue2"]'; expect( stringListData.changeValue(newStringListValue), isA().having( diff --git a/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_tool_eval_test.dart b/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_tool_eval_test.dart index 8bbf00223b8..f27d6887d32 100644 --- a/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_tool_eval_test.dart +++ b/packages/shared_preferences/shared_preferences_tool/test/src/shared_preferences_tool_eval_test.dart @@ -57,7 +57,7 @@ void main() { required String method, required Map response, }) { - final StreamController eventStream = StreamController(); + final eventStream = StreamController(); vmService.onExtensionEvent = eventStream.stream; eval.onEval = () async { eventStream.add( @@ -77,8 +77,8 @@ void main() { }); test('should fetch all keys', () async { - final List expectedAsyncKeys = ['key1', 'key2']; - const List expectedLegacyKeys = ['key3', 'key4']; + final expectedAsyncKeys = ['key1', 'key2']; + const expectedLegacyKeys = ['key3', 'key4']; stubEvalMethod( eventKind: 'all_keys', method: 'requestAllKeys()', @@ -95,8 +95,8 @@ void main() { }); test('should fetch int value', () async { - const String key = 'testKey'; - const int expectedValue = 42; + const key = 'testKey'; + const expectedValue = 42; stubEvalMethod( eventKind: 'value', method: "requestValue('$key', false)", @@ -113,8 +113,8 @@ void main() { }); test('should fetch bool value', () async { - const String key = 'testKey'; - const bool expectedValue = true; + const key = 'testKey'; + const expectedValue = true; stubEvalMethod( eventKind: 'value', method: "requestValue('$key', false)", @@ -131,8 +131,8 @@ void main() { }); test('should fetch double value', () async { - const String key = 'testKey'; - const double expectedValue = 11.1; + const key = 'testKey'; + const expectedValue = 11.1; stubEvalMethod( eventKind: 'value', method: "requestValue('$key', false)", @@ -149,8 +149,8 @@ void main() { }); test('should fetch string value', () async { - const String key = 'testKey'; - const String expectedValue = 'value'; + const key = 'testKey'; + const expectedValue = 'value'; stubEvalMethod( eventKind: 'value', method: "requestValue('$key', false)", @@ -167,8 +167,8 @@ void main() { }); test('should fetch string list value', () async { - const String key = 'testKey'; - const List expectedValue = ['value1', 'value2']; + const key = 'testKey'; + const expectedValue = ['value1', 'value2']; stubEvalMethod( eventKind: 'value', method: "requestValue('$key', true)", @@ -188,7 +188,7 @@ void main() { }); test('should throw error on unsupported value', () { - const String key = 'testKey'; + const key = 'testKey'; stubEvalMethod( eventKind: 'value', method: "requestValue('$key', true)", @@ -202,8 +202,8 @@ void main() { }); test('should change value', () async { - const String key = 'testKey'; - const String method = "requestValueChange('$key', 'true', 'bool', false)"; + const key = 'testKey'; + const method = "requestValueChange('$key', 'true', 'bool', false)"; stubEvalMethod( eventKind: 'change_value', method: method, @@ -229,8 +229,8 @@ void main() { }); test('should delete key', () async { - const String key = 'testKey'; - const String method = "requestRemoveKey('$key', false)"; + const key = 'testKey'; + const method = "requestRemoveKey('$key', false)"; stubEvalMethod( eventKind: 'remove', method: method, diff --git a/packages/shared_preferences/shared_preferences_tool/test/src/ui/data_panel_test.dart b/packages/shared_preferences/shared_preferences_tool/test/src/ui/data_panel_test.dart index 8cda3bceddb..44619279f3e 100644 --- a/packages/shared_preferences/shared_preferences_tool/test/src/ui/data_panel_test.dart +++ b/packages/shared_preferences/shared_preferences_tool/test/src/ui/data_panel_test.dart @@ -45,7 +45,7 @@ void main() { AsyncState? state, { bool editing = false, }) { - const String selectedKey = 'selectedTestKey'; + const selectedKey = 'selectedTestKey'; when(notifierMock.value).thenReturn( SharedPreferencesState( allKeys: const AsyncState>.data([selectedKey]), @@ -91,7 +91,7 @@ void main() { }); testWidgets('should show string value', (WidgetTester tester) async { - const String value = 'testValue'; + const value = 'testValue'; stubDataState(const SharedPreferencesData.string(value: value)); await pumpDataPanel(tester); @@ -100,7 +100,7 @@ void main() { }); testWidgets('should show int value', (WidgetTester tester) async { - const int value = 42; + const value = 42; stubDataState(const SharedPreferencesData.int(value: value)); await pumpDataPanel(tester); @@ -109,7 +109,7 @@ void main() { }); testWidgets('should show double value', (WidgetTester tester) async { - const double value = 42.0; + const value = 42.0; stubDataState(const SharedPreferencesData.double(value: value)); await pumpDataPanel(tester); @@ -118,7 +118,7 @@ void main() { }); testWidgets('should show boolean value', (WidgetTester tester) async { - const bool value = true; + const value = true; stubDataState(const SharedPreferencesData.bool(value: value)); await pumpDataPanel(tester); @@ -175,9 +175,7 @@ void main() { testWidgets('on removed confirmed should remove key', ( WidgetTester tester, ) async { - const SharedPreferencesData value = SharedPreferencesData.string( - value: 'value', - ); + const value = SharedPreferencesData.string(value: 'value'); stubDataState(value); await pumpDataPanel(tester); await tester.tap(find.text('Remove')); @@ -218,7 +216,7 @@ void main() { testWidgets('should show string editing state', ( WidgetTester tester, ) async { - const String value = 'value'; + const value = 'value'; stubDataState( const SharedPreferencesData.string(value: value), editing: true, @@ -232,7 +230,7 @@ void main() { }); testWidgets('should show int editing state', (WidgetTester tester) async { - const int value = 42; + const value = 42; stubDataState( const SharedPreferencesData.int(value: value), editing: true, @@ -252,7 +250,7 @@ void main() { testWidgets('should show double editing state', ( WidgetTester tester, ) async { - const double value = 42.0; + const value = 42.0; stubDataState( const SharedPreferencesData.double(value: value), editing: true, @@ -272,7 +270,7 @@ void main() { testWidgets('should show boolean editing state', ( WidgetTester tester, ) async { - const bool value = true; + const value = true; stubDataState( const SharedPreferencesData.bool(value: value), editing: true, @@ -334,7 +332,7 @@ void main() { ); await pumpDataPanel(tester); - for (int i = 0; i < 3; i++) { + for (var i = 0; i < 3; i++) { await tester.tap(find.byIcon(Icons.add).at(i)); await tester.pumpAndSettle(); await tester.enterText(find.byType(TextField).at(i), '$i'); diff --git a/packages/shared_preferences/shared_preferences_tool/test/src/ui/error_panel_test.dart b/packages/shared_preferences/shared_preferences_tool/test/src/ui/error_panel_test.dart index 708c0987e03..2bf2196c8c7 100644 --- a/packages/shared_preferences/shared_preferences_tool/test/src/ui/error_panel_test.dart +++ b/packages/shared_preferences/shared_preferences_tool/test/src/ui/error_panel_test.dart @@ -15,7 +15,7 @@ void main() { testWidgets('should show error and stacktrace', ( WidgetTester tester, ) async { - const String error = 'error'; + const error = 'error'; final StackTrace stackTrace = StackTrace.current; await tester.pumpWidget( diff --git a/packages/shared_preferences/shared_preferences_tool/test/src/ui/keys_panel_test.dart b/packages/shared_preferences/shared_preferences_tool/test/src/ui/keys_panel_test.dart index a3f6365fa8d..f3fd9f75f04 100644 --- a/packages/shared_preferences/shared_preferences_tool/test/src/ui/keys_panel_test.dart +++ b/packages/shared_preferences/shared_preferences_tool/test/src/ui/keys_panel_test.dart @@ -79,12 +79,12 @@ void main() { testWidgets('should show keys list with all keys', ( WidgetTester tester, ) async { - const List allKeys = ['key1', 'key2']; + const allKeys = ['key1', 'key2']; stubDataState(allKeys: const AsyncState>.data(allKeys)); await pumpKeysPanel(tester); - for (final String key in allKeys) { + for (final key in allKeys) { expect(find.text(key), findsOneWidget); } }); @@ -92,8 +92,8 @@ void main() { testWidgets('only selected key should be highlighted', ( WidgetTester tester, ) async { - const String selectedKey = 'selectedKey'; - const List keys = ['key1', selectedKey, 'key2']; + const selectedKey = 'selectedKey'; + const keys = ['key1', selectedKey, 'key2']; stubDataState( allKeys: const AsyncState>.data(keys), @@ -115,7 +115,7 @@ void main() { return container?.color; } - for (final String key in [...keys]..remove(selectedKey)) { + for (final key in [...keys]..remove(selectedKey)) { expect( bgColorFor(key), isNot(equals(colorScheme.selectedRowBackgroundColor)), @@ -181,7 +181,7 @@ void main() { testWidgets('should select key on key clicked', ( WidgetTester tester, ) async { - const String keyToSelect = 'keyToSelect'; + const keyToSelect = 'keyToSelect'; stubDataState( allKeys: const AsyncState>.data([keyToSelect]), ); diff --git a/packages/shared_preferences/shared_preferences_tool/test/src/ui/shared_preferences_body_test.dart b/packages/shared_preferences/shared_preferences_tool/test/src/ui/shared_preferences_body_test.dart index daec2c043e1..f4df02df342 100644 --- a/packages/shared_preferences/shared_preferences_tool/test/src/ui/shared_preferences_body_test.dart +++ b/packages/shared_preferences/shared_preferences_tool/test/src/ui/shared_preferences_body_test.dart @@ -24,8 +24,7 @@ void main() { testWidgets('should show keys and data panels', ( WidgetTester tester, ) async { - final MockSharedPreferencesStateNotifier notifier = - MockSharedPreferencesStateNotifier(); + final notifier = MockSharedPreferencesStateNotifier(); when(notifier.value).thenReturn(const SharedPreferencesState()); await tester.pumpWidget( diff --git a/packages/shared_preferences/shared_preferences_web/example/integration_test/shared_preferences_web_test.dart b/packages/shared_preferences/shared_preferences_web/example/integration_test/shared_preferences_web_test.dart index 3f90791c9fd..0a89c4dd52d 100644 --- a/packages/shared_preferences/shared_preferences_web/example/integration_test/shared_preferences_web_test.dart +++ b/packages/shared_preferences/shared_preferences_web/example/integration_test/shared_preferences_web_test.dart @@ -33,7 +33,7 @@ void main() { ); }); - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -41,7 +41,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -49,7 +49,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -57,7 +57,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -168,7 +168,7 @@ void main() { }); testWidgets('remove', (WidgetTester _) async { - const String key = 'flutter.String'; + const key = 'flutter.String'; await preferences.remove(key); final Map values = // ignore: deprecated_member_use @@ -254,7 +254,7 @@ void main() { }); testWidgets('remove', (WidgetTester _) async { - const String key = 'flutter.String'; + const key = 'flutter.String'; await preferences.remove(key); final Map values = await preferences .getAllWithParameters( @@ -392,9 +392,9 @@ void main() { }); testWidgets('simultaneous writes', (WidgetTester _) async { - final List> writes = >[]; - const int writeCount = 100; - for (int i = 1; i <= writeCount; i++) { + final writes = >[]; + const writeCount = 100; + for (var i = 1; i <= writeCount; i++) { writes.add(preferences.setValue('Int', 'Int', i)); } final List result = await Future.wait(writes, eagerError: true); @@ -408,9 +408,9 @@ void main() { }); testWidgets('returns all valid JSON data', (WidgetTester _) async { - const String value = 'value'; - const String invalidJsonDataKey = 'invalidJsonData'; - const String validJsonDataKey = 'validJsonData'; + const value = 'value'; + const invalidJsonDataKey = 'invalidJsonData'; + const validJsonDataKey = 'validJsonData'; html.window.localStorage.setItem(invalidJsonDataKey, value); html.window.localStorage.setItem(validJsonDataKey, '"$value"'); @@ -425,20 +425,19 @@ void main() { }); group('shared_preferences_async', () { - const SharedPreferencesWebOptions emptyOptions = - SharedPreferencesWebOptions(); + const emptyOptions = SharedPreferencesWebOptions(); - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; Future getPreferences() async { final SharedPreferencesAsyncPlatform preferences = @@ -500,9 +499,9 @@ void main() { testWidgets('returns null when reading invalid JSON value', ( WidgetTester _, ) async { - const String value = 'value'; - const String invalidJsonDataKey = 'invalidJsonData'; - const String validJsonDataKey = 'validJsonData'; + const value = 'value'; + const invalidJsonDataKey = 'invalidJsonData'; + const validJsonDataKey = 'validJsonData'; final SharedPreferencesAsyncPlatform preferences = await getPreferences(); html.window.localStorage.setItem(invalidJsonDataKey, value); diff --git a/packages/shared_preferences/shared_preferences_web/lib/shared_preferences_web.dart b/packages/shared_preferences/shared_preferences_web/lib/shared_preferences_web.dart index 6bc02a9b250..87446fbf210 100644 --- a/packages/shared_preferences/shared_preferences_web/lib/shared_preferences_web.dart +++ b/packages/shared_preferences/shared_preferences_web/lib/shared_preferences_web.dart @@ -71,7 +71,7 @@ class SharedPreferencesPlugin extends SharedPreferencesStorePlatform { GetAllParameters parameters, ) async { final PreferencesFilter filter = parameters.filter; - final Map allData = {}; + final allData = {}; for (final String key in _getPrefixedKeys( filter.prefix, allowList: filter.allowList, @@ -137,7 +137,7 @@ base class SharedPreferencesAsyncWeb extends SharedPreferencesAsyncPlatform { Set? allowList, SharedPreferencesOptions options, ) async { - final Map allData = {}; + final allData = {}; for (final String key in _getAllowedKeys(allowList: allowList)) { final Object? value = _decodeValue( html.window.localStorage.getItem(key)!, diff --git a/packages/shared_preferences/shared_preferences_windows/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_windows/example/integration_test/shared_preferences_test.dart index 76e461ddafe..456098c5563 100644 --- a/packages/shared_preferences/shared_preferences_windows/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_windows/example/integration_test/shared_preferences_test.dart @@ -14,7 +14,7 @@ void main() { group('SharedPreferencesWindows', () { late SharedPreferencesWindows preferences; - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -22,7 +22,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -30,7 +30,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -38,7 +38,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -128,7 +128,7 @@ void main() { group('withPrefix', () { testWidgets('remove', (WidgetTester _) async { - const String key = 'flutter.String'; + const key = 'flutter.String'; await preferences.remove(key); final Map values = await preferences.getAllWithPrefix( '', @@ -217,7 +217,7 @@ void main() { group('withParameters', () { testWidgets('remove', (WidgetTester _) async { - const String key = 'flutter.String'; + const key = 'flutter.String'; await preferences.remove(key); final Map values = await preferences .getAllWithParameters( @@ -366,20 +366,19 @@ void main() { }); group('shared_preferences_async', () { - const SharedPreferencesWindowsOptions emptyOptions = - SharedPreferencesWindowsOptions(); - - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; - - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const emptyOptions = SharedPreferencesWindowsOptions(); + + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; + + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; Future getPreferences({ bool clear = true, diff --git a/packages/shared_preferences/shared_preferences_windows/lib/shared_preferences_windows.dart b/packages/shared_preferences/shared_preferences_windows/lib/shared_preferences_windows.dart index 53c5e80c92e..c340b6dd7d6 100644 --- a/packages/shared_preferences/shared_preferences_windows/lib/shared_preferences_windows.dart +++ b/packages/shared_preferences/shared_preferences_windows/lib/shared_preferences_windows.dart @@ -107,9 +107,7 @@ class SharedPreferencesWindows extends SharedPreferencesStorePlatform { GetAllParameters parameters, ) async { final PreferencesFilter filter = parameters.filter; - final Map withPrefix = Map.from( - await _readPreferences(), - ); + final withPrefix = Map.from(await _readPreferences()); withPrefix.removeWhere( (String key, _) => !(key.startsWith(filter.prefix) && @@ -295,7 +293,7 @@ base class SharedPreferencesAsyncWindows ) async { final SharedPreferencesWindowsOptions windowsOptions = SharedPreferencesWindowsOptions.fromSharedPreferencesOptions(options); - final Map prefs = Map.from( + final prefs = Map.from( await _readPreferences(windowsOptions.fileName), ); prefs.removeWhere((String key, _) => !(allowList?.contains(key) ?? true)); @@ -354,7 +352,7 @@ Future> _readFromFile( FileSystem fs = const LocalFileSystem(), PathProviderWindows? pathProvider, }) async { - Map preferences = {}; + var preferences = {}; final File? localDataFile = await _getLocalDataFile( fileName, fs: fs, diff --git a/packages/shared_preferences/shared_preferences_windows/test/legacy_shared_preferences_windows_test.dart b/packages/shared_preferences/shared_preferences_windows/test/legacy_shared_preferences_windows_test.dart index 3d920fbc22a..ed14c1864e9 100644 --- a/packages/shared_preferences/shared_preferences_windows/test/legacy_shared_preferences_windows_test.dart +++ b/packages/shared_preferences/shared_preferences_windows/test/legacy_shared_preferences_windows_test.dart @@ -20,7 +20,7 @@ void main() { SharedPreferencesWindows.registerWith(); - const Map flutterTestValues = { + const flutterTestValues = { 'flutter.String': 'hello world', 'flutter.Bool': true, 'flutter.Int': 42, @@ -28,7 +28,7 @@ void main() { 'flutter.StringList': ['foo', 'bar'], }; - const Map prefixTestValues = { + const prefixTestValues = { 'prefix.String': 'hello world', 'prefix.Bool': true, 'prefix.Int': 42, @@ -36,7 +36,7 @@ void main() { 'prefix.StringList': ['foo', 'bar'], }; - const Map nonPrefixTestValues = { + const nonPrefixTestValues = { 'String': 'hello world', 'Bool': true, 'Int': 42, @@ -44,7 +44,7 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final allTestValues = {}; allTestValues.addAll(flutterTestValues); allTestValues.addAll(prefixTestValues); @@ -71,7 +71,7 @@ void main() { } SharedPreferencesWindows getPreferences() { - final SharedPreferencesWindows prefs = SharedPreferencesWindows(); + final prefs = SharedPreferencesWindows(); prefs.fs = fs; prefs.pathProvider = pathProvider; return prefs; diff --git a/packages/shared_preferences/shared_preferences_windows/test/shared_preferences_windows_async_test.dart b/packages/shared_preferences/shared_preferences_windows/test/shared_preferences_windows_async_test.dart index 295c875589c..41c69d3fbc8 100755 --- a/packages/shared_preferences/shared_preferences_windows/test/shared_preferences_windows_async_test.dart +++ b/packages/shared_preferences/shared_preferences_windows/test/shared_preferences_windows_async_test.dart @@ -16,20 +16,19 @@ void main() { SharedPreferencesAsyncWindows.registerWith(); - const String stringKey = 'testString'; - const String boolKey = 'testBool'; - const String intKey = 'testInt'; - const String doubleKey = 'testDouble'; - const String listKey = 'testList'; + const stringKey = 'testString'; + const boolKey = 'testBool'; + const intKey = 'testInt'; + const doubleKey = 'testDouble'; + const listKey = 'testList'; - const String testString = 'hello world'; - const bool testBool = true; - const int testInt = 42; - const double testDouble = 3.14159; - const List testList = ['foo', 'bar']; + const testString = 'hello world'; + const testBool = true; + const testInt = 42; + const testDouble = 3.14159; + const testList = ['foo', 'bar']; - const SharedPreferencesWindowsOptions emptyOptions = - SharedPreferencesWindowsOptions(); + const emptyOptions = SharedPreferencesWindowsOptions(); setUp(() { fs = MemoryFileSystem.test(); @@ -37,7 +36,7 @@ void main() { }); SharedPreferencesAsyncWindows getPreferences() { - final SharedPreferencesAsyncWindows prefs = SharedPreferencesAsyncWindows(); + final prefs = SharedPreferencesAsyncWindows(); prefs.fs = fs; prefs.pathProvider = pathProvider; return prefs; diff --git a/packages/standard_message_codec/lib/src/serialization.dart b/packages/standard_message_codec/lib/src/serialization.dart index 302dc3ad76f..7229ef3c3ff 100644 --- a/packages/standard_message_codec/lib/src/serialization.dart +++ b/packages/standard_message_codec/lib/src/serialization.dart @@ -28,7 +28,7 @@ class WriteBuffer { /// performance. factory WriteBuffer({int startCapacity = 8}) { assert(startCapacity > 0); - final ByteData eightBytes = ByteData(8); + final eightBytes = ByteData(8); final Uint8List eightBytesAsList = eightBytes.buffer.asUint8List(); return WriteBuffer._( Uint8List(startCapacity), @@ -76,7 +76,7 @@ class WriteBuffer { void _resize([int? requiredLength]) { final int doubleLength = _buffer.length * 2; final int newLength = math.max(requiredLength ?? 0, doubleLength); - final Uint8List newBuffer = Uint8List(newLength); + final newBuffer = Uint8List(newLength); newBuffer.setRange(0, _buffer.length, _buffer); _buffer = newBuffer; } diff --git a/packages/standard_message_codec/lib/standard_message_codec.dart b/packages/standard_message_codec/lib/standard_message_codec.dart index 6bd769e766d..ddb3177367f 100644 --- a/packages/standard_message_codec/lib/standard_message_codec.dart +++ b/packages/standard_message_codec/lib/standard_message_codec.dart @@ -160,9 +160,7 @@ class StandardMessageCodec implements MessageCodec { if (message == null) { return null; } - final WriteBuffer buffer = WriteBuffer( - startCapacity: _writeBufferStartCapacity, - ); + final buffer = WriteBuffer(startCapacity: _writeBufferStartCapacity); writeValue(buffer, message); return buffer.done(); } @@ -172,7 +170,7 @@ class StandardMessageCodec implements MessageCodec { if (message == null) { return null; } - final ReadBuffer buffer = ReadBuffer(message); + final buffer = ReadBuffer(message); final Object? result = readValue(buffer); if (buffer.hasRemaining) { throw const FormatException('Message corrupted'); @@ -242,11 +240,11 @@ class StandardMessageCodec implements MessageCodec { } } else if (value is String) { buffer.putUint8(_valueString); - final Uint8List asciiBytes = Uint8List(value.length); + final asciiBytes = Uint8List(value.length); Uint8List? utf8Bytes; - int utf8Offset = 0; + var utf8Offset = 0; // Only do utf8 encoding if we encounter non-ascii characters. - for (int i = 0; i < value.length; i += 1) { + for (var i = 0; i < value.length; i += 1) { final int char = value.codeUnitAt(i); if (char <= 0x7f) { asciiBytes[i] = char; @@ -354,15 +352,15 @@ class StandardMessageCodec implements MessageCodec { return buffer.getFloat64List(length); case _valueList: final int length = readSize(buffer); - final List result = List.filled(length, null); - for (int i = 0; i < length; i++) { + final result = List.filled(length, null); + for (var i = 0; i < length; i++) { result[i] = readValue(buffer); } return result; case _valueMap: final int length = readSize(buffer); - final Map result = {}; - for (int i = 0; i < length; i++) { + final result = {}; + for (var i = 0; i < length; i++) { result[readValue(buffer)] = readValue(buffer); } return result; diff --git a/packages/standard_message_codec/test/standard_message_codec_test.dart b/packages/standard_message_codec/test/standard_message_codec_test.dart index b33a4110e3e..273b3b91897 100644 --- a/packages/standard_message_codec/test/standard_message_codec_test.dart +++ b/packages/standard_message_codec/test/standard_message_codec_test.dart @@ -26,85 +26,85 @@ void main() { group('Write and read buffer round-trip', () { test('of empty buffer', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); final ByteData written = write.done(); expect(written.lengthInBytes, 0); }); test('of single byte', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.putUint8(201); final ByteData written = write.done(); expect(written.lengthInBytes, equals(1)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); expect(read.getUint8(), equals(201)); }); test('of 32-bit integer', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.putInt32(-9); final ByteData written = write.done(); expect(written.lengthInBytes, equals(4)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); expect(read.getInt32(), equals(-9)); }); test('of 32-bit integer in big endian', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.putInt32(-9, endian: Endian.big); final ByteData written = write.done(); expect(written.lengthInBytes, equals(4)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); expect(read.getInt32(endian: Endian.big), equals(-9)); }); test('of 64-bit integer', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.putInt64(-9000000000000); final ByteData written = write.done(); expect(written.lengthInBytes, equals(8)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); expect(read.getInt64(), equals(-9000000000000)); }, testOn: 'vm' /* Int64 isn't supported on web */); test( 'of 64-bit integer in big endian', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.putInt64(-9000000000000, endian: Endian.big); final ByteData written = write.done(); expect(written.lengthInBytes, equals(8)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); expect(read.getInt64(endian: Endian.big), equals(-9000000000000)); }, testOn: 'vm' /* Int64 isn't supported on web */, ); test('of double', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.putFloat64(3.14); final ByteData written = write.done(); expect(written.lengthInBytes, equals(8)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); expect(read.getFloat64(), equals(3.14)); }); test('of double in big endian', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.putFloat64(3.14, endian: Endian.big); final ByteData written = write.done(); expect(written.lengthInBytes, equals(8)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); expect(read.getFloat64(endian: Endian.big), equals(3.14)); }); test('of 32-bit int list when unaligned', () { - final Int32List integers = Int32List.fromList([-99, 2, 99]); - final WriteBuffer write = WriteBuffer(); + final integers = Int32List.fromList([-99, 2, 99]); + final write = WriteBuffer(); write.putUint8(9); write.putInt32List(integers); final ByteData written = write.done(); expect(written.lengthInBytes, equals(16)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); read.getUint8(); expect(read.getInt32List(3), equals(integers)); }); @@ -112,13 +112,13 @@ void main() { test( 'of 64-bit int list when unaligned', () { - final Int64List integers = Int64List.fromList([-99, 2, 99]); - final WriteBuffer write = WriteBuffer(); + final integers = Int64List.fromList([-99, 2, 99]); + final write = WriteBuffer(); write.putUint8(9); write.putInt64List(integers); final ByteData written = write.done(); expect(written.lengthInBytes, equals(32)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); read.getUint8(); expect(read.getInt64List(3), equals(integers)); }, @@ -126,16 +126,13 @@ void main() { ); test('of float list when unaligned', () { - final Float32List floats = Float32List.fromList([ - 3.14, - double.nan, - ]); - final WriteBuffer write = WriteBuffer(); + final floats = Float32List.fromList([3.14, double.nan]); + final write = WriteBuffer(); write.putUint8(9); write.putFloat32List(floats); final ByteData written = write.done(); expect(written.lengthInBytes, equals(12)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); read.getUint8(); final Float32List readFloats = read.getFloat32List(2); expect(readFloats[0], closeTo(3.14, 0.0001)); @@ -143,16 +140,13 @@ void main() { }); test('of double list when unaligned', () { - final Float64List doubles = Float64List.fromList([ - 3.14, - double.nan, - ]); - final WriteBuffer write = WriteBuffer(); + final doubles = Float64List.fromList([3.14, double.nan]); + final write = WriteBuffer(); write.putUint8(9); write.putFloat64List(doubles); final ByteData written = write.done(); expect(written.lengthInBytes, equals(24)); - final ReadBuffer read = ReadBuffer(written); + final read = ReadBuffer(written); read.getUint8(); final Float64List readDoubles = read.getFloat64List(2); expect(readDoubles[0], equals(3.14)); @@ -160,7 +154,7 @@ void main() { }); test('done twice', () { - final WriteBuffer write = WriteBuffer(); + final write = WriteBuffer(); write.done(); expect(() => write.done(), throwsStateError); }); diff --git a/packages/two_dimensional_scrollables/CHANGELOG.md b/packages/two_dimensional_scrollables/CHANGELOG.md index f998911301e..b4a04b4830b 100644 --- a/packages/two_dimensional_scrollables/CHANGELOG.md +++ b/packages/two_dimensional_scrollables/CHANGELOG.md @@ -1,7 +1,7 @@ ## NEXT +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. * Updates examples to use the new RadioGroup API instead of deprecated Radio parameters. -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. ## 0.3.7 diff --git a/packages/two_dimensional_scrollables/example/lib/table_view/merged_table.dart b/packages/two_dimensional_scrollables/example/lib/table_view/merged_table.dart index 4c25dcb8d3a..bbc49839ddf 100644 --- a/packages/two_dimensional_scrollables/example/lib/table_view/merged_table.dart +++ b/packages/two_dimensional_scrollables/example/lib/table_view/merged_table.dart @@ -103,7 +103,7 @@ class _MergedTableExampleState extends State { ThemeData.estimateBrightnessForColor(cell.color) == Brightness.light ? Colors.black : Colors.white; - final TextStyle style = TextStyle( + final style = TextStyle( color: textColor, fontSize: 18.0, fontWeight: vicinity.column == 0 ? FontWeight.bold : null, diff --git a/packages/two_dimensional_scrollables/example/lib/table_view/simple_table.dart b/packages/two_dimensional_scrollables/example/lib/table_view/simple_table.dart index 0ea73b423ad..855d35a17fe 100644 --- a/packages/two_dimensional_scrollables/example/lib/table_view/simple_table.dart +++ b/packages/two_dimensional_scrollables/example/lib/table_view/simple_table.dart @@ -143,7 +143,7 @@ class _TableExampleState extends State { } TableSpan _buildColumnSpan(int index) { - const TableSpanDecoration decoration = TableSpanDecoration( + const decoration = TableSpanDecoration( border: TableSpanBorder(trailing: BorderSide()), ); @@ -195,7 +195,7 @@ class _TableExampleState extends State { } TableSpan _buildRowSpan(int index) { - final TableSpanDecoration decoration = TableSpanDecoration( + final decoration = TableSpanDecoration( color: index.isEven ? Colors.purple[100] : null, border: const TableSpanBorder(trailing: BorderSide(width: 3)), ); diff --git a/packages/two_dimensional_scrollables/example/lib/tree_view/custom_tree.dart b/packages/two_dimensional_scrollables/example/lib/tree_view/custom_tree.dart index bb3cebbbf0d..2754c2eb913 100644 --- a/packages/two_dimensional_scrollables/example/lib/tree_view/custom_tree.dart +++ b/packages/two_dimensional_scrollables/example/lib/tree_view/custom_tree.dart @@ -109,7 +109,7 @@ class CustomTreeExampleState extends State { AnimationStyle toggleAnimationStyle, ) { final bool isParentNode = node.children.isNotEmpty; - final BorderSide border = BorderSide(width: 2, color: Colors.purple[300]!); + final border = BorderSide(width: 2, color: Colors.purple[300]!); // TRY THIS: TreeView.toggleNodeWith can be wrapped around any Widget (even // the whole row) to trigger parent nodes to toggle opened and closed. // Currently, the toggle is triggered in _getTapRecognizer below using the @@ -228,7 +228,7 @@ class CustomTreeExampleState extends State { Widget build(BuildContext context) { // This example is assumes the full screen is available. final Size screenSize = MediaQuery.sizeOf(context); - final List selectedChildren = []; + final selectedChildren = []; if (_selectedNode != null) { selectedChildren.addAll([ const Spacer(), diff --git a/packages/two_dimensional_scrollables/example/pubspec.yaml b/packages/two_dimensional_scrollables/example/pubspec.yaml index 61ccabdc15a..dc9626494bf 100644 --- a/packages/two_dimensional_scrollables/example/pubspec.yaml +++ b/packages/two_dimensional_scrollables/example/pubspec.yaml @@ -6,8 +6,8 @@ publish_to: 'none' version: 2.0.0 environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/two_dimensional_scrollables/example/test/tree_view/custom_tree_test.dart b/packages/two_dimensional_scrollables/example/test/tree_view/custom_tree_test.dart index 822cedaafcf..946c40165cf 100644 --- a/packages/two_dimensional_scrollables/example/test/tree_view/custom_tree_test.dart +++ b/packages/two_dimensional_scrollables/example/test/tree_view/custom_tree_test.dart @@ -35,7 +35,7 @@ void main() { expect(verticalPosition.maxScrollExtent, 0.0); expect(verticalPosition.pixels, 0.0); - final CustomTreeExampleState state = + final state = tester.state(find.byType(CustomTreeExample)) as CustomTreeExampleState; state.treeController.toggleNode(state.treeController.getNodeFor('lib')!); diff --git a/packages/two_dimensional_scrollables/example/test/tree_view/simple_tree_test.dart b/packages/two_dimensional_scrollables/example/test/tree_view/simple_tree_test.dart index 56d0ca01a7f..83e79d9902a 100644 --- a/packages/two_dimensional_scrollables/example/test/tree_view/simple_tree_test.dart +++ b/packages/two_dimensional_scrollables/example/test/tree_view/simple_tree_test.dart @@ -36,8 +36,7 @@ void main() { expect(horizontalPosition.maxScrollExtent, greaterThan(190)); expect(horizontalPosition.pixels, 0.0); - final TreeExampleState state = - tester.state(find.byType(TreeExample)) as TreeExampleState; + final state = tester.state(find.byType(TreeExample)) as TreeExampleState; state.treeController.expandAll(); await tester.pumpAndSettle(); diff --git a/packages/two_dimensional_scrollables/lib/src/common/span.dart b/packages/two_dimensional_scrollables/lib/src/common/span.dart index 6a072091d2f..27e40b4ae7e 100644 --- a/packages/two_dimensional_scrollables/lib/src/common/span.dart +++ b/packages/two_dimensional_scrollables/lib/src/common/span.dart @@ -383,7 +383,7 @@ class SpanDecoration { /// cells. void paint(SpanDecorationPaintDetails details) { if (color != null) { - final Paint paint = Paint() + final paint = Paint() ..color = color! ..isAntiAlias = borderRadius != null; if (borderRadius == null || borderRadius == BorderRadius.zero) { @@ -441,13 +441,13 @@ class SpanBorder { final AxisDirection axisDirection = details.axisDirection; switch (axisDirectionToAxis(axisDirection)) { case Axis.horizontal: - final Border border = Border( + final border = Border( top: axisDirection == AxisDirection.right ? leading : trailing, bottom: axisDirection == AxisDirection.right ? trailing : leading, ); border.paint(details.canvas, details.rect, borderRadius: borderRadius); case Axis.vertical: - final Border border = Border( + final border = Border( left: axisDirection == AxisDirection.down ? leading : trailing, right: axisDirection == AxisDirection.down ? trailing : leading, ); diff --git a/packages/two_dimensional_scrollables/lib/src/table_view/table.dart b/packages/two_dimensional_scrollables/lib/src/table_view/table.dart index e8f4f4b1cb2..df7359f824c 100644 --- a/packages/two_dimensional_scrollables/lib/src/table_view/table.dart +++ b/packages/two_dimensional_scrollables/lib/src/table_view/table.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:collection'; import 'dart:math' as math; import 'package:flutter/foundation.dart'; @@ -479,8 +478,8 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { } return true; }()); - double startOfRegularColumn = 0.0; - double startOfPinnedColumn = 0.0; + var startOfRegularColumn = 0.0; + var startOfPinnedColumn = 0.0; if (appendColumns) { // We are only adding to the metrics we already know, since we are lazily // compiling metrics. This should only be the case when the @@ -521,7 +520,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { while (!reachedColumnEnd()) { final bool isPinned = column < delegate.pinnedColumnCount; - final double leadingOffset = isPinned + final leadingOffset = isPinned ? startOfPinnedColumn : startOfRegularColumn; _Span? span = _columnMetrics.remove(column); @@ -586,8 +585,8 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { } return true; }()); - double startOfRegularRow = 0.0; - double startOfPinnedRow = 0.0; + var startOfRegularRow = 0.0; + var startOfPinnedRow = 0.0; if (appendRows) { // We are only adding to the metrics we already know, since we are lazily // compiling metrics. This should only be the case when the @@ -623,9 +622,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { while (!reachedRowEnd()) { final bool isPinned = row < delegate.pinnedRowCount; - final double leadingOffset = isPinned - ? startOfPinnedRow - : startOfRegularRow; + final leadingOffset = isPinned ? startOfPinnedRow : startOfRegularRow; _Span? span = _rowMetrics.remove(row); final TableSpan? configuration = span?.configuration ?? delegate.buildRow(row); @@ -753,7 +750,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { } _firstNonPinnedColumn = null; _lastNonPinnedColumn = null; - for (int column = 0; column < _columnMetrics.length; column++) { + for (var column = 0; column < _columnMetrics.length; column++) { if (_columnMetrics[column]!.isPinned) { continue; } @@ -789,7 +786,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { } _firstNonPinnedRow = null; _lastNonPinnedRow = null; - for (int row = 0; row < _rowMetrics.length; row++) { + for (var row = 0; row < _rowMetrics.length; row++) { if (_rowMetrics[row]!.isPinned) { continue; } @@ -961,7 +958,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { double? mergedColumnOffset; columnOffset += colSpan.configuration.padding.leading; - final TableVicinity vicinity = TableVicinity(column: column, row: row); + final vicinity = TableVicinity(column: column, row: row); final RenderBox? cell = _mergedVicinities.keys.contains(vicinity) ? null : buildOrObtainChildFor(vicinity); @@ -1095,17 +1092,17 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { _columnMetrics[firstColumn]!.configuration.padding.leading; // Collect all of the vicinities that will not need to be built now. - int currentRow = firstRow; + var currentRow = firstRow; while (currentRow <= lastRow) { if (cellParentData.rowMergeStart != null) { _mergedRows.add(currentRow); } - int currentColumn = firstColumn; + var currentColumn = firstColumn; while (currentColumn <= lastColumn) { if (cellParentData.columnMergeStart != null) { _mergedColumns.add(currentColumn); } - final TableVicinity key = TableVicinity( + final key = TableVicinity( row: currentRow, column: currentColumn, ); @@ -1116,7 +1113,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { } } - final BoxConstraints cellConstraints = BoxConstraints.tightFor( + final cellConstraints = BoxConstraints.tightFor( width: mergedColumnWidth ?? standardColumnWidth, height: mergedRowHeight ?? standardRowHeight, ); @@ -1317,10 +1314,8 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { required Offset offset, }) { // Column decorations - final LinkedHashMap foregroundColumns = - LinkedHashMap(); - final LinkedHashMap backgroundColumns = - LinkedHashMap(); + final foregroundColumns = {}; + final backgroundColumns = {}; final TableSpan rowSpan = _rowMetrics[leadingVicinity.row]!.configuration; for ( @@ -1332,8 +1327,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { if (columnSpan.backgroundDecoration != null || columnSpan.foregroundDecoration != null || _mergedColumns.contains(column)) { - final List<({RenderBox leading, RenderBox trailing})> decorationCells = - <({RenderBox leading, RenderBox trailing})>[]; + final decorationCells = <({RenderBox leading, RenderBox trailing})>[]; if (_mergedColumns.isEmpty || !_mergedColumns.contains(column)) { // One decoration across the whole column. decorationCells.add(( @@ -1361,10 +1355,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { late RenderBox trailingCell; int currentRow = leadingVicinity.row; while (currentRow <= trailingVicinity.row) { - TableVicinity vicinity = TableVicinity( - column: column, - row: currentRow, - ); + var vicinity = TableVicinity(column: column, row: currentRow); leadingCell = getChildFor(vicinity)!; if (parentDataOf(leadingCell).columnMergeStart != null) { // Merged portion decorated individually since it exceeds the @@ -1429,8 +1420,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { ); } - for (final ({RenderBox leading, RenderBox trailing}) cell - in decorationCells) { + for (final cell in decorationCells) { // If this was a merged cell, the decoration is defined by the leading // cell, which may come from a different column. final int columnIndex = @@ -1460,10 +1450,8 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { } // Row decorations - final LinkedHashMap foregroundRows = - LinkedHashMap(); - final LinkedHashMap backgroundRows = - LinkedHashMap(); + final foregroundRows = {}; + final backgroundRows = {}; final TableSpan columnSpan = _columnMetrics[leadingVicinity.column]!.configuration; for (int row = leadingVicinity.row; row <= trailingVicinity.row; row++) { @@ -1471,8 +1459,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { if (rowSpan.backgroundDecoration != null || rowSpan.foregroundDecoration != null || _mergedRows.contains(row)) { - final List<({RenderBox leading, RenderBox trailing})> decorationCells = - <({RenderBox leading, RenderBox trailing})>[]; + final decorationCells = <({RenderBox leading, RenderBox trailing})>[]; if (_mergedRows.isEmpty || !_mergedRows.contains(row)) { // One decoration across the whole row. decorationCells.add(( @@ -1500,10 +1487,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { late RenderBox trailingCell; int currentColumn = leadingVicinity.column; while (currentColumn <= trailingVicinity.column) { - TableVicinity vicinity = TableVicinity( - column: currentColumn, - row: row, - ); + var vicinity = TableVicinity(column: currentColumn, row: row); leadingCell = getChildFor(vicinity)!; if (parentDataOf(leadingCell).rowMergeStart != null) { // Merged portion decorated individually since it exceeds the @@ -1568,8 +1552,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { ); } - for (final ({RenderBox leading, RenderBox trailing}) cell - in decorationCells) { + for (final cell in decorationCells) { // If this was a merged cell, the decoration is defined by the leading // cell, which may come from a different row. final int rowIndex = @@ -1606,41 +1589,37 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { // Default, row major order. Rows go first. case Axis.vertical: backgroundRows.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: horizontalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: horizontalAxisDirection, + ); decoration.paint(paintingDetails); }); backgroundColumns.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: verticalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: verticalAxisDirection, + ); decoration.paint(paintingDetails); }); // Column major order. Columns go first. case Axis.horizontal: backgroundColumns.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: verticalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: verticalAxisDirection, + ); decoration.paint(paintingDetails); }); backgroundRows.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: horizontalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: horizontalAxisDirection, + ); decoration.paint(paintingDetails); }); } @@ -1652,7 +1631,7 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { column++ ) { for (int row = leadingVicinity.row; row <= trailingVicinity.row; row++) { - final TableVicinity vicinity = TableVicinity(column: column, row: row); + final vicinity = TableVicinity(column: column, row: row); final RenderBox? cell = getChildFor( vicinity, mapMergedVicinityToCanonicalChild: false, @@ -1680,41 +1659,37 @@ class RenderTableViewport extends RenderTwoDimensionalViewport { // Default, row major order. Rows go first. case Axis.vertical: foregroundRows.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: horizontalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: horizontalAxisDirection, + ); decoration.paint(paintingDetails); }); foregroundColumns.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: verticalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: verticalAxisDirection, + ); decoration.paint(paintingDetails); }); // Column major order. Columns go first. case Axis.horizontal: foregroundColumns.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: verticalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: verticalAxisDirection, + ); decoration.paint(paintingDetails); }); foregroundRows.forEach((Rect rect, TableSpanDecoration decoration) { - final TableSpanDecorationPaintDetails paintingDetails = - TableSpanDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: horizontalAxisDirection, - ); + final paintingDetails = TableSpanDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: horizontalAxisDirection, + ); decoration.paint(paintingDetails); }); } @@ -1791,8 +1766,7 @@ class _Span _disposeRecognizers(); return; } - final Map newRecognizers = - {}; + final newRecognizers = {}; for (final Type type in configuration.recognizerFactories.keys) { assert(!newRecognizers.containsKey(type)); newRecognizers[type] = diff --git a/packages/two_dimensional_scrollables/lib/src/table_view/table_cell.dart b/packages/two_dimensional_scrollables/lib/src/table_view/table_cell.dart index ae5597f6d8b..3d2d185c113 100644 --- a/packages/two_dimensional_scrollables/lib/src/table_view/table_cell.dart +++ b/packages/two_dimensional_scrollables/lib/src/table_view/table_cell.dart @@ -74,7 +74,7 @@ class TableViewParentData extends TwoDimensionalViewportParentData { @override String toString() { - String mergeDetails = ''; + var mergeDetails = ''; if (rowMergeStart != null || columnMergeStart != null) { mergeDetails += ', merged'; } @@ -198,9 +198,8 @@ class _TableViewCell extends ParentDataWidget { @override void applyParentData(RenderObject renderObject) { - final TableViewParentData parentData = - renderObject.parentData! as TableViewParentData; - bool needsLayout = false; + final parentData = renderObject.parentData! as TableViewParentData; + var needsLayout = false; if (parentData.rowMergeStart != rowMergeStart) { assert(rowMergeStart == null || rowMergeStart! >= 0); parentData.rowMergeStart = rowMergeStart; diff --git a/packages/two_dimensional_scrollables/lib/src/tree_view/render_tree.dart b/packages/two_dimensional_scrollables/lib/src/tree_view/render_tree.dart index 94a1acbd164..1c077c63f2a 100644 --- a/packages/two_dimensional_scrollables/lib/src/tree_view/render_tree.dart +++ b/packages/two_dimensional_scrollables/lib/src/tree_view/render_tree.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:collection' show LinkedHashMap; import 'dart:math' as math; import 'package:flutter/foundation.dart'; @@ -200,11 +199,11 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { // `position` represents the trailing edge of the parent node that initiated // the animation. assert(_activeAnimations[key] != null); - double currentPosition = position; + var currentPosition = position; final int startingIndex = _activeAnimations[key]!.fromIndex; final int lastIndex = _activeAnimations[key]!.toIndex; - int currentIndex = startingIndex; - double totalAnimatingOffset = 0.0; + var currentIndex = startingIndex; + var totalAnimatingOffset = 0.0; // We animate only a portion of children that would be visible/in the cache // extent, unless all animating children would fit on the screen. while (currentIndex <= lastIndex && currentPosition < _targetRowPixel) { @@ -239,11 +238,11 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { assert(needsDelegateRebuild || didResize); _firstRow = null; _lastRow = null; - double totalAnimationOffset = 0.0; + var totalAnimationOffset = 0.0; double startOfRow = 0; - final Map newRowMetrics = {}; - for (int row = 0; row < delegate.rowCount; row++) { - final double leadingOffset = startOfRow; + final newRowMetrics = {}; + for (var row = 0; row < delegate.rowCount; row++) { + final leadingOffset = startOfRow; _Span? span = _rowMetrics.remove(row); assert(needsDelegateRebuild || span != null); final TreeRow configuration = needsDelegateRebuild @@ -297,7 +296,7 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { void _updateFirstAndLastVisibleRow() { _firstRow = null; _lastRow = null; - for (int row = 0; row < _rowMetrics.length; row++) { + for (var row = 0; row < _rowMetrics.length; row++) { final double endOfRow = _rowMetrics[row]!.trailingOffset; if (endOfRow >= verticalOffset.pixels && _firstRow == null) { _firstRow = row; @@ -366,13 +365,10 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { } rowOffset += rowSpan.configuration.padding.leading; - final TreeVicinity vicinity = TreeVicinity( - depth: _rowDepths[row]!, - row: row, - ); + final vicinity = TreeVicinity(depth: _rowDepths[row]!, row: row); final RenderBox child = buildOrObtainChildFor(vicinity)!; final TwoDimensionalViewportParentData parentData = parentDataOf(child); - final BoxConstraints childConstraints = BoxConstraints( + final childConstraints = BoxConstraints( minHeight: rowHeight, maxHeight: rowHeight, // Width is allowed to be unbounded. @@ -445,7 +441,7 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { int leadingIndex = _firstRow!; final List animationIndices = _animationLeadingIndices.keys.toList() ..sort(); - final List<_PaintSegment> paintSegments = <_PaintSegment>[]; + final paintSegments = <_PaintSegment>[]; while (animationIndices.isNotEmpty) { final int trailingIndex = animationIndices.removeAt(0); paintSegments.add(( @@ -492,7 +488,7 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { final double leadingOffset = _rowMetrics[parentIndex]!.trailingOffset; final double trailingOffset = _rowMetrics[segment.trailingIndex]!.trailingOffset; - final Rect rect = Rect.fromPoints( + final rect = Rect.fromPoints( Offset(0.0, leadingOffset - verticalOffset.pixels), Offset( viewportDimension.width, @@ -530,12 +526,10 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { required int trailingRow, }) { // Row decorations - final LinkedHashMap foregroundRows = - LinkedHashMap(); - final LinkedHashMap backgroundRows = - LinkedHashMap(); + final foregroundRows = {}; + final backgroundRows = {}; - int currentRow = leadingRow; + var currentRow = leadingRow; while (currentRow <= trailingRow) { final _Span rowSpan = _rowMetrics[currentRow]!; final TreeRow configuration = rowSpan.configuration; @@ -579,16 +573,15 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { // Get to painting. // Background decorations first. backgroundRows.forEach((Rect rect, TreeRowDecoration decoration) { - final TreeRowDecorationPaintDetails paintingDetails = - TreeRowDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: horizontalAxisDirection, - ); + final paintingDetails = TreeRowDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: horizontalAxisDirection, + ); decoration.paint(paintingDetails); }); // Child nodes. - for (int row = leadingRow; row <= trailingRow; row++) { + for (var row = leadingRow; row <= trailingRow; row++) { final RenderBox child = getChildFor( TreeVicinity(depth: _rowDepths[row]!, row: row), )!; @@ -601,12 +594,11 @@ class RenderTreeViewport extends RenderTwoDimensionalViewport { } // Foreground decorations. foregroundRows.forEach((Rect rect, TreeRowDecoration decoration) { - final TreeRowDecorationPaintDetails paintingDetails = - TreeRowDecorationPaintDetails( - canvas: context.canvas, - rect: rect, - axisDirection: horizontalAxisDirection, - ); + final paintingDetails = TreeRowDecorationPaintDetails( + canvas: context.canvas, + rect: rect, + axisDirection: horizontalAxisDirection, + ); decoration.paint(paintingDetails); }); } @@ -668,8 +660,7 @@ class _Span _disposeRecognizers(); return; } - final Map newRecognizers = - {}; + final newRecognizers = {}; for (final Type type in configuration.recognizerFactories.keys) { assert(!newRecognizers.containsKey(type)); newRecognizers[type] = diff --git a/packages/two_dimensional_scrollables/lib/src/tree_view/tree.dart b/packages/two_dimensional_scrollables/lib/src/tree_view/tree.dart index b026767d6c0..3c5fa67bf13 100644 --- a/packages/two_dimensional_scrollables/lib/src/tree_view/tree.dart +++ b/packages/two_dimensional_scrollables/lib/src/tree_view/tree.dart @@ -774,8 +774,8 @@ class _TreeViewState extends State> @override TreeViewNode? getNodeFor(T content) => _getNode(content, widget.tree); TreeViewNode? _getNode(T content, List> tree) { - final List> nextDepth = >[]; - for (final TreeViewNode node in tree) { + final nextDepth = >[]; + for (final node in tree) { if (node.content == content) { return node; } @@ -799,7 +799,7 @@ class _TreeViewState extends State> @override void expandAll() { - final List> activeNodesToExpand = >[]; + final activeNodesToExpand = >[]; _expandAll(widget.tree, activeNodesToExpand); activeNodesToExpand.reversed.forEach(toggleNode); } @@ -808,7 +808,7 @@ class _TreeViewState extends State> List> tree, List> activeNodesToExpand, ) { - for (final TreeViewNode node in tree) { + for (final node in tree) { if (node.children.isNotEmpty) { // This is a parent node. // Expand all the children, and their children. @@ -831,7 +831,7 @@ class _TreeViewState extends State> @override void collapseAll() { - final List> activeNodesToCollapse = >[]; + final activeNodesToCollapse = >[]; _collapseAll(widget.tree, activeNodesToCollapse); activeNodesToCollapse.reversed.forEach(toggleNode); } @@ -840,7 +840,7 @@ class _TreeViewState extends State> List> tree, List> activeNodesToCollapse, ) { - for (final TreeViewNode node in tree) { + for (final node in tree) { if (node.children.isNotEmpty) { // This is a parent node. // Collapse all the children, and their children. @@ -942,7 +942,7 @@ class _TreeViewState extends State> case AnimationStatus.completed: } - final CurvedAnimation newAnimation = CurvedAnimation( + final newAnimation = CurvedAnimation( parent: controller, curve: widget.toggleAnimationStyle?.curve ?? diff --git a/packages/two_dimensional_scrollables/lib/src/tree_view/tree_span.dart b/packages/two_dimensional_scrollables/lib/src/tree_view/tree_span.dart index bc7e6a896b2..3c6f8dd65fe 100644 --- a/packages/two_dimensional_scrollables/lib/src/tree_view/tree_span.dart +++ b/packages/two_dimensional_scrollables/lib/src/tree_view/tree_span.dart @@ -103,12 +103,7 @@ class TreeRowBorder extends SpanBorder { @override void paint(SpanDecorationPaintDetails details, BorderRadius? borderRadius) { - final Border border = Border( - top: top, - bottom: bottom, - left: left, - right: right, - ); + final border = Border(top: top, bottom: bottom, left: left, right: right); border.paint(details.canvas, details.rect, borderRadius: borderRadius); } } diff --git a/packages/two_dimensional_scrollables/pubspec.yaml b/packages/two_dimensional_scrollables/pubspec.yaml index 4050ce61a82..2bec6d65939 100644 --- a/packages/two_dimensional_scrollables/pubspec.yaml +++ b/packages/two_dimensional_scrollables/pubspec.yaml @@ -5,8 +5,8 @@ repository: https://github.com/flutter/packages/tree/main/packages/two_dimension issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+two_dimensional_scrollables%22+ environment: - sdk: ^3.8.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: diff --git a/packages/two_dimensional_scrollables/test/common/span_test.dart b/packages/two_dimensional_scrollables/test/common/span_test.dart index d7f9611dbbe..eb3fbe18fda 100644 --- a/packages/two_dimensional_scrollables/test/common/span_test.dart +++ b/packages/two_dimensional_scrollables/test/common/span_test.dart @@ -10,7 +10,7 @@ import 'package:two_dimensional_scrollables/two_dimensional_scrollables.dart'; void main() { group('SpanExtent', () { test('FixedSpanExtent', () { - FixedSpanExtent extent = const FixedSpanExtent(150); + var extent = const FixedSpanExtent(150); expect( extent.calculateExtent( const SpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -39,7 +39,7 @@ void main() { }); test('FractionalSpanExtent', () { - FractionalSpanExtent extent = const FractionalSpanExtent(0.5); + var extent = const FractionalSpanExtent(0.5); expect( extent.calculateExtent( const SpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -68,7 +68,7 @@ void main() { }); test('RemainingSpanExtent', () { - const RemainingSpanExtent extent = RemainingSpanExtent(); + const extent = RemainingSpanExtent(); expect( extent.calculateExtent( const SpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -84,7 +84,7 @@ void main() { }); test('CombiningSpanExtent', () { - final CombiningSpanExtent extent = CombiningSpanExtent( + final extent = CombiningSpanExtent( const FixedSpanExtent(100), const RemainingSpanExtent(), (double a, double b) { @@ -106,10 +106,7 @@ void main() { }); test('MaxSpanExtent', () { - const MaxSpanExtent extent = MaxSpanExtent( - FixedSpanExtent(100), - RemainingSpanExtent(), - ); + const extent = MaxSpanExtent(FixedSpanExtent(100), RemainingSpanExtent()); expect( extent.calculateExtent( const SpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -125,10 +122,7 @@ void main() { }); test('MinSpanExtent', () { - const MinSpanExtent extent = MinSpanExtent( - FixedSpanExtent(100), - RemainingSpanExtent(), - ); + const extent = MinSpanExtent(FixedSpanExtent(100), RemainingSpanExtent()); expect( extent.calculateExtent( const SpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -145,20 +139,20 @@ void main() { }); test('SpanDecoration', () { - SpanDecoration decoration = const SpanDecoration(color: Color(0xffff0000)); - final TestCanvas canvas = TestCanvas(); - const Rect rect = Rect.fromLTWH(0, 0, 10, 10); - final SpanDecorationPaintDetails details = SpanDecorationPaintDetails( + var decoration = const SpanDecoration(color: Color(0xffff0000)); + final canvas = TestCanvas(); + const rect = Rect.fromLTWH(0, 0, 10, 10); + final details = SpanDecorationPaintDetails( canvas: canvas, rect: rect, axisDirection: AxisDirection.down, ); - final BorderRadius radius = BorderRadius.circular(10.0); + final radius = BorderRadius.circular(10.0); decoration.paint(details); expect(canvas.rect, rect); expect(canvas.paint.color, const Color(0xffff0000)); expect(canvas.paint.isAntiAlias, isFalse); - final TestSpanBorder border = TestSpanBorder(leading: const BorderSide()); + final border = TestSpanBorder(leading: const BorderSide()); decoration = SpanDecoration(border: border, borderRadius: radius); decoration.paint(details); expect(border.details, details); diff --git a/packages/two_dimensional_scrollables/test/table_view/table_cell_test.dart b/packages/two_dimensional_scrollables/test/table_view/table_cell_test.dart index be7482776b1..8313dc5c48b 100644 --- a/packages/two_dimensional_scrollables/test/table_view/table_cell_test.dart +++ b/packages/two_dimensional_scrollables/test/table_view/table_cell_test.dart @@ -11,7 +11,7 @@ const TableSpan span = TableSpan(extent: FixedTableSpanExtent(100)); void main() { test('TableVicinity converts ChildVicinity', () { - const TableVicinity vicinity = TableVicinity(column: 5, row: 10); + const vicinity = TableVicinity(column: 5, row: 10); expect(vicinity.xIndex, 5); expect(vicinity.yIndex, 10); expect(vicinity.row, 10); @@ -177,7 +177,7 @@ void main() { ) async { // Merge span start is greater than given index, ex: column 10 has merge // start at 20. - final List exceptions = []; + final exceptions = []; final FlutterExceptionHandler? oldHandler = FlutterError.onError; FlutterError.onError = (FlutterErrorDetails details) { exceptions.add(details.exception); @@ -194,7 +194,7 @@ void main() { // | | // +---------+ // This cell should only be built for (0, 1) and (0, 2), not (0,0). - TableViewCell cell = const TableViewCell( + var cell = const TableViewCell( rowMergeStart: 1, rowMergeSpan: 2, child: SizedBox.shrink(), @@ -253,13 +253,13 @@ void main() { ) async { // Merge exceeds table content, ex: at column 10, cell spans 4 columns, // but table only has 12 columns. - final List exceptions = []; + final exceptions = []; final FlutterExceptionHandler? oldHandler = FlutterError.onError; FlutterError.onError = (FlutterErrorDetails details) { exceptions.add(details.exception); }; // Row - TableViewCell cell = const TableViewCell( + var cell = const TableViewCell( rowMergeStart: 0, rowMergeSpan: 10, // Exceeds the number of rows child: SizedBox.shrink(), @@ -313,13 +313,13 @@ void main() { ) async { // Merge spans pinned and unpinned cells, ex: column 0 is pinned, 0-2 // expected merge. - final List exceptions = []; + final exceptions = []; final FlutterExceptionHandler? oldHandler = FlutterError.onError; FlutterError.onError = (FlutterErrorDetails details) { exceptions.add(details.exception); }; // Row - TableViewCell cell = const TableViewCell( + var cell = const TableViewCell( rowMergeStart: 0, rowMergeSpan: 3, child: SizedBox.shrink(), @@ -397,24 +397,22 @@ void main() { // | | | // +---------+--------+--------+ // ... ... ... - final Map mergedColumns = - { - const TableVicinity(row: 0, column: 1): (1, 2), // M(0, 1) - const TableVicinity(row: 0, column: 2): (1, 2), // M(0, 1) - const TableVicinity(row: 1, column: 1): (1, 2), // M(1, 1) - const TableVicinity(row: 1, column: 2): (1, 2), // M(1, 1) - const TableVicinity(row: 2, column: 1): (1, 2), // M(1, 1) - const TableVicinity(row: 2, column: 2): (1, 2), // M(1, 1) - }; - final Map mergedRows = - { - TableVicinity.zero: (0, 2), // M(0, 0) - TableVicinity.zero.copyWith(row: 1): (0, 2), // M(0,0) - const TableVicinity(row: 1, column: 1): (1, 2), // M(1, 1) - const TableVicinity(row: 1, column: 2): (1, 2), // M(1, 1) - const TableVicinity(row: 2, column: 1): (1, 2), // M(1, 1) - const TableVicinity(row: 2, column: 2): (1, 2), // M(1, 1) - }; + final mergedColumns = { + const TableVicinity(row: 0, column: 1): (1, 2), // M(0, 1) + const TableVicinity(row: 0, column: 2): (1, 2), // M(0, 1) + const TableVicinity(row: 1, column: 1): (1, 2), // M(1, 1) + const TableVicinity(row: 1, column: 2): (1, 2), // M(1, 1) + const TableVicinity(row: 2, column: 1): (1, 2), // M(1, 1) + const TableVicinity(row: 2, column: 2): (1, 2), // M(1, 1) + }; + final mergedRows = { + TableVicinity.zero: (0, 2), // M(0, 0) + TableVicinity.zero.copyWith(row: 1): (0, 2), // M(0,0) + const TableVicinity(row: 1, column: 1): (1, 2), // M(1, 1) + const TableVicinity(row: 1, column: 2): (1, 2), // M(1, 1) + const TableVicinity(row: 2, column: 1): (1, 2), // M(1, 1) + const TableVicinity(row: 2, column: 2): (1, 2), // M(1, 1) + }; TableViewCell cellBuilder(BuildContext context, TableVicinity vicinity) { if (mergedColumns.keys.contains(vicinity) || diff --git a/packages/two_dimensional_scrollables/test/table_view/table_delegate_test.dart b/packages/two_dimensional_scrollables/test/table_view/table_delegate_test.dart index 69a0ef23004..d2ccb460c8a 100644 --- a/packages/two_dimensional_scrollables/test/table_view/table_delegate_test.dart +++ b/packages/two_dimensional_scrollables/test/table_view/table_delegate_test.dart @@ -12,7 +12,7 @@ const TableViewCell cell = TableViewCell(child: SizedBox.shrink()); void main() { group('TableCellBuilderDelegate', () { test('exposes addAutomaticKeepAlives from super class', () { - final TableCellBuilderDelegate delegate = TableCellBuilderDelegate( + final delegate = TableCellBuilderDelegate( cellBuilder: (_, __) => cell, columnBuilder: (_) => span, rowBuilder: (_) => span, @@ -147,7 +147,7 @@ void main() { }); test('sets max x and y index of super class', () { - final TableCellBuilderDelegate delegate = TableCellBuilderDelegate( + final delegate = TableCellBuilderDelegate( cellBuilder: (_, __) => cell, columnBuilder: (_) => span, rowBuilder: (_) => span, @@ -159,7 +159,7 @@ void main() { }); test('Respects super class default for addRepaintBoundaries', () { - final TableCellBuilderDelegate delegate = TableCellBuilderDelegate( + final delegate = TableCellBuilderDelegate( cellBuilder: (_, __) => cell, columnBuilder: (_) => span, rowBuilder: (_) => span, @@ -171,14 +171,14 @@ void main() { }); test('Notifies listeners & rebuilds', () { - int notified = 0; + var notified = 0; TableCellBuilderDelegate oldDelegate; TableSpan spanBuilder(int index) => span; TableViewCell cellBuilder(BuildContext context, TableVicinity vicinity) { return cell; } - final TableCellBuilderDelegate delegate = TableCellBuilderDelegate( + final delegate = TableCellBuilderDelegate( cellBuilder: cellBuilder, columnBuilder: spanBuilder, rowBuilder: spanBuilder, @@ -222,7 +222,7 @@ void main() { group('TableCellListDelegate', () { test('exposes addAutomaticKeepAlives from super class', () { - final TableCellListDelegate delegate = TableCellListDelegate( + final delegate = TableCellListDelegate( cells: >[[]], columnBuilder: (_) => span, rowBuilder: (_) => span, @@ -337,10 +337,10 @@ void main() { }); test('Notifies listeners & rebuilds', () { - int notified = 0; + var notified = 0; TableCellListDelegate oldDelegate; TableSpan spanBuilder(int index) => span; - TableCellListDelegate delegate = TableCellListDelegate( + var delegate = TableCellListDelegate( cells: >[ [cell, cell], [cell, cell], @@ -457,7 +457,7 @@ void main() { }); test('Changing pinned row and column counts asserts valid values', () { - final TableCellListDelegate delegate = TableCellListDelegate( + final delegate = TableCellListDelegate( cells: >[ [cell, cell, cell], [cell, cell, cell], diff --git a/packages/two_dimensional_scrollables/test/table_view/table_span_test.dart b/packages/two_dimensional_scrollables/test/table_view/table_span_test.dart index d0a8010bf04..4e546e8a995 100644 --- a/packages/two_dimensional_scrollables/test/table_view/table_span_test.dart +++ b/packages/two_dimensional_scrollables/test/table_view/table_span_test.dart @@ -10,7 +10,7 @@ import 'package:two_dimensional_scrollables/two_dimensional_scrollables.dart'; void main() { group('TableSpanExtent', () { test('FixedTableSpanExtent', () { - FixedTableSpanExtent extent = const FixedTableSpanExtent(150); + var extent = const FixedTableSpanExtent(150); expect( extent.calculateExtent( const TableSpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -42,7 +42,7 @@ void main() { }); test('FractionalTableSpanExtent', () { - FractionalTableSpanExtent extent = const FractionalTableSpanExtent(0.5); + var extent = const FractionalTableSpanExtent(0.5); expect( extent.calculateExtent( const TableSpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -74,7 +74,7 @@ void main() { }); test('RemainingTableSpanExtent', () { - const RemainingTableSpanExtent extent = RemainingTableSpanExtent(); + const extent = RemainingTableSpanExtent(); expect( extent.calculateExtent( const TableSpanExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -93,7 +93,7 @@ void main() { }); test('CombiningTableSpanExtent', () { - final CombiningTableSpanExtent extent = CombiningTableSpanExtent( + final extent = CombiningTableSpanExtent( const FixedTableSpanExtent(100), const RemainingTableSpanExtent(), (double a, double b) { @@ -118,7 +118,7 @@ void main() { }); test('MaxTableSpanExtent', () { - const MaxTableSpanExtent extent = MaxTableSpanExtent( + const extent = MaxTableSpanExtent( FixedTableSpanExtent(100), RemainingTableSpanExtent(), ); @@ -140,7 +140,7 @@ void main() { }); test('MinTableSpanExtent', () { - const MinTableSpanExtent extent = MinTableSpanExtent( + const extent = MinTableSpanExtent( FixedTableSpanExtent(100), RemainingTableSpanExtent(), ); @@ -163,25 +163,20 @@ void main() { }); test('TableSpanDecoration', () { - TableSpanDecoration decoration = const TableSpanDecoration( - color: Color(0xffff0000), + var decoration = const TableSpanDecoration(color: Color(0xffff0000)); + final canvas = TestCanvas(); + const rect = Rect.fromLTWH(0, 0, 10, 10); + final details = TableSpanDecorationPaintDetails( + canvas: canvas, + rect: rect, + axisDirection: AxisDirection.down, ); - final TestCanvas canvas = TestCanvas(); - const Rect rect = Rect.fromLTWH(0, 0, 10, 10); - final TableSpanDecorationPaintDetails details = - TableSpanDecorationPaintDetails( - canvas: canvas, - rect: rect, - axisDirection: AxisDirection.down, - ); - final BorderRadius radius = BorderRadius.circular(10.0); + final radius = BorderRadius.circular(10.0); decoration.paint(details); expect(canvas.rect, rect); expect(canvas.paint.color, const Color(0xffff0000)); expect(canvas.paint.isAntiAlias, isFalse); - final TestTableSpanBorder border = TestTableSpanBorder( - leading: const BorderSide(), - ); + final border = TestTableSpanBorder(leading: const BorderSide()); decoration = TableSpanDecoration(border: border, borderRadius: radius); decoration.paint(details); expect(border.details, details); @@ -218,7 +213,7 @@ void main() { testWidgets('Vertical main axis, vertical reversed', ( WidgetTester tester, ) async { - final TableView table = TableView.builder( + final table = TableView.builder( verticalDetails: ScrollableDetails.vertical( controller: verticalController, reverse: true, @@ -324,7 +319,7 @@ void main() { testWidgets('Vertical main axis, horizontal reversed', ( WidgetTester tester, ) async { - final TableView table = TableView.builder( + final table = TableView.builder( verticalDetails: ScrollableDetails.vertical( controller: verticalController, ), @@ -430,7 +425,7 @@ void main() { testWidgets('Vertical main axis, both reversed', ( WidgetTester tester, ) async { - final TableView table = TableView.builder( + final table = TableView.builder( verticalDetails: ScrollableDetails.vertical( controller: verticalController, reverse: true, @@ -537,7 +532,7 @@ void main() { testWidgets('Horizontal main axis, vertical reversed', ( WidgetTester tester, ) async { - final TableView table = TableView.builder( + final table = TableView.builder( mainAxis: Axis.horizontal, verticalDetails: ScrollableDetails.vertical( controller: verticalController, @@ -644,7 +639,7 @@ void main() { testWidgets('Horizontal main axis, horizontal reversed', ( WidgetTester tester, ) async { - final TableView table = TableView.builder( + final table = TableView.builder( mainAxis: Axis.horizontal, verticalDetails: ScrollableDetails.vertical( controller: verticalController, @@ -751,7 +746,7 @@ void main() { testWidgets('Horizontal main axis, both reversed', ( WidgetTester tester, ) async { - final TableView table = TableView.builder( + final table = TableView.builder( mainAxis: Axis.horizontal, verticalDetails: ScrollableDetails.vertical( controller: verticalController, @@ -884,15 +879,14 @@ void main() { // |*********|********| | // |*********|********| | // +---------+--------+--------+ - final Map scenario1MergedRows = - { - TableVicinity.zero: (0, 2), - TableVicinity.zero.copyWith(row: 1): (0, 2), - const TableVicinity(row: 1, column: 1): (1, 2), - const TableVicinity(row: 2, column: 1): (1, 2), - const TableVicinity(row: 2, column: 2): (2, 2), - const TableVicinity(row: 3, column: 2): (2, 2), - }; + final scenario1MergedRows = { + TableVicinity.zero: (0, 2), + TableVicinity.zero.copyWith(row: 1): (0, 2), + const TableVicinity(row: 1, column: 1): (1, 2), + const TableVicinity(row: 2, column: 1): (1, 2), + const TableVicinity(row: 2, column: 2): (2, 2), + const TableVicinity(row: 3, column: 2): (2, 2), + }; TableView buildScenario1({ bool reverseVertical = false, @@ -947,15 +941,14 @@ void main() { // |////////| |M(2,2)***********| // |////////| |*****************| // +--------+--------+--------+--------+ - final Map scenario2MergedColumns = - { - TableVicinity.zero: (0, 2), - TableVicinity.zero.copyWith(column: 1): (0, 2), - const TableVicinity(row: 1, column: 1): (1, 2), - const TableVicinity(row: 1, column: 2): (1, 2), - const TableVicinity(row: 2, column: 2): (2, 2), - const TableVicinity(row: 2, column: 3): (2, 2), - }; + final scenario2MergedColumns = { + TableVicinity.zero: (0, 2), + TableVicinity.zero.copyWith(column: 1): (0, 2), + const TableVicinity(row: 1, column: 1): (1, 2), + const TableVicinity(row: 1, column: 2): (1, 2), + const TableVicinity(row: 2, column: 2): (2, 2), + const TableVicinity(row: 2, column: 3): (2, 2), + }; TableView buildScenario2({ bool reverseVertical = false, @@ -1013,28 +1006,26 @@ void main() { // |////////| | | // |////////| | | // +--------+--------+--------+--------+ - final Map scenario3MergedRows = - { - TableVicinity.zero: (0, 2), - const TableVicinity(row: 1, column: 0): (0, 2), - const TableVicinity(row: 0, column: 1): (0, 2), - const TableVicinity(row: 1, column: 1): (0, 2), - const TableVicinity(row: 1, column: 2): (1, 2), - const TableVicinity(row: 2, column: 2): (1, 2), - const TableVicinity(row: 1, column: 3): (1, 2), - const TableVicinity(row: 2, column: 3): (1, 2), - }; - final Map scenario3MergedColumns = - { - TableVicinity.zero: (0, 2), - const TableVicinity(row: 1, column: 0): (0, 2), - const TableVicinity(row: 0, column: 1): (0, 2), - const TableVicinity(row: 1, column: 1): (0, 2), - const TableVicinity(row: 1, column: 2): (2, 2), - const TableVicinity(row: 2, column: 2): (2, 2), - const TableVicinity(row: 1, column: 3): (2, 2), - const TableVicinity(row: 2, column: 3): (2, 2), - }; + final scenario3MergedRows = { + TableVicinity.zero: (0, 2), + const TableVicinity(row: 1, column: 0): (0, 2), + const TableVicinity(row: 0, column: 1): (0, 2), + const TableVicinity(row: 1, column: 1): (0, 2), + const TableVicinity(row: 1, column: 2): (1, 2), + const TableVicinity(row: 2, column: 2): (1, 2), + const TableVicinity(row: 1, column: 3): (1, 2), + const TableVicinity(row: 2, column: 3): (1, 2), + }; + final scenario3MergedColumns = { + TableVicinity.zero: (0, 2), + const TableVicinity(row: 1, column: 0): (0, 2), + const TableVicinity(row: 0, column: 1): (0, 2), + const TableVicinity(row: 1, column: 1): (0, 2), + const TableVicinity(row: 1, column: 2): (2, 2), + const TableVicinity(row: 2, column: 2): (2, 2), + const TableVicinity(row: 1, column: 3): (2, 2), + const TableVicinity(row: 2, column: 3): (2, 2), + }; TableView buildScenario3({ Axis mainAxis = Axis.vertical, diff --git a/packages/two_dimensional_scrollables/test/table_view/table_test.dart b/packages/two_dimensional_scrollables/test/table_view/table_test.dart index 8893edef189..bec06fb7ab7 100644 --- a/packages/two_dimensional_scrollables/test/table_view/table_test.dart +++ b/packages/two_dimensional_scrollables/test/table_view/table_test.dart @@ -42,15 +42,14 @@ TableSpan getMouseTrackingSpan( void main() { group('TableView.builder', () { test('creates correct delegate', () { - final TableView tableView = TableView.builder( + final tableView = TableView.builder( columnCount: 3, rowCount: 2, rowBuilder: (_) => span, columnBuilder: (_) => span, cellBuilder: (_, __) => cell, ); - final TableCellBuilderDelegate delegate = - tableView.delegate as TableCellBuilderDelegate; + final delegate = tableView.delegate as TableCellBuilderDelegate; expect(delegate.pinnedRowCount, 0); expect(delegate.pinnedRowCount, 0); expect(delegate.rowCount, 2); @@ -180,7 +179,7 @@ void main() { group('Infinite spans - ', () { late ScrollController verticalController; late ScrollController horizontalController; - const TableSpan largeSpan = TableSpan(extent: FixedTableSpanExtent(200)); + const largeSpan = TableSpan(extent: FixedTableSpanExtent(200)); setUp(() { verticalController = ScrollController(); @@ -838,7 +837,7 @@ void main() { WidgetTester tester, ) async { // Nothing pinned --- - bool calledOutOfBounds = false; + var calledOutOfBounds = false; await tester.pumpWidget( MaterialApp( home: getTableView( @@ -1371,7 +1370,7 @@ void main() { WidgetTester tester, ) async { // Nothing pinned --- - bool calledOutOfBounds = false; + var calledOutOfBounds = false; await tester.pumpWidget( MaterialApp( home: getTableView( @@ -1640,8 +1639,8 @@ void main() { WidgetTester tester, ) async { // Nothing pinned --- - bool calledRowOutOfBounds = false; - bool calledColumnOutOfBounds = false; + var calledRowOutOfBounds = false; + var calledColumnOutOfBounds = false; await tester.pumpWidget( MaterialApp( home: getTableView( @@ -1978,15 +1977,9 @@ void main() { // cell if it extends into an area we have not computed the layout for // yet. const ({int start, int span}) rowConfig = (start: 0, span: 10); - final List mergedRows = List.generate( - 10, - (int index) => index, - ); + final mergedRows = List.generate(10, (int index) => index); const ({int start, int span}) columnConfig = (start: 1, span: 10); - final List mergedColumns = List.generate( - 10, - (int index) => index + 1, - ); + final mergedColumns = List.generate(10, (int index) => index + 1); await tester.pumpWidget( MaterialApp( home: getTableView( @@ -2040,16 +2033,13 @@ void main() { testWidgets('merged column that exceeds metrics will assert', ( WidgetTester tester, ) async { - final List exceptions = []; + final exceptions = []; final FlutterExceptionHandler? oldHandler = FlutterError.onError; FlutterError.onError = (FlutterErrorDetails details) { exceptions.add(details.exception); }; const ({int start, int span}) columnConfig = (start: 1, span: 10); - final List mergedColumns = List.generate( - 10, - (int index) => index + 1, - ); + final mergedColumns = List.generate(10, (int index) => index + 1); await tester.pumpWidget( MaterialApp( home: getTableView( @@ -2094,16 +2084,13 @@ void main() { testWidgets('merged row that exceeds metrics will assert', ( WidgetTester tester, ) async { - final List exceptions = []; + final exceptions = []; final FlutterExceptionHandler? oldHandler = FlutterError.onError; FlutterError.onError = (FlutterErrorDetails details) { exceptions.add(details.exception); }; const ({int start, int span}) rowConfig = (start: 0, span: 10); - final List mergedRows = List.generate( - 10, - (int index) => index, - ); + final mergedRows = List.generate(10, (int index) => index); await tester.pumpWidget( MaterialApp( home: getTableView( @@ -2148,7 +2135,7 @@ void main() { group('TableView.list', () { test('creates correct delegate', () { - final TableView tableView = TableView.list( + final tableView = TableView.list( rowBuilder: (_) => span, columnBuilder: (_) => span, cells: const >[ @@ -2156,8 +2143,7 @@ void main() { [cell, cell, cell], ], ); - final TableCellListDelegate delegate = - tableView.delegate as TableCellListDelegate; + final delegate = tableView.delegate as TableCellListDelegate; expect(delegate.pinnedRowCount, 0); expect(delegate.pinnedRowCount, 0); expect(delegate.rowCount, 2); @@ -2215,10 +2201,9 @@ void main() { testWidgets('parent data and table vicinities', ( WidgetTester tester, ) async { - final Map childKeys = - {}; - const TableSpan span = TableSpan(extent: FixedTableSpanExtent(200)); - final TableView tableView = TableView.builder( + final childKeys = {}; + const span = TableSpan(extent: FixedTableSpanExtent(200)); + final tableView = TableView.builder( rowCount: 5, columnCount: 5, columnBuilder: (_) => span, @@ -2274,17 +2259,16 @@ void main() { }); testWidgets('TableSpanPadding', (WidgetTester tester) async { - final Map childKeys = - {}; - const TableSpan columnSpan = TableSpan( + final childKeys = {}; + const columnSpan = TableSpan( extent: FixedTableSpanExtent(200), padding: TableSpanPadding(leading: 10.0, trailing: 20.0), ); - const TableSpan rowSpan = TableSpan( + const rowSpan = TableSpan( extent: FixedTableSpanExtent(200), padding: TableSpanPadding(leading: 30.0, trailing: 40.0), ); - TableView tableView = TableView.builder( + var tableView = TableView.builder( rowCount: 2, columnCount: 2, columnBuilder: (_) => columnSpan, @@ -2382,9 +2366,9 @@ void main() { }); testWidgets('TableSpan gesture hit testing', (WidgetTester tester) async { - int tapCounter = 0; + var tapCounter = 0; // Rows - TableView tableView = TableView.builder( + var tableView = TableView.builder( rowCount: 50, columnCount: 50, columnBuilder: (_) => span, @@ -2467,8 +2451,8 @@ void main() { expect(tapCounter, 8); // Intersecting - main axis sets precedence - int rowTapCounter = 0; - int columnTapCounter = 0; + var rowTapCounter = 0; + var columnTapCounter = 0; tableView = TableView.builder( rowCount: 50, columnCount: 50, @@ -2556,11 +2540,11 @@ void main() { testWidgets('provides correct details in TableSpanExtentDelegate', ( WidgetTester tester, ) async { - final TestTableSpanExtent columnExtent = TestTableSpanExtent(); - final TestTableSpanExtent rowExtent = TestTableSpanExtent(); - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TableView tableView = TableView.builder( + final columnExtent = TestTableSpanExtent(); + final rowExtent = TestTableSpanExtent(); + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final tableView = TableView.builder( rowCount: 10, columnCount: 10, columnBuilder: (_) => TableSpan(extent: columnExtent), @@ -2612,7 +2596,7 @@ void main() { ) async { // Huge padding, first span layout // Column-wise - TableView tableView = TableView.builder( + var tableView = TableView.builder( rowCount: 50, columnCount: 50, columnBuilder: (_) => const TableSpan( @@ -2683,7 +2667,7 @@ void main() { ) async { // Check with gradually accrued paddings // Column-wise - TableView tableView = TableView.builder( + var tableView = TableView.builder( rowCount: 50, columnCount: 50, columnBuilder: (_) => @@ -2803,9 +2787,9 @@ void main() { }); testWidgets('regular layout - no pinning', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TableView tableView = TableView.builder( + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final tableView = TableView.builder( rowCount: 50, columnCount: 50, columnBuilder: (_) => span, @@ -2882,9 +2866,9 @@ void main() { testWidgets('pinned rows and columns', (WidgetTester tester) async { // Just pinned rows - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - TableView tableView = TableView.builder( + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + var tableView = TableView.builder( rowCount: 50, pinnedRowCount: 1, columnCount: 50, @@ -3124,9 +3108,9 @@ void main() { }); testWidgets('only paints visible cells', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TableView tableView = TableView.builder( + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final tableView = TableView.builder( rowCount: 50, columnCount: 50, columnBuilder: (_) => span, @@ -3193,7 +3177,7 @@ void main() { testWidgets('paints decorations in correct order', ( WidgetTester tester, ) async { - TableView tableView = TableView.builder( + var tableView = TableView.builder( rowCount: 2, columnCount: 2, columnBuilder: (int index) => TableSpan( @@ -3470,7 +3454,7 @@ void main() { WidgetTester tester, ) async { // Both reversed - Regression test for https://github.com/flutter/flutter/issues/135386 - TableView tableView = TableView.builder( + var tableView = TableView.builder( verticalDetails: const ScrollableDetails.vertical(reverse: true), horizontalDetails: const ScrollableDetails.horizontal(reverse: true), rowCount: 2, @@ -3563,9 +3547,9 @@ void main() { }); testWidgets('mouse handling', (WidgetTester tester) async { - int enterCounter = 0; - int exitCounter = 0; - final TableView tableView = TableView.builder( + var enterCounter = 0; + var exitCounter = 0; + final tableView = TableView.builder( rowCount: 50, columnCount: 50, columnBuilder: (_) => span, @@ -3623,37 +3607,34 @@ void main() { // Regression tests for https://github.com/flutter/flutter/issues/143526 // These tests all use the same collection of merged pinned cells in a // variety of combinations. - final Map bothMerged = - { - TableVicinity.zero: (start: 0, span: 2), - const TableVicinity(row: 1, column: 0): (start: 0, span: 2), - const TableVicinity(row: 0, column: 1): (start: 0, span: 2), - const TableVicinity(row: 1, column: 1): (start: 0, span: 2), - }; - - final Map rowMerged = - { - const TableVicinity(row: 2, column: 0): (start: 2, span: 2), - const TableVicinity(row: 3, column: 0): (start: 2, span: 2), - const TableVicinity(row: 4, column: 1): (start: 4, span: 3), - const TableVicinity(row: 5, column: 1): (start: 4, span: 3), - const TableVicinity(row: 6, column: 1): (start: 4, span: 3), - }; - - final Map columnMerged = - { - const TableVicinity(row: 0, column: 2): (start: 2, span: 2), - const TableVicinity(row: 0, column: 3): (start: 2, span: 2), - const TableVicinity(row: 1, column: 4): (start: 4, span: 3), - const TableVicinity(row: 1, column: 5): (start: 4, span: 3), - const TableVicinity(row: 1, column: 6): (start: 4, span: 3), - }; - const TableSpan span = TableSpan(extent: FixedTableSpanExtent(75)); + final bothMerged = { + TableVicinity.zero: (start: 0, span: 2), + const TableVicinity(row: 1, column: 0): (start: 0, span: 2), + const TableVicinity(row: 0, column: 1): (start: 0, span: 2), + const TableVicinity(row: 1, column: 1): (start: 0, span: 2), + }; + + final rowMerged = { + const TableVicinity(row: 2, column: 0): (start: 2, span: 2), + const TableVicinity(row: 3, column: 0): (start: 2, span: 2), + const TableVicinity(row: 4, column: 1): (start: 4, span: 3), + const TableVicinity(row: 5, column: 1): (start: 4, span: 3), + const TableVicinity(row: 6, column: 1): (start: 4, span: 3), + }; + + final columnMerged = { + const TableVicinity(row: 0, column: 2): (start: 2, span: 2), + const TableVicinity(row: 0, column: 3): (start: 2, span: 2), + const TableVicinity(row: 1, column: 4): (start: 4, span: 3), + const TableVicinity(row: 1, column: 5): (start: 4, span: 3), + const TableVicinity(row: 1, column: 6): (start: 4, span: 3), + }; + const span = TableSpan(extent: FixedTableSpanExtent(75)); testWidgets('Normal axes', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TableView tableView = TableView.builder( + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final tableView = TableView.builder( verticalDetails: ScrollableDetails.vertical( controller: verticalController, ), @@ -3761,9 +3742,9 @@ void main() { }); testWidgets('Vertical reversed', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TableView tableView = TableView.builder( + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final tableView = TableView.builder( verticalDetails: ScrollableDetails.vertical( reverse: true, controller: verticalController, @@ -3872,9 +3853,9 @@ void main() { }); testWidgets('Horizontal reversed', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TableView tableView = TableView.builder( + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final tableView = TableView.builder( verticalDetails: ScrollableDetails.vertical( controller: verticalController, ), @@ -3983,9 +3964,9 @@ void main() { }); testWidgets('Both reversed', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TableView tableView = TableView.builder( + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final tableView = TableView.builder( verticalDetails: ScrollableDetails.vertical( reverse: true, controller: verticalController, @@ -4099,15 +4080,15 @@ void main() { testWidgets( 'Merged unpinned cells following pinned cells are laid out correctly', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final Set mergedCell = { + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final mergedCell = { const TableVicinity(row: 2, column: 2), const TableVicinity(row: 3, column: 2), const TableVicinity(row: 2, column: 3), const TableVicinity(row: 3, column: 3), }; - final TableView tableView = TableView.builder( + final tableView = TableView.builder( columnCount: 10, rowCount: 10, columnBuilder: (_) => diff --git a/packages/two_dimensional_scrollables/test/tree_view/render_tree_test.dart b/packages/two_dimensional_scrollables/test/tree_view/render_tree_test.dart index f3f4b9ba204..2dc2a717dba 100644 --- a/packages/two_dimensional_scrollables/test/tree_view/render_tree_test.dart +++ b/packages/two_dimensional_scrollables/test/tree_view/render_tree_test.dart @@ -135,9 +135,9 @@ void main() { }); testWidgets('TreeRow gesture hit testing', (WidgetTester tester) async { - int tapCounter = 0; - final List log = []; - final TreeView treeView = TreeView( + var tapCounter = 0; + final log = []; + final treeView = TreeView( tree: treeNodes, treeRowBuilder: (TreeViewNode node) { if (node.depth! == 0) { @@ -165,9 +165,9 @@ void main() { }); testWidgets('mouse handling', (WidgetTester tester) async { - int enterCounter = 0; - int exitCounter = 0; - final TreeView treeView = TreeView( + var enterCounter = 0; + var exitCounter = 0; + final treeView = TreeView( tree: treeNodes, treeRowBuilder: (TreeViewNode node) { if (node.depth! == 0) { @@ -216,12 +216,12 @@ void main() { testWidgets('Scrolls when there is enough content', ( WidgetTester tester, ) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); - final TreeViewController treeController = TreeViewController(); + final verticalController = ScrollController(); + final horizontalController = ScrollController(); + final treeController = TreeViewController(); addTearDown(verticalController.dispose); addTearDown(horizontalController.dispose); - final TreeView treeView = TreeView( + final treeView = TreeView( controller: treeController, verticalDetails: ScrollableDetails.vertical( controller: verticalController, @@ -266,7 +266,7 @@ void main() { testWidgets('Basic', (WidgetTester tester) async { // Default layout, custom indentation values, row extents. - TreeView treeView = TreeView(tree: treeNodes); + var treeView = TreeView(tree: treeNodes); await tester.pumpWidget(MaterialApp(home: treeView)); await tester.pump(); expect(find.text('First'), findsOneWidget); @@ -439,7 +439,7 @@ void main() { }); testWidgets('Animating node segment', (WidgetTester tester) async { - TreeView treeView = TreeView(tree: treeNodes); + var treeView = TreeView(tree: treeNodes); await tester.pumpWidget(MaterialApp(home: treeView)); await tester.pump(); expect(find.text('alpha'), findsNothing); @@ -559,7 +559,7 @@ void main() { testWidgets('Multiple animating node segments', ( WidgetTester tester, ) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: TreeView(tree: treeNodes, controller: controller), @@ -669,9 +669,9 @@ void main() { }); testWidgets('only paints visible rows', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); + final verticalController = ScrollController(); addTearDown(verticalController.dispose); - final TreeView treeView = TreeView( + final treeView = TreeView( treeRowBuilder: (_) => const TreeRow(extent: FixedTreeRowExtent(400)), tree: treeNodes, verticalDetails: ScrollableDetails.vertical( @@ -695,23 +695,15 @@ void main() { }); testWidgets('paints decorations correctly', (WidgetTester tester) async { - final ScrollController verticalController = ScrollController(); - final ScrollController horizontalController = ScrollController(); + final verticalController = ScrollController(); + final horizontalController = ScrollController(); addTearDown(verticalController.dispose); addTearDown(horizontalController.dispose); - const TreeRowDecoration rootForegroundDecoration = TreeRowDecoration( - color: Colors.red, - ); - const TreeRowDecoration rootBackgroundDecoration = TreeRowDecoration( - color: Colors.blue, - ); - const TreeRowDecoration foregroundDecoration = TreeRowDecoration( - color: Colors.orange, - ); - const TreeRowDecoration backgroundDecoration = TreeRowDecoration( - color: Colors.green, - ); - final TreeView treeView = TreeView( + const rootForegroundDecoration = TreeRowDecoration(color: Colors.red); + const rootBackgroundDecoration = TreeRowDecoration(color: Colors.blue); + const foregroundDecoration = TreeRowDecoration(color: Colors.orange); + const backgroundDecoration = TreeRowDecoration(color: Colors.green); + final treeView = TreeView( verticalDetails: ScrollableDetails.vertical( controller: verticalController, ), diff --git a/packages/two_dimensional_scrollables/test/tree_view/tree_delegate_test.dart b/packages/two_dimensional_scrollables/test/tree_view/tree_delegate_test.dart index d4d9fbc41bf..5ffdc74f1be 100644 --- a/packages/two_dimensional_scrollables/test/tree_view/tree_delegate_test.dart +++ b/packages/two_dimensional_scrollables/test/tree_view/tree_delegate_test.dart @@ -10,7 +10,7 @@ const TreeRow span = TreeRow(extent: FixedTreeRowExtent(50)); void main() { test('TreeVicinity converts ChildVicinity', () { - const TreeVicinity vicinity = TreeVicinity(depth: 5, row: 10); + const vicinity = TreeVicinity(depth: 5, row: 10); expect(vicinity.xIndex, 5); expect(vicinity.yIndex, 10); expect(vicinity.row, 10); @@ -20,7 +20,7 @@ void main() { group('TreeRowBuilderDelegate', () { test('exposes addAutomaticKeepAlives from super class', () { - final TreeRowBuilderDelegate delegate = TreeRowBuilderDelegate( + final delegate = TreeRowBuilderDelegate( nodeBuilder: (_, __) => const SizedBox(), rowBuilder: (_) => span, rowCount: 6, @@ -52,7 +52,7 @@ void main() { }); test('sets max y index (not x) of super class', () { - final TreeRowBuilderDelegate delegate = TreeRowBuilderDelegate( + final delegate = TreeRowBuilderDelegate( nodeBuilder: (_, __) => const SizedBox(), rowBuilder: (_) => span, rowCount: 6, @@ -62,10 +62,10 @@ void main() { }); test('Notifies listeners & rebuilds', () { - bool notified = false; + var notified = false; TreeRowBuilderDelegate oldDelegate; - final TreeRowBuilderDelegate delegate = TreeRowBuilderDelegate( + final delegate = TreeRowBuilderDelegate( nodeBuilder: (_, __) => const SizedBox(), rowBuilder: (_) => span, rowCount: 6, diff --git a/packages/two_dimensional_scrollables/test/tree_view/tree_span_test.dart b/packages/two_dimensional_scrollables/test/tree_view/tree_span_test.dart index c51bd29e68d..ae79dfa3417 100644 --- a/packages/two_dimensional_scrollables/test/tree_view/tree_span_test.dart +++ b/packages/two_dimensional_scrollables/test/tree_view/tree_span_test.dart @@ -10,7 +10,7 @@ import 'package:two_dimensional_scrollables/two_dimensional_scrollables.dart'; void main() { group('TreeRowExtent', () { test('FixedTreeRowExtent', () { - FixedTreeRowExtent extent = const FixedTreeRowExtent(150); + var extent = const FixedTreeRowExtent(150); expect( extent.calculateExtent( const TreeRowExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -42,7 +42,7 @@ void main() { }); test('FractionalTreeRowExtent', () { - FractionalTreeRowExtent extent = const FractionalTreeRowExtent(0.5); + var extent = const FractionalTreeRowExtent(0.5); expect( extent.calculateExtent( const TreeRowExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -74,7 +74,7 @@ void main() { }); test('RemainingTreeRowExtent', () { - const RemainingTreeRowExtent extent = RemainingTreeRowExtent(); + const extent = RemainingTreeRowExtent(); expect( extent.calculateExtent( const TreeRowExtentDelegate(precedingExtent: 0, viewportExtent: 0), @@ -93,7 +93,7 @@ void main() { }); test('CombiningTreeRowExtent', () { - final CombiningTreeRowExtent extent = CombiningTreeRowExtent( + final extent = CombiningTreeRowExtent( const FixedTreeRowExtent(100), const RemainingTreeRowExtent(), (double a, double b) { @@ -118,7 +118,7 @@ void main() { }); test('MaxTreeRowExtent', () { - const MaxTreeRowExtent extent = MaxTreeRowExtent( + const extent = MaxTreeRowExtent( FixedTreeRowExtent(100), RemainingTreeRowExtent(), ); @@ -140,7 +140,7 @@ void main() { }); test('MinTreeRowExtent', () { - const MinTreeRowExtent extent = MinTreeRowExtent( + const extent = MinTreeRowExtent( FixedTreeRowExtent(100), RemainingTreeRowExtent(), ); @@ -163,22 +163,20 @@ void main() { }); test('TreeRowDecoration', () { - TreeRowDecoration decoration = const TreeRowDecoration( - color: Color(0xffff0000), - ); - final TestCanvas canvas = TestCanvas(); - const Rect rect = Rect.fromLTWH(0, 0, 10, 10); - final TreeRowDecorationPaintDetails details = TreeRowDecorationPaintDetails( + var decoration = const TreeRowDecoration(color: Color(0xffff0000)); + final canvas = TestCanvas(); + const rect = Rect.fromLTWH(0, 0, 10, 10); + final details = TreeRowDecorationPaintDetails( canvas: canvas, rect: rect, axisDirection: AxisDirection.down, ); - final BorderRadius radius = BorderRadius.circular(10.0); + final radius = BorderRadius.circular(10.0); decoration.paint(details); expect(canvas.rect, rect); expect(canvas.paint.color, const Color(0xffff0000)); expect(canvas.paint.isAntiAlias, isFalse); - final TestTreeRowBorder border = TestTreeRowBorder(top: const BorderSide()); + final border = TestTreeRowBorder(top: const BorderSide()); decoration = TreeRowDecoration(border: border, borderRadius: radius); decoration.paint(details); expect(border.details, details); diff --git a/packages/two_dimensional_scrollables/test/tree_view/tree_test.dart b/packages/two_dimensional_scrollables/test/tree_view/tree_test.dart index 0bc08e8ed3b..b9eddafcec6 100644 --- a/packages/two_dimensional_scrollables/test/tree_view/tree_test.dart +++ b/packages/two_dimensional_scrollables/test/tree_view/tree_test.dart @@ -30,10 +30,8 @@ List> simpleNodeSet = >[ void main() { group('TreeViewNode', () { test('getters, toString', () { - final List> children = >[ - TreeViewNode('child'), - ]; - final TreeViewNode node = TreeViewNode( + final children = >[TreeViewNode('child')]; + final node = TreeViewNode( 'parent', children: children, expanded: true, @@ -63,10 +61,8 @@ void main() { testWidgets('TreeView sets ups parent and depth properties', ( WidgetTester tester, ) async { - final List> children = >[ - TreeViewNode('child'), - ]; - final TreeViewNode node = TreeViewNode( + final children = >[TreeViewNode('child')]; + final node = TreeViewNode( 'parent', children: children, expanded: true, @@ -121,7 +117,7 @@ void main() { ]; }); testWidgets('Can set controller on TreeView', (WidgetTester tester) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); TreeViewController? returnedController; await tester.pumpWidget( MaterialApp( @@ -177,7 +173,7 @@ void main() { testWidgets('Can get node for TreeViewNode.content', ( WidgetTester tester, ) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: TreeView(tree: simpleNodeSet, controller: controller), @@ -188,7 +184,7 @@ void main() { }); testWidgets('Can get isExpanded for a node', (WidgetTester tester) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: TreeView(tree: simpleNodeSet, controller: controller), @@ -199,7 +195,7 @@ void main() { }); testWidgets('Can get isActive for a node', (WidgetTester tester) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: TreeView(tree: simpleNodeSet, controller: controller), @@ -215,7 +211,7 @@ void main() { testWidgets('Can toggleNode, to collapse or expand', ( WidgetTester tester, ) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: TreeView(tree: simpleNodeSet, controller: controller), @@ -248,7 +244,7 @@ void main() { testWidgets('Can expandNode, then collapseAll', ( WidgetTester tester, ) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: TreeView(tree: simpleNodeSet, controller: controller), @@ -281,7 +277,7 @@ void main() { testWidgets('Can collapseNode, then expandAll', ( WidgetTester tester, ) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: TreeView(tree: simpleNodeSet, controller: controller), @@ -376,9 +372,9 @@ void main() { }); testWidgets('.toggleNodeWith, onNodeToggle', (WidgetTester tester) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); // The default node builder wraps the leading icon with toggleNodeWith. - bool toggled = false; + var toggled = false; TreeViewNode? toggledNode; await tester.pumpWidget( MaterialApp( @@ -550,7 +546,7 @@ void main() { testWidgets('Adding more root TreeViewNodes are reflected in the tree', ( WidgetTester tester, ) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: StatefulBuilder( @@ -602,7 +598,7 @@ void main() { testWidgets( 'Adding more TreeViewNodes below the root are reflected in the tree', (WidgetTester tester) async { - final TreeViewController controller = TreeViewController(); + final controller = TreeViewController(); await tester.pumpWidget( MaterialApp( home: StatefulBuilder( @@ -655,7 +651,7 @@ void main() { ); test('should use the generic type for callbacks and builders', () { - final TreeView treeView = TreeView( + final treeView = TreeView( tree: simpleNodeSet, treeNodeBuilder: ( @@ -684,8 +680,8 @@ void main() { 'TreeViewNode should expand/collapse correctly when the animation duration is set to zero.', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/154292 - final TreeViewController controller = TreeViewController(); - final List> tree = >[ + final controller = TreeViewController(); + final tree = >[ TreeViewNode('First'), TreeViewNode( 'Second', @@ -784,8 +780,8 @@ void main() { testWidgets( 'TreeViewNode should close all child nodes when collapsed, once the animation is completed', (WidgetTester tester) async { - final TreeViewController controller = TreeViewController(); - final List> tree = >[ + final controller = TreeViewController(); + final tree = >[ TreeViewNode( 'First', expanded: true, @@ -857,11 +853,11 @@ void main() { testWidgets('Expand then collapse with offscreen nodes (top)', ( WidgetTester tester, ) async { - final ScrollController verticalController = ScrollController(); - final TreeViewController controller = TreeViewController(); + final verticalController = ScrollController(); + final controller = TreeViewController(); addTearDown(verticalController.dispose); - final List> tree = >[ + final tree = >[ TreeViewNode( 'alpha', children: >[ diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 9e342629d12..b6f30f38042 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -162,7 +162,7 @@ String? encodeQueryParameters(Map params) { .join('&'); } // ··· - final Uri emailLaunchUri = Uri( + final emailLaunchUri = Uri( scheme: 'mailto', path: 'smith@example.com', query: encodeQueryParameters({ @@ -194,7 +194,7 @@ Example: ```dart final String filePath = testFile.absolute.path; -final Uri uri = Uri.file(filePath); +final uri = Uri.file(filePath); if (!File(uri.toFilePath()).existsSync()) { throw Exception('$uri does not exist!'); diff --git a/packages/url_launcher/url_launcher/example/lib/encoding.dart b/packages/url_launcher/url_launcher/example/lib/encoding.dart index 4e0b558d429..a2f541ebb45 100644 --- a/packages/url_launcher/url_launcher/example/lib/encoding.dart +++ b/packages/url_launcher/url_launcher/example/lib/encoding.dart @@ -41,7 +41,7 @@ void main() => runApp( void _composeMail() { // #docregion encode-query-parameters - final Uri emailLaunchUri = Uri( + final emailLaunchUri = Uri( scheme: 'mailto', path: 'smith@example.com', query: encodeQueryParameters({ diff --git a/packages/url_launcher/url_launcher/example/lib/files.dart b/packages/url_launcher/url_launcher/example/lib/files.dart index 76f3b9d80ab..676c0a3cf87 100644 --- a/packages/url_launcher/url_launcher/example/lib/files.dart +++ b/packages/url_launcher/url_launcher/example/lib/files.dart @@ -28,11 +28,11 @@ Future _openFile() async { ...p.split(Directory.systemTemp.path), 'flutter_url_launcher_example.txt', ]); - final File testFile = File(tempFilePath); + final testFile = File(tempFilePath); await testFile.writeAsString('Hello, world!'); // #docregion file final String filePath = testFile.absolute.path; - final Uri uri = Uri.file(filePath); + final uri = Uri.file(filePath); if (!File(uri.toFilePath()).existsSync()) { throw Exception('$uri does not exist!'); diff --git a/packages/url_launcher/url_launcher/example/lib/main.dart b/packages/url_launcher/url_launcher/example/lib/main.dart index 61f17104b55..3d5e01c3545 100644 --- a/packages/url_launcher/url_launcher/example/lib/main.dart +++ b/packages/url_launcher/url_launcher/example/lib/main.dart @@ -130,7 +130,7 @@ class _MyHomePageState extends State { } Future _makePhoneCall(String phoneNumber) async { - final Uri launchUri = Uri(scheme: 'tel', path: phoneNumber); + final launchUri = Uri(scheme: 'tel', path: phoneNumber); await launchUrl(launchUri); } @@ -138,7 +138,7 @@ class _MyHomePageState extends State { Widget build(BuildContext context) { // onPressed calls using this URL are not gated on a 'canLaunch' check // because the assumption is that every device can launch a web URL. - final Uri toLaunch = Uri( + final toLaunch = Uri( scheme: 'https', host: 'www.cylog.org', path: 'headers/', diff --git a/packages/url_launcher/url_launcher/lib/src/legacy_api.dart b/packages/url_launcher/url_launcher/lib/src/legacy_api.dart index 60727c35162..a7adefb58e7 100644 --- a/packages/url_launcher/url_launcher/lib/src/legacy_api.dart +++ b/packages/url_launcher/url_launcher/lib/src/legacy_api.dart @@ -88,7 +88,7 @@ Future launch( } /// [true] so that ui is automatically computed if [statusBarBrightness] is set. - bool previousAutomaticSystemUiAdjustment = true; + var previousAutomaticSystemUiAdjustment = true; final RenderView? renderViewToAdjust = statusBarBrightness != null && defaultTargetPlatform == TargetPlatform.iOS ? _findImplicitRenderView() diff --git a/packages/url_launcher/url_launcher/lib/src/link.dart b/packages/url_launcher/url_launcher/lib/src/link.dart index 95f315beb39..79c7351d3a6 100644 --- a/packages/url_launcher/url_launcher/lib/src/link.dart +++ b/packages/url_launcher/url_launcher/lib/src/link.dart @@ -114,7 +114,7 @@ class DefaultLinkDelegate extends StatelessWidget { // A uri that doesn't have a scheme is an internal route name. In this // case, we push it via Flutter's navigation system instead of letting the // browser handle it. - final String routeName = link.uri.toString(); + final routeName = link.uri.toString(); await pushRouteToFrameworkFunction(context, routeName); return; } diff --git a/packages/url_launcher/url_launcher/test/link_test.dart b/packages/url_launcher/url_launcher/test/link_test.dart index ad89cac7139..d8094b968fe 100644 --- a/packages/url_launcher/url_launcher/test/link_test.dart +++ b/packages/url_launcher/url_launcher/test/link_test.dart @@ -21,10 +21,10 @@ void main() { group('Link', () { testWidgets('handles null uri correctly', (WidgetTester tester) async { - bool isBuilt = false; + var isBuilt = false; FollowLink? followLink; - final Link link = Link( + final link = Link( uri: null, builder: (BuildContext context, FollowLink? followLink2) { isBuilt = true; @@ -130,7 +130,7 @@ void main() { ), ); - bool frameworkCalled = false; + var frameworkCalled = false; final Future Function(Object?, String) originalPushFunction = pushRouteToFrameworkFunction; pushRouteToFrameworkFunction = (Object? _, String __) { diff --git a/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart b/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart index 3223b8fff39..49057b706e3 100644 --- a/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart +++ b/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart @@ -12,7 +12,7 @@ import 'package:url_launcher_platform_interface/url_launcher_platform_interface. import '../mocks/mock_url_launcher_platform.dart'; void main() { - final MockUrlLauncher mock = MockUrlLauncher(); + final mock = MockUrlLauncher(); UrlLauncherPlatform.instance = mock; test('closeWebView default behavior', () async { @@ -284,7 +284,7 @@ void main() { final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized(); debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final RenderView renderView = RenderView( + final renderView = RenderView( view: binding.platformDispatcher.implicitView!, ); binding.addRenderView(renderView); @@ -320,7 +320,7 @@ void main() { final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized(); debugDefaultTargetPlatformOverride = TargetPlatform.android; - final RenderView renderView = RenderView( + final renderView = RenderView( view: binding.platformDispatcher.implicitView!, ); binding.addRenderView(renderView); diff --git a/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart b/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart index 87316572325..978eef0cb8e 100644 --- a/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart +++ b/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart @@ -10,12 +10,12 @@ import 'package:url_launcher_platform_interface/url_launcher_platform_interface. import '../mocks/mock_url_launcher_platform.dart'; void main() { - final MockUrlLauncher mock = MockUrlLauncher(); + final mock = MockUrlLauncher(); UrlLauncherPlatform.instance = mock; group('canLaunchUrlString', () { test('handles returning true', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setCanLaunchExpectations(urlString) ..setResponse(true); @@ -26,7 +26,7 @@ void main() { }); test('handles returning false', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setCanLaunchExpectations(urlString) ..setResponse(false); @@ -39,7 +39,7 @@ void main() { group('launchUrlString', () { test('default behavior with web URL', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -56,7 +56,7 @@ void main() { }); test('default behavior with non-web URL', () async { - const String urlString = 'customscheme:foo'; + const urlString = 'customscheme:foo'; mock ..setLaunchExpectations( url: urlString, @@ -73,7 +73,7 @@ void main() { }); test('explicit default launch mode with web URL', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -90,7 +90,7 @@ void main() { }); test('explicit default launch mode with non-web URL', () async { - const String urlString = 'customscheme:foo'; + const urlString = 'customscheme:foo'; mock ..setLaunchExpectations( url: urlString, @@ -107,7 +107,7 @@ void main() { }); test('in-app webview', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -127,7 +127,7 @@ void main() { }); test('external browser', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -147,7 +147,7 @@ void main() { }); test('in-app browser', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -167,7 +167,7 @@ void main() { }); test('in-app browser with title', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -191,7 +191,7 @@ void main() { }); test('external non-browser only', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -214,7 +214,7 @@ void main() { }); test('in-app webview without javascript', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -240,7 +240,7 @@ void main() { }); test('in-app webview without DOM storage', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -266,7 +266,7 @@ void main() { }); test('in-app webview with headers', () async { - const String urlString = 'https://flutter.dev'; + const urlString = 'https://flutter.dev'; mock ..setLaunchExpectations( url: urlString, @@ -300,8 +300,7 @@ void main() { }); test('non-web URL with default options', () async { - const String emailLaunchUrlString = - 'mailto:smith@example.com?subject=Hello'; + const emailLaunchUrlString = 'mailto:smith@example.com?subject=Hello'; mock ..setLaunchExpectations( url: emailLaunchUrlString, @@ -319,7 +318,7 @@ void main() { test('allows non-parsable url', () async { // Not a valid Dart [Uri], but a valid URL on at least some platforms. - const String urlString = + const urlString = 'rdp://full%20address=s:mypc:3389&audiomode=i:2&disable%20themes=i:1'; mock ..setLaunchExpectations( diff --git a/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart b/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart index 0d4ad505715..c2949a5b9cd 100644 --- a/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart +++ b/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart @@ -10,7 +10,7 @@ import 'package:url_launcher_platform_interface/url_launcher_platform_interface. import '../mocks/mock_url_launcher_platform.dart'; void main() { - final MockUrlLauncher mock = MockUrlLauncher(); + final mock = MockUrlLauncher(); UrlLauncherPlatform.instance = mock; test('closeInAppWebView', () async { @@ -281,7 +281,7 @@ void main() { }); test('non-web URL with default options', () async { - final Uri emailLaunchUrl = Uri( + final emailLaunchUrl = Uri( scheme: 'mailto', path: 'smith@example.com', queryParameters: {'subject': 'Hello'}, diff --git a/packages/url_launcher/url_launcher_android/example/integration_test/url_launcher_test.dart b/packages/url_launcher/url_launcher_android/example/integration_test/url_launcher_test.dart index 0321d82c33e..5b129af9645 100644 --- a/packages/url_launcher/url_launcher_android/example/integration_test/url_launcher_test.dart +++ b/packages/url_launcher/url_launcher_android/example/integration_test/url_launcher_test.dart @@ -40,8 +40,8 @@ void main() { }), ); // Https to avoid cleartext warning on android. - final String prefixUrl = 'https://${server.address.address}:${server.port}'; - final String primaryUrl = '$prefixUrl/hello.txt'; + final prefixUrl = 'https://${server.address.address}:${server.port}'; + final primaryUrl = '$prefixUrl/hello.txt'; // Launch a url then close. expect( diff --git a/packages/url_launcher/url_launcher_android/example/lib/main.dart b/packages/url_launcher/url_launcher_android/example/lib/main.dart index 04502c916f1..71c4e5fbfac 100644 --- a/packages/url_launcher/url_launcher_android/example/lib/main.dart +++ b/packages/url_launcher/url_launcher_android/example/lib/main.dart @@ -151,7 +151,7 @@ class _MyHomePageState extends State { Future _makePhoneCall(String phoneNumber) async { // Use `Uri` to ensure that `phoneNumber` is properly URL-encoded. // Just using 'tel:$phoneNumber' would create invalid URLs in some cases. - final Uri launchUri = Uri(scheme: 'tel', path: phoneNumber); + final launchUri = Uri(scheme: 'tel', path: phoneNumber); await launcher.launchUrl(launchUri.toString(), const LaunchOptions()); } @@ -159,7 +159,7 @@ class _MyHomePageState extends State { Widget build(BuildContext context) { // onPressed calls using this URL are not gated on a 'canLaunch' check // because the assumption is that every device can launch a web URL. - const String toLaunch = 'https://www.cylog.org/headers/'; + const toLaunch = 'https://www.cylog.org/headers/'; return Scaffold( appBar: AppBar(title: Text(widget.title)), body: ListView( diff --git a/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart b/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart index 2d3c3da6050..dbe301f799f 100644 --- a/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart +++ b/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart @@ -77,7 +77,7 @@ class UrlLauncherAndroid extends UrlLauncherPlatform { @override Future launchUrl(String url, LaunchOptions options) async { final bool inApp; - bool requireNonBrowser = false; + var requireNonBrowser = false; switch (options.mode) { case PreferredLaunchMode.inAppWebView: case PreferredLaunchMode.inAppBrowserView: diff --git a/packages/url_launcher/url_launcher_android/test/url_launcher_android_test.dart b/packages/url_launcher/url_launcher_android/test/url_launcher_android_test.dart index c8678d927a9..5a561679a2e 100644 --- a/packages/url_launcher/url_launcher_android/test/url_launcher_android_test.dart +++ b/packages/url_launcher/url_launcher_android/test/url_launcher_android_test.dart @@ -22,21 +22,21 @@ void main() { group('canLaunch', () { test('returns true', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool canLaunch = await launcher.canLaunch('http://example.com/'); expect(canLaunch, true); }); test('returns false', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool canLaunch = await launcher.canLaunch('unknown://scheme'); expect(canLaunch, false); }); test('checks a generic URL if an http URL returns false', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool canLaunch = await launcher.canLaunch( 'http://${_FakeUrlLauncherApi.specialHandlerDomain}', ); @@ -45,7 +45,7 @@ void main() { }); test('checks a generic URL if an https URL returns false', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool canLaunch = await launcher.canLaunch( 'https://${_FakeUrlLauncherApi.specialHandlerDomain}', ); @@ -56,7 +56,7 @@ void main() { group('legacy launch without webview', () { test('calls through', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launch( 'http://example.com/', useSafariVC: true, @@ -73,7 +73,7 @@ void main() { }); test('passes headers', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await launcher.launch( 'http://example.com/', useSafariVC: true, @@ -88,7 +88,7 @@ void main() { }); test('passes through no-activity exception', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launch( 'https://noactivity', @@ -104,7 +104,7 @@ void main() { }); test('throws if there is no handling activity', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launch( 'unknown://scheme', @@ -128,7 +128,7 @@ void main() { group('legacy launch with webview', () { test('calls through', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launch( 'http://example.com/', useSafariVC: true, @@ -147,7 +147,7 @@ void main() { }); test('passes enableJavaScript to webview', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await launcher.launch( 'http://example.com/', useSafariVC: true, @@ -162,7 +162,7 @@ void main() { }); test('passes enableDomStorage to webview', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await launcher.launch( 'http://example.com/', useSafariVC: true, @@ -177,7 +177,7 @@ void main() { }); test('passes showTitle to webview', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await launcher.launchUrl( 'http://example.com/', const LaunchOptions( @@ -189,7 +189,7 @@ void main() { }); test('passes through no-activity exception', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launch( 'https://noactivity', @@ -205,7 +205,7 @@ void main() { }); test('throws if there is no handling activity', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launch( 'unknown://scheme', @@ -229,7 +229,7 @@ void main() { group('launch without webview', () { test('calls through', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launchUrl( 'http://example.com/', const LaunchOptions(mode: PreferredLaunchMode.externalApplication), @@ -241,7 +241,7 @@ void main() { }); test('passes headers', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await launcher.launchUrl( 'http://example.com/', const LaunchOptions( @@ -256,7 +256,7 @@ void main() { }); test('passes non-browser flag', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launchUrl( 'http://example.com/', const LaunchOptions( @@ -269,7 +269,7 @@ void main() { }); test('passes through no-activity exception', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launchUrl('https://noactivity', const LaunchOptions()), throwsA(isA()), @@ -277,7 +277,7 @@ void main() { }); test('throws if there is no handling activity', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launchUrl('unknown://scheme', const LaunchOptions()), throwsA( @@ -293,7 +293,7 @@ void main() { group('launch with webview', () { test('calls through', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launchUrl( 'http://example.com/', const LaunchOptions(mode: PreferredLaunchMode.inAppWebView), @@ -307,7 +307,7 @@ void main() { }); test('passes enableJavaScript to webview', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await launcher.launchUrl( 'http://example.com/', const LaunchOptions( @@ -322,7 +322,7 @@ void main() { }); test('passes enableDomStorage to webview', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await launcher.launchUrl( 'http://example.com/', const LaunchOptions( @@ -337,7 +337,7 @@ void main() { }); test('passes through no-activity exception', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launchUrl( 'https://noactivity', @@ -348,7 +348,7 @@ void main() { }); test('throws if there is no handling activity', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); await expectLater( launcher.launchUrl( 'unknown://scheme', @@ -367,7 +367,7 @@ void main() { group('launch with custom tab', () { test('calls through', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launchUrl( 'http://example.com/', const LaunchOptions(mode: PreferredLaunchMode.inAppBrowserView), @@ -380,7 +380,7 @@ void main() { group('launch with platform default', () { test('uses custom tabs for http', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launchUrl( 'http://example.com/', const LaunchOptions(), @@ -391,7 +391,7 @@ void main() { }); test('uses custom tabs for https', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launchUrl( 'https://example.com/', const LaunchOptions(), @@ -402,7 +402,7 @@ void main() { }); test('uses external for other schemes', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); final bool launched = await launcher.launchUrl( 'supportedcustomscheme://example.com/', const LaunchOptions(), @@ -414,7 +414,7 @@ void main() { group('supportsMode', () { test('returns true for platformDefault', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.platformDefault), true, @@ -422,7 +422,7 @@ void main() { }); test('returns true for external application', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.externalApplication), true, @@ -430,7 +430,7 @@ void main() { }); test('returns true for in app web view', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.inAppWebView), true, @@ -438,7 +438,7 @@ void main() { }); test('returns true for in app browser view when available', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); api.hasCustomTabSupport = true; expect( await launcher.supportsMode(PreferredLaunchMode.inAppBrowserView), @@ -447,7 +447,7 @@ void main() { }); test('returns false for in app browser view when not available', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); api.hasCustomTabSupport = false; expect( await launcher.supportsMode(PreferredLaunchMode.inAppBrowserView), @@ -458,7 +458,7 @@ void main() { group('supportsCloseForMode', () { test('returns true for in app web view', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); expect( await launcher.supportsCloseForMode(PreferredLaunchMode.inAppWebView), true, @@ -466,7 +466,7 @@ void main() { }); test('returns false for other modes', () async { - final UrlLauncherAndroid launcher = UrlLauncherAndroid(api: api); + final launcher = UrlLauncherAndroid(api: api); expect( await launcher.supportsCloseForMode( PreferredLaunchMode.externalApplication, diff --git a/packages/url_launcher/url_launcher_ios/example/lib/main.dart b/packages/url_launcher/url_launcher_ios/example/lib/main.dart index ee0a12bf56e..1739c00fa8f 100644 --- a/packages/url_launcher/url_launcher_ios/example/lib/main.dart +++ b/packages/url_launcher/url_launcher_ios/example/lib/main.dart @@ -159,7 +159,7 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { - const String toLaunch = 'https://www.cylog.org/headers/'; + const toLaunch = 'https://www.cylog.org/headers/'; return Scaffold( appBar: AppBar(title: Text(widget.title)), body: ListView( diff --git a/packages/url_launcher/url_launcher_ios/test/url_launcher_ios_test.dart b/packages/url_launcher/url_launcher_ios/test/url_launcher_ios_test.dart index 2acf776aa91..37cb6f32222 100644 --- a/packages/url_launcher/url_launcher_ios/test/url_launcher_ios_test.dart +++ b/packages/url_launcher/url_launcher_ios/test/url_launcher_ios_test.dart @@ -33,7 +33,7 @@ void main() { when( api.canLaunchUrl(_webUrl), ).thenAnswer((_) async => LaunchResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect(await launcher.canLaunch(_webUrl), true); }); @@ -41,7 +41,7 @@ void main() { when( api.canLaunchUrl(_webUrl), ).thenAnswer((_) async => LaunchResult.failure); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect(await launcher.canLaunch(_webUrl), false); }); @@ -49,7 +49,7 @@ void main() { when( api.canLaunchUrl(_webUrl), ).thenAnswer((_) async => LaunchResult.invalidUrl); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); await expectLater( launcher.canLaunch(_webUrl), throwsA( @@ -68,7 +68,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.launch( _webUrl, @@ -88,7 +88,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.failure); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.launch( _webUrl, @@ -108,7 +108,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.invalidUrl); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); await expectLater( launcher.launch( _webUrl, @@ -133,7 +133,7 @@ void main() { when( api.openUrlInSafariViewController(_webUrl), ).thenAnswer((_) async => InAppLoadResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.launch( _webUrl, @@ -153,7 +153,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.launch( _webUrl, @@ -173,7 +173,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.launch( _webUrl, @@ -191,7 +191,7 @@ void main() { }); test('closeWebView calls through', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); await launcher.closeWebView(); verify(api.closeSafariViewController()).called(1); }); @@ -201,7 +201,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); final bool launched = await launcher.launchUrl( _webUrl, const LaunchOptions(mode: PreferredLaunchMode.externalApplication), @@ -214,7 +214,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.invalidUrl); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); await expectLater( launcher.launchUrl( _webUrl, @@ -236,7 +236,7 @@ void main() { when( api.openUrlInSafariViewController(_webUrl), ).thenAnswer((_) async => InAppLoadResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); final bool launched = await launcher.launchUrl( _webUrl, const LaunchOptions(mode: PreferredLaunchMode.inAppWebView), @@ -249,7 +249,7 @@ void main() { when( api.openUrlInSafariViewController(_webUrl), ).thenAnswer((_) async => InAppLoadResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); final bool launched = await launcher.launchUrl( _webUrl, const LaunchOptions(mode: PreferredLaunchMode.inAppBrowserView), @@ -262,7 +262,7 @@ void main() { when( api.openUrlInSafariViewController(_webUrl), ).thenAnswer((_) async => InAppLoadResult.invalidUrl); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); await expectLater( launcher.launchUrl( _webUrl, @@ -282,7 +282,7 @@ void main() { when( api.openUrlInSafariViewController(_webUrl), ).thenAnswer((_) async => InAppLoadResult.failedToLoad); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); await expectLater( launcher.launchUrl( _webUrl, @@ -304,7 +304,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); final bool launched = await launcher.launchUrl( _webUrl, const LaunchOptions( @@ -319,7 +319,7 @@ void main() { when( api.launchUrl(_webUrl, any), ).thenAnswer((_) async => LaunchResult.invalidUrl); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); await expectLater( launcher.launchUrl( _webUrl, @@ -340,11 +340,11 @@ void main() { group('launch with platform default', () { test('uses Safari view controller for http', () async { - const String httpUrl = 'http://example.com/'; + const httpUrl = 'http://example.com/'; when( api.openUrlInSafariViewController(httpUrl), ).thenAnswer((_) async => InAppLoadResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); final bool launched = await launcher.launchUrl( httpUrl, const LaunchOptions(), @@ -354,11 +354,11 @@ void main() { }); test('uses Safari view controller for https', () async { - const String httpsUrl = 'https://example.com/'; + const httpsUrl = 'https://example.com/'; when( api.openUrlInSafariViewController(httpsUrl), ).thenAnswer((_) async => InAppLoadResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); final bool launched = await launcher.launchUrl( httpsUrl, const LaunchOptions(), @@ -368,11 +368,11 @@ void main() { }); test('uses standard external for other schemes', () async { - const String nonWebUrl = 'supportedcustomscheme://example.com/'; + const nonWebUrl = 'supportedcustomscheme://example.com/'; when( api.launchUrl(nonWebUrl, any), ).thenAnswer((_) async => LaunchResult.success); - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); final bool launched = await launcher.launchUrl( nonWebUrl, const LaunchOptions(), @@ -384,7 +384,7 @@ void main() { group('supportsMode', () { test('returns true for platformDefault', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.platformDefault), true, @@ -392,7 +392,7 @@ void main() { }); test('returns true for external application', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.externalApplication), true, @@ -400,7 +400,7 @@ void main() { }); test('returns true for external non-browser application', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsMode( PreferredLaunchMode.externalNonBrowserApplication, @@ -410,7 +410,7 @@ void main() { }); test('returns true for in app web view', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.inAppWebView), true, @@ -418,7 +418,7 @@ void main() { }); test('returns true for in app browser view', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.inAppBrowserView), true, @@ -428,7 +428,7 @@ void main() { group('supportsCloseForMode', () { test('returns true for in app web view', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsCloseForMode(PreferredLaunchMode.inAppWebView), true, @@ -436,7 +436,7 @@ void main() { }); test('returns true for in app browser view', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsCloseForMode( PreferredLaunchMode.inAppBrowserView, @@ -446,7 +446,7 @@ void main() { }); test('returns false for other modes', () async { - final UrlLauncherIOS launcher = UrlLauncherIOS(api: api); + final launcher = UrlLauncherIOS(api: api); expect( await launcher.supportsCloseForMode( PreferredLaunchMode.externalApplication, diff --git a/packages/url_launcher/url_launcher_linux/example/lib/main.dart b/packages/url_launcher/url_launcher_linux/example/lib/main.dart index e8d91be181d..8ca238f3f51 100644 --- a/packages/url_launcher/url_launcher_linux/example/lib/main.dart +++ b/packages/url_launcher/url_launcher_linux/example/lib/main.dart @@ -62,7 +62,7 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { - const String toLaunch = 'https://www.cylog.org/headers/'; + const toLaunch = 'https://www.cylog.org/headers/'; return Scaffold( appBar: AppBar(title: Text(widget.title)), body: ListView( diff --git a/packages/url_launcher/url_launcher_linux/test/url_launcher_linux_test.dart b/packages/url_launcher/url_launcher_linux/test/url_launcher_linux_test.dart index cc7a17b70dc..8b6ee6e2728 100644 --- a/packages/url_launcher/url_launcher_linux/test/url_launcher_linux_test.dart +++ b/packages/url_launcher/url_launcher_linux/test/url_launcher_linux_test.dart @@ -16,8 +16,8 @@ void main() { }); test('canLaunch passes true', () async { - final _FakeUrlLauncherApi api = _FakeUrlLauncherApi(); - final UrlLauncherLinux launcher = UrlLauncherLinux(api: api); + final api = _FakeUrlLauncherApi(); + final launcher = UrlLauncherLinux(api: api); final bool canLaunch = await launcher.canLaunch('http://example.com/'); @@ -25,8 +25,8 @@ void main() { }); test('canLaunch passes false', () async { - final _FakeUrlLauncherApi api = _FakeUrlLauncherApi(canLaunch: false); - final UrlLauncherLinux launcher = UrlLauncherLinux(api: api); + final api = _FakeUrlLauncherApi(canLaunch: false); + final launcher = UrlLauncherLinux(api: api); final bool canLaunch = await launcher.canLaunch('http://example.com/'); @@ -34,9 +34,9 @@ void main() { }); test('launch', () async { - final _FakeUrlLauncherApi api = _FakeUrlLauncherApi(); - final UrlLauncherLinux launcher = UrlLauncherLinux(api: api); - const String url = 'http://example.com/'; + final api = _FakeUrlLauncherApi(); + final launcher = UrlLauncherLinux(api: api); + const url = 'http://example.com/'; final bool launched = await launcher.launch( url, @@ -53,8 +53,8 @@ void main() { }); test('launch should throw if platform returns an error', () async { - final _FakeUrlLauncherApi api = _FakeUrlLauncherApi(error: 'An error'); - final UrlLauncherLinux launcher = UrlLauncherLinux(api: api); + final api = _FakeUrlLauncherApi(error: 'An error'); + final launcher = UrlLauncherLinux(api: api); await expectLater( launcher.launch( @@ -80,9 +80,9 @@ void main() { group('launchUrl', () { test('passes URL', () async { - final _FakeUrlLauncherApi api = _FakeUrlLauncherApi(); - final UrlLauncherLinux launcher = UrlLauncherLinux(api: api); - const String url = 'http://example.com/'; + final api = _FakeUrlLauncherApi(); + final launcher = UrlLauncherLinux(api: api); + const url = 'http://example.com/'; final bool launched = await launcher.launchUrl( url, @@ -94,8 +94,8 @@ void main() { }); test('throws if platform returns an error', () async { - final _FakeUrlLauncherApi api = _FakeUrlLauncherApi(error: 'An error'); - final UrlLauncherLinux launcher = UrlLauncherLinux(api: api); + final api = _FakeUrlLauncherApi(error: 'An error'); + final launcher = UrlLauncherLinux(api: api); await expectLater( launcher.launchUrl('http://example.com/', const LaunchOptions()), @@ -114,7 +114,7 @@ void main() { group('supportsMode', () { test('returns true for platformDefault', () async { - final UrlLauncherLinux launcher = UrlLauncherLinux(); + final launcher = UrlLauncherLinux(); expect( await launcher.supportsMode(PreferredLaunchMode.platformDefault), true, @@ -122,7 +122,7 @@ void main() { }); test('returns true for external application', () async { - final UrlLauncherLinux launcher = UrlLauncherLinux(); + final launcher = UrlLauncherLinux(); expect( await launcher.supportsMode(PreferredLaunchMode.externalApplication), true, @@ -130,7 +130,7 @@ void main() { }); test('returns false for other modes', () async { - final UrlLauncherLinux launcher = UrlLauncherLinux(); + final launcher = UrlLauncherLinux(); expect( await launcher.supportsMode( PreferredLaunchMode.externalNonBrowserApplication, @@ -149,7 +149,7 @@ void main() { }); test('supportsCloseForMode returns false', () async { - final UrlLauncherLinux launcher = UrlLauncherLinux(); + final launcher = UrlLauncherLinux(); expect( await launcher.supportsCloseForMode( PreferredLaunchMode.platformDefault, diff --git a/packages/url_launcher/url_launcher_macos/example/lib/main.dart b/packages/url_launcher/url_launcher_macos/example/lib/main.dart index e8d91be181d..8ca238f3f51 100644 --- a/packages/url_launcher/url_launcher_macos/example/lib/main.dart +++ b/packages/url_launcher/url_launcher_macos/example/lib/main.dart @@ -62,7 +62,7 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { - const String toLaunch = 'https://www.cylog.org/headers/'; + const toLaunch = 'https://www.cylog.org/headers/'; return Scaffold( appBar: AppBar(title: Text(widget.title)), body: ListView( diff --git a/packages/url_launcher/url_launcher_macos/test/url_launcher_macos_test.dart b/packages/url_launcher/url_launcher_macos/test/url_launcher_macos_test.dart index 2a81a6f9364..d1fb014975a 100644 --- a/packages/url_launcher/url_launcher_macos/test/url_launcher_macos_test.dart +++ b/packages/url_launcher/url_launcher_macos/test/url_launcher_macos_test.dart @@ -23,17 +23,17 @@ void main() { group('canLaunch', () { test('success', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect(await launcher.canLaunch('http://example.com/'), true); }); test('failure', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect(await launcher.canLaunch('unknown://scheme'), false); }); test('invalid URL returns a PlatformException', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); await expectLater( launcher.canLaunch('invalid://u r l'), throwsA(isA()), @@ -41,7 +41,7 @@ void main() { }); test('passes unexpected PlatformExceptions through', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); await expectLater( launcher.canLaunch('unexpectedthrow://someexception'), throwsA(isA()), @@ -51,7 +51,7 @@ void main() { group('launch', () { test('success', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect( await launcher.launch( 'http://example.com/', @@ -67,7 +67,7 @@ void main() { }); test('failure', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect( await launcher.launch( 'unknown://scheme', @@ -83,7 +83,7 @@ void main() { }); test('invalid URL returns a PlatformException', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); await expectLater( launcher.launch( 'invalid://u r l', @@ -99,7 +99,7 @@ void main() { }); test('passes unexpected PlatformExceptions through', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); await expectLater( launcher.launch( 'unexpectedthrow://someexception', @@ -117,7 +117,7 @@ void main() { group('supportsMode', () { test('returns true for platformDefault', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.platformDefault), true, @@ -125,7 +125,7 @@ void main() { }); test('returns true for external application', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.externalApplication), true, @@ -133,7 +133,7 @@ void main() { }); test('returns false for other modes', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect( await launcher.supportsMode( PreferredLaunchMode.externalNonBrowserApplication, @@ -152,7 +152,7 @@ void main() { }); test('supportsCloseForMode returns false', () async { - final UrlLauncherMacOS launcher = UrlLauncherMacOS(api: api); + final launcher = UrlLauncherMacOS(api: api); expect( await launcher.supportsCloseForMode( PreferredLaunchMode.platformDefault, diff --git a/packages/url_launcher/url_launcher_platform_interface/lib/link.dart b/packages/url_launcher/url_launcher_platform_interface/lib/link.dart index 421304e65e2..028a7b1e7a4 100644 --- a/packages/url_launcher/url_launcher_platform_interface/lib/link.dart +++ b/packages/url_launcher/url_launcher_platform_interface/lib/link.dart @@ -84,7 +84,7 @@ abstract class LinkInfo { /// Returns the raw data returned by the framework. // TODO(ianh): Remove the first argument. Future pushRouteNameToFramework(Object? _, String routeName) { - final Completer completer = Completer(); + final completer = Completer(); SystemNavigator.routeInformationUpdated(uri: Uri.parse(routeName)); ui.channelBuffers.push( 'flutter/navigation', diff --git a/packages/url_launcher/url_launcher_platform_interface/test/launch_options_test.dart b/packages/url_launcher/url_launcher_platform_interface/test/launch_options_test.dart index 546de38e17e..76a01d89c1e 100644 --- a/packages/url_launcher/url_launcher_platform_interface/test/launch_options_test.dart +++ b/packages/url_launcher/url_launcher_platform_interface/test/launch_options_test.dart @@ -19,10 +19,9 @@ void main() { test( 'passing non-default InAppBrowserConfiguration to LaunchOptions works', () { - const InAppBrowserConfiguration browserConfiguration = - InAppBrowserConfiguration(showTitle: true); + const browserConfiguration = InAppBrowserConfiguration(showTitle: true); - const LaunchOptions launchOptions = LaunchOptions( + const launchOptions = LaunchOptions( browserConfiguration: browserConfiguration, ); diff --git a/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart b/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart index 0b405e8e02a..05ead0c0f27 100644 --- a/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart +++ b/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart @@ -35,7 +35,7 @@ void main() { }); test('Can be mocked with `implements`', () { - final UrlLauncherPlatformMock mock = UrlLauncherPlatformMock(); + final mock = UrlLauncherPlatformMock(); UrlLauncherPlatform.instance = mock; }); @@ -45,10 +45,8 @@ void main() { }); group('$MethodChannelUrlLauncher', () { - const MethodChannel channel = MethodChannel( - 'plugins.flutter.io/url_launcher', - ); - final List log = []; + const channel = MethodChannel('plugins.flutter.io/url_launcher'); + final log = []; TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMethodCallHandler(channel, (MethodCall methodCall) async { log.add(methodCall); @@ -58,7 +56,7 @@ void main() { return null; }); - final MethodChannelUrlLauncher launcher = MethodChannelUrlLauncher(); + final launcher = MethodChannelUrlLauncher(); tearDown(() { log.clear(); diff --git a/packages/url_launcher/url_launcher_platform_interface/test/url_launcher_platform_test.dart b/packages/url_launcher/url_launcher_platform_interface/test/url_launcher_platform_test.dart index 7032ee21b2f..9aa4a8bc896 100644 --- a/packages/url_launcher/url_launcher_platform_interface/test/url_launcher_platform_test.dart +++ b/packages/url_launcher/url_launcher_platform_interface/test/url_launcher_platform_test.dart @@ -47,7 +47,7 @@ void main() { test( 'launchUrl calls through to launch with default options for web URL', () async { - final CapturingUrlLauncher launcher = CapturingUrlLauncher(); + final launcher = CapturingUrlLauncher(); await launcher.launchUrl('https://flutter.dev', const LaunchOptions()); @@ -65,7 +65,7 @@ void main() { test( 'launchUrl calls through to launch with default options for non-web URL', () async { - final CapturingUrlLauncher launcher = CapturingUrlLauncher(); + final launcher = CapturingUrlLauncher(); await launcher.launchUrl('tel:123456789', const LaunchOptions()); @@ -81,7 +81,7 @@ void main() { ); test('launchUrl calls through to launch with universal links', () async { - final CapturingUrlLauncher launcher = CapturingUrlLauncher(); + final launcher = CapturingUrlLauncher(); await launcher.launchUrl( 'https://flutter.dev', @@ -103,7 +103,7 @@ void main() { test( 'launchUrl calls through to launch with all non-default options', () async { - final CapturingUrlLauncher launcher = CapturingUrlLauncher(); + final launcher = CapturingUrlLauncher(); await launcher.launchUrl( 'https://flutter.dev', diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index d50ec191e71..3958e085345 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -19,7 +19,7 @@ import 'package:web/web.dart' as html; void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - final List pushedRouteNames = []; + final pushedRouteNames = []; late Future Function(String) originalPushFunction; setUp(() { @@ -176,7 +176,7 @@ void main() { testWidgets('can be created and disposed', (WidgetTester tester) async { final Uri uri = Uri.parse('http://foobar'); - const int itemCount = 500; + const itemCount = 500; await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1308,10 +1308,10 @@ void main() { } List _findAllAnchors() { - final List foundAnchors = []; + final foundAnchors = []; final html.NodeList anchors = html.document.querySelectorAll('a'); - for (int i = 0; i < anchors.length; i++) { - final html.Element anchor = anchors.item(i)! as html.Element; + for (var i = 0; i < anchors.length; i++) { + final anchor = anchors.item(i)! as html.Element; if (anchor.hasProperty(linkViewIdProperty.toJS).toDart) { foundAnchors.add(anchor); } @@ -1331,7 +1331,7 @@ html.MouseEvent _simulateClick(html.Element target, {bool metaKey = false}) { // (html.Event e) { // e.preventDefault(); // }.toJS); - final html.MouseEvent mouseEvent = html.MouseEvent( + final mouseEvent = html.MouseEvent( 'click', html.MouseEventInit(bubbles: true, cancelable: true, metaKey: metaKey), ); @@ -1343,7 +1343,7 @@ html.KeyboardEvent _simulateKeydown( html.Element target, { bool metaKey = false, }) { - final html.KeyboardEvent keydownEvent = html.KeyboardEvent( + final keydownEvent = html.KeyboardEvent( 'keydown', html.KeyboardEventInit( bubbles: true, diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/url_launcher_web_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/url_launcher_web_test.dart index ef887d61a68..9c1200eb2bc 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/url_launcher_web_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/url_launcher_web_test.dart @@ -41,7 +41,7 @@ void main() { mockNavigator = MockNavigator(); jsMockWindow = createJSInteropWrapper(mockWindow) as html.Window; - final html.Navigator jsMockNavigator = + final jsMockNavigator = createJSInteropWrapper(mockNavigator) as html.Navigator; when(mockWindow.navigator).thenReturn(jsMockNavigator); diff --git a/packages/url_launcher/url_launcher_web/lib/src/link.dart b/packages/url_launcher/url_launcher_web/lib/src/link.dart index 502157c0d4d..77630cfe6bb 100644 --- a/packages/url_launcher/url_launcher_web/lib/src/link.dart +++ b/packages/url_launcher/url_launcher_web/lib/src/link.dart @@ -346,10 +346,7 @@ class LinkViewController extends PlatformViewController { String semanticsIdentifier, ) { final int viewId = params.id; - final LinkViewController controller = LinkViewController( - viewId, - semanticsIdentifier, - ); + final controller = LinkViewController(viewId, semanticsIdentifier); controller._initialize().then((_) { /// Because _initialize is async, it can happen that [LinkViewController.dispose] /// may get called before this `then` callback. @@ -523,10 +520,7 @@ class LinkViewController extends PlatformViewController { _element.setAttribute('aria-hidden', 'true'); _element.setAttribute('tabIndex', '-1'); - final Map args = { - 'id': viewId, - 'viewType': linkViewType, - }; + final args = {'id': viewId, 'viewType': linkViewType}; await SystemChannels.platform_views.invokeMethod('create', args); } @@ -560,7 +554,7 @@ class LinkViewController extends PlatformViewController { // Internal links are pushed through Flutter's navigation system instead of // letting the browser handle it. mouseEvent?.preventDefault(); - final String routeName = controller._uri.toString(); + final routeName = controller._uri.toString(); pushRouteToFrameworkFunction(routeName); } diff --git a/packages/url_launcher/url_launcher_windows/example/lib/main.dart b/packages/url_launcher/url_launcher_windows/example/lib/main.dart index e8d91be181d..8ca238f3f51 100644 --- a/packages/url_launcher/url_launcher_windows/example/lib/main.dart +++ b/packages/url_launcher/url_launcher_windows/example/lib/main.dart @@ -62,7 +62,7 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { - const String toLaunch = 'https://www.cylog.org/headers/'; + const toLaunch = 'https://www.cylog.org/headers/'; return Scaffold( appBar: AppBar(title: Text(widget.title)), body: ListView( diff --git a/packages/url_launcher/url_launcher_windows/test/url_launcher_windows_test.dart b/packages/url_launcher/url_launcher_windows/test/url_launcher_windows_test.dart index c8bd5a97a25..1140cb25214 100644 --- a/packages/url_launcher/url_launcher_windows/test/url_launcher_windows_test.dart +++ b/packages/url_launcher/url_launcher_windows/test/url_launcher_windows_test.dart @@ -100,7 +100,7 @@ void main() { group('supportsMode', () { test('returns true for platformDefault', () async { - final UrlLauncherWindows launcher = UrlLauncherWindows(api: api); + final launcher = UrlLauncherWindows(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.platformDefault), true, @@ -108,7 +108,7 @@ void main() { }); test('returns true for external application', () async { - final UrlLauncherWindows launcher = UrlLauncherWindows(api: api); + final launcher = UrlLauncherWindows(api: api); expect( await launcher.supportsMode(PreferredLaunchMode.externalApplication), true, @@ -116,7 +116,7 @@ void main() { }); test('returns false for other modes', () async { - final UrlLauncherWindows launcher = UrlLauncherWindows(api: api); + final launcher = UrlLauncherWindows(api: api); expect( await launcher.supportsMode( PreferredLaunchMode.externalNonBrowserApplication, @@ -135,7 +135,7 @@ void main() { }); test('supportsCloseForMode returns false', () async { - final UrlLauncherWindows launcher = UrlLauncherWindows(api: api); + final launcher = UrlLauncherWindows(api: api); expect( await launcher.supportsCloseForMode(PreferredLaunchMode.platformDefault), false, diff --git a/packages/vector_graphics/example/lib/main.dart b/packages/vector_graphics/example/lib/main.dart index e204fa92483..6e147a9da47 100644 --- a/packages/vector_graphics/example/lib/main.dart +++ b/packages/vector_graphics/example/lib/main.dart @@ -50,7 +50,7 @@ class NetworkSvgLoader extends BytesLoader { return compute( (String svgUrl) async { final http.Response request = await http.get(Uri.parse(svgUrl)); - final TimelineTask task = TimelineTask()..start('encodeSvg'); + final task = TimelineTask()..start('encodeSvg'); final Uint8List compiledBytes = encodeSvg( xml: request.body, debugName: svgUrl, diff --git a/packages/vector_graphics/lib/src/listener.dart b/packages/vector_graphics/lib/src/listener.dart index eb32775386d..7f5f2b8fd7a 100644 --- a/packages/vector_graphics/lib/src/listener.dart +++ b/packages/vector_graphics/lib/src/listener.dart @@ -68,7 +68,7 @@ Future decodeVectorGraphics( // real async work gets scheduled in the root zone so that it will not get // blocked by microtasks in the fake async zone, but do not unnecessarily // create zones outside of tests. - bool useZone = false; + var useZone = false; assert(() { _debugLastTextDirection = textDirection; _debugLastLocale = locale; @@ -80,14 +80,13 @@ Future decodeVectorGraphics( @pragma('vm:prefer-inline') Future process() { - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener( - id: loader.hashCode, - locale: locale, - textDirection: textDirection, - clipViewbox: clipViewbox, - onError: onError, - ); + final listener = FlutterVectorGraphicsListener( + id: loader.hashCode, + locale: locale, + textDirection: textDirection, + clipViewbox: clipViewbox, + onError: onError, + ); DecodeResponse response = _codec.decode(data, listener); if (response.complete) { return SynchronousFuture(listener.toPicture()); @@ -326,7 +325,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { if (paintId != null) { paint!.shader = _patterns[patternId]!.shader; } else { - final Paint newPaint = Paint(); + final newPaint = Paint(); newPaint.shader = _patterns[patternId]!.shader; paint = newPaint; } @@ -343,7 +342,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { @override void onDrawVertices(Float32List vertices, Uint16List? indices, int? paintId) { - final Vertices vertexData = Vertices.raw( + final vertexData = Vertices.raw( VertexMode.triangles, vertices, indices: indices, @@ -369,7 +368,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { required int? shaderId, }) { assert(_paints.length == id, 'Expect ID to be ${_paints.length}'); - final Paint paint = Paint()..color = Color(color); + final paint = Paint()..color = Color(color); if (blendMode != 0) { paint.blendMode = BlendMode.values[blendMode]; } @@ -434,7 +433,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { assert(_currentPath == null); assert(_paths.length == id, 'Expected Id to be $id'); - final Path path = Path(); + final path = Path(); path.fillType = PathFillType.values[fillType]; _paths.add(path); _currentPath = path; @@ -498,16 +497,15 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { PictureRecorder? patternRecorder, Canvas canvas, ) { - final FlutterVectorGraphicsListener patternListener = - FlutterVectorGraphicsListener._( - 0, - _pictureFactory, - patternRecorder!, - canvas, - _locale, - _textDirection, - _clipViewbox, - ); + final patternListener = FlutterVectorGraphicsListener._( + 0, + _pictureFactory, + patternRecorder!, + canvas, + _locale, + _textDirection, + _clipViewbox, + ); patternListener._size = Size( currentPattern!._width, @@ -521,7 +519,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { currentPattern._height.round(), ); - final ImageShader pattern = ImageShader( + final pattern = ImageShader( image, TileMode.repeated, TileMode.repeated, @@ -545,12 +543,12 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { ) { assert(_shaders.length == id); - final Offset from = Offset(fromX, fromY); - final Offset to = Offset(toX, toY); - final List colorValues = [ + final from = Offset(fromX, fromY); + final to = Offset(toX, toY); + final colorValues = [ for (int i = 0; i < colors.length; i++) Color(colors[i]), ]; - final Gradient gradient = Gradient.linear( + final gradient = Gradient.linear( from, to, colorValues, @@ -575,13 +573,13 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { ) { assert(_shaders.length == id); - final Offset center = Offset(centerX, centerY); + final center = Offset(centerX, centerY); final Offset? focal = focalX == null ? null : Offset(focalX, focalY!); - final List colorValues = [ + final colorValues = [ for (int i = 0; i < colors.length; i++) Color(colors[i]), ]; final bool hasFocal = focal != center && focal != null; - final Gradient gradient = Gradient.radial( + final gradient = Gradient.radial( center, radius, colorValues, @@ -613,7 +611,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { int decorationColor, int id, ) { - final List decorations = []; + final decorations = []; if (decoration & kUnderlineMask != 0) { decorations.add(TextDecoration.underline); } @@ -694,7 +692,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { if (patternId != null) { paint.shader = _patterns[patternId]!.shader; } - final ParagraphBuilder builder = ParagraphBuilder( + final builder = ParagraphBuilder( ParagraphStyle(textDirection: _textDirection), ); builder.pushStyle( @@ -753,7 +751,7 @@ class FlutterVectorGraphicsListener extends VectorGraphicsCodecListener { Uint8List data, { VectorGraphicsErrorListener? onError, }) { - final Completer completer = Completer(); + final completer = Completer(); _pendingImages.add(completer.future); final ImageStreamCompleter? cacheCompleter = imageCache.putIfAbsent( _createImageKey(imageId, format), diff --git a/packages/vector_graphics/lib/src/render_object_selection.dart b/packages/vector_graphics/lib/src/render_object_selection.dart index f500027d74f..b32c5052462 100644 --- a/packages/vector_graphics/lib/src/render_object_selection.dart +++ b/packages/vector_graphics/lib/src/render_object_selection.dart @@ -20,7 +20,7 @@ bool useHtmlRenderObject() { return _cachedUseHtmlRenderObject!; } - final ui.PictureRecorder recorder = ui.PictureRecorder(); + final recorder = ui.PictureRecorder(); ui.Canvas(recorder); final ui.Picture picture = recorder.endRecording(); ui.Image? image; diff --git a/packages/vector_graphics/lib/src/render_vector_graphic.dart b/packages/vector_graphics/lib/src/render_vector_graphic.dart index 78e8bd6c621..2c2f3d79344 100644 --- a/packages/vector_graphics/lib/src/render_vector_graphic.dart +++ b/packages/vector_graphics/lib/src/render_vector_graphic.dart @@ -207,8 +207,8 @@ class RenderVectorGraphic extends RenderBox { // arguments of Picture.toImage do not control the resolution that the // picture is rendered at, instead it controls how much of the picture to // capture in a raster. - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final ui.Canvas canvas = ui.Canvas(recorder); + final recorder = ui.PictureRecorder(); + final canvas = ui.Canvas(recorder); canvas.scale(scaleFactor); canvas.drawPicture(info.picture); @@ -240,7 +240,7 @@ class RenderVectorGraphic extends RenderBox { .round(); final int scaledHeight = (pictureInfo.size.height * devicePixelRatio / scale).round(); - final RasterKey key = RasterKey(assetKey, scaledWidth, scaledHeight); + final key = RasterKey(assetKey, scaledWidth, scaledHeight); // First check if the raster is available synchronously. This also handles // a no-op change that would resolve to an identical picture. @@ -313,18 +313,13 @@ class RenderVectorGraphic extends RenderBox { // Use `FilterQuality.low` to scale the image, which corresponds to // bilinear interpolation. - final Paint colorPaint = Paint()..filterQuality = ui.FilterQuality.low; + final colorPaint = Paint()..filterQuality = ui.FilterQuality.low; if (colorFilter != null) { colorPaint.colorFilter = colorFilter; } colorPaint.color = Color.fromRGBO(0, 0, 0, _opacityValue); - final Rect src = ui.Rect.fromLTWH( - 0, - 0, - width.toDouble(), - height.toDouble(), - ); - final Rect dst = ui.Rect.fromLTWH( + final src = ui.Rect.fromLTWH(0, 0, width.toDouble(), height.toDouble()); + final dst = ui.Rect.fromLTWH( offset.dx, offset.dy, pictureInfo.size.width, @@ -433,7 +428,7 @@ class RenderPictureVectorGraphic extends RenderBox { return; } - final Paint colorPaint = Paint(); + final colorPaint = Paint(); if (colorFilter != null) { colorPaint.colorFilter = colorFilter; } diff --git a/packages/vector_graphics/lib/src/vector_graphics.dart b/packages/vector_graphics/lib/src/vector_graphics.dart index c5ae25d7ce3..c5a550a6959 100644 --- a/packages/vector_graphics/lib/src/vector_graphics.dart +++ b/packages/vector_graphics/lib/src/vector_graphics.dart @@ -397,7 +397,7 @@ class _VectorGraphicWidgetState extends State { Future _loadAssetBytes() async { // First check if we have an avilable picture and use this immediately. final Object loaderKey = widget.loader.cacheKey(context); - final _PictureKey key = _PictureKey( + final key = _PictureKey( loaderKey, locale, textDirection, @@ -465,7 +465,7 @@ class _VectorGraphicWidgetState extends State { assert(width != null && height != null); - double scale = 1.0; + var scale = 1.0; scale = math.min( pictureInfo.size.width / width!, pictureInfo.size.height / height!, diff --git a/packages/vector_graphics/test/caching_test.dart b/packages/vector_graphics/test/caching_test.dart index cd6ef083b43..33b0a8af418 100644 --- a/packages/vector_graphics/test/caching_test.dart +++ b/packages/vector_graphics/test/caching_test.dart @@ -21,7 +21,7 @@ void main() { testWidgets( 'Does not reload identical bytes when forced to re-create state object', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -55,7 +55,7 @@ void main() { testWidgets('Only loads bytes once for a repeated vg', ( WidgetTester tester, ) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( DefaultAssetBundle( @@ -113,8 +113,8 @@ void main() { testWidgets('Does not cache bytes that come from different asset bundles', ( WidgetTester tester, ) async { - final TestAssetBundle testBundleA = TestAssetBundle(); - final TestAssetBundle testBundleB = TestAssetBundle(); + final testBundleA = TestAssetBundle(); + final testBundleB = TestAssetBundle(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -147,7 +147,7 @@ void main() { }); testWidgets('reload bytes when locale changes', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -194,7 +194,7 @@ void main() { testWidgets('reload bytes when text direction changes', ( WidgetTester tester, ) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -231,7 +231,7 @@ void main() { testWidgets( 'Cache is purged immediately after last VectorGraphic removed from tree', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -269,11 +269,9 @@ void main() { testWidgets('Bytes loading that becomes stale does not populate the cache', ( WidgetTester tester, ) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); final GlobalKey key = GlobalKey(); - final ControlledAssetBytesLoader loader = ControlledAssetBytesLoader( - 'foo.svg', - ); + final loader = ControlledAssetBytesLoader('foo.svg'); await tester.pumpWidget( DefaultAssetBundle( @@ -323,7 +321,7 @@ class TestAssetBundle extends Fake implements AssetBundle { @override Future load(String key) async { loadKeys.add(key); - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); codec.writeSize(buffer, 100, 200); return buffer.done(); } diff --git a/packages/vector_graphics/test/listener_test.dart b/packages/vector_graphics/test/listener_test.dart index dfc7943fa26..72330c7dd00 100644 --- a/packages/vector_graphics/test/listener_test.dart +++ b/packages/vector_graphics/test/listener_test.dart @@ -15,13 +15,13 @@ import 'package:vector_graphics_compiler/vector_graphics_compiler.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); - const String svgString = ''' + const svgString = ''' '''; - const String bluePngPixel = + const bluePngPixel = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPj/HwADBwIAMCbHYQAAAABJRU5ErkJggg=='; late ByteData vectorGraphicBuffer; @@ -73,9 +73,8 @@ void main() { }, skip: kIsWeb); test('Scales image correctly', () async { - final TestPictureFactory factory = TestPictureFactory(); - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener(pictureFactory: factory); + final factory = TestPictureFactory(); + final listener = FlutterVectorGraphicsListener(pictureFactory: factory); listener.onImage(0, 0, base64.decode(bluePngPixel)); await listener.waitForImageDecode(); listener.onDrawImage(0, 10, 10, 30, 30, null); @@ -90,9 +89,8 @@ void main() { }); test('Pattern start clips the new canvas', () async { - final TestPictureFactory factory = TestPictureFactory(); - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener(pictureFactory: factory); + final factory = TestPictureFactory(); + final listener = FlutterVectorGraphicsListener(pictureFactory: factory); listener.onPatternStart(0, 0, 0, 100, 100, Matrix4.identity().storage); final Invocation clipRect = factory.fakeCanvases.last.invocations.single; expect(clipRect.isMethod, true); @@ -104,9 +102,8 @@ void main() { }); test('Text position is respected', () async { - final TestPictureFactory factory = TestPictureFactory(); - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener(pictureFactory: factory); + final factory = TestPictureFactory(); + final listener = FlutterVectorGraphicsListener(pictureFactory: factory); listener.onPaintObject( color: const ui.Color(0xff000000).toARGB32(), strokeCap: null, @@ -137,9 +134,8 @@ void main() { }); test('should assert when imageId is invalid', () async { - final TestPictureFactory factory = TestPictureFactory(); - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener(pictureFactory: factory); + final factory = TestPictureFactory(); + final listener = FlutterVectorGraphicsListener(pictureFactory: factory); listener.onImage(0, 0, base64.decode(bluePngPixel)); await listener.waitForImageDecode(); expect( diff --git a/packages/vector_graphics/test/render_vector_graphics_test.dart b/packages/vector_graphics/test/render_vector_graphics_test.dart index 7c2479ece27..2523f2a7641 100644 --- a/packages/vector_graphics/test/render_vector_graphics_test.dart +++ b/packages/vector_graphics/test/render_vector_graphics_test.dart @@ -27,7 +27,7 @@ void main() { }); setUpAll(() async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); const VectorGraphicsCodec().writeSize(buffer, 50, 50); pictureInfo = await decodeVectorGraphics( @@ -40,7 +40,7 @@ void main() { }); test('Rasterizes a picture to a draw image call', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -49,7 +49,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); // When the rasterization is finished, it marks self as needing paint. @@ -61,7 +61,7 @@ void main() { }); test('Multiple render objects with the same scale share a raster', () async { - final RenderVectorGraphic renderVectorGraphicA = RenderVectorGraphic( + final renderVectorGraphicA = RenderVectorGraphic( pictureInfo, 'test', null, @@ -69,7 +69,7 @@ void main() { null, 1.0, ); - final RenderVectorGraphic renderVectorGraphicB = RenderVectorGraphic( + final renderVectorGraphicB = RenderVectorGraphic( pictureInfo, 'test', null, @@ -79,7 +79,7 @@ void main() { ); renderVectorGraphicA.layout(BoxConstraints.tight(const Size(50, 50))); renderVectorGraphicB.layout(BoxConstraints.tight(const Size(50, 50))); - final FakeHistoryPaintingContext context = FakeHistoryPaintingContext(); + final context = FakeHistoryPaintingContext(); renderVectorGraphicA.paint(context, Offset.zero); renderVectorGraphicB.paint(context, Offset.zero); @@ -90,7 +90,7 @@ void main() { }); test('disposing render object release raster', () async { - final RenderVectorGraphic renderVectorGraphicA = RenderVectorGraphic( + final renderVectorGraphicA = RenderVectorGraphic( pictureInfo, 'test', null, @@ -98,7 +98,7 @@ void main() { null, 1.0, ); - final RenderVectorGraphic renderVectorGraphicB = RenderVectorGraphic( + final renderVectorGraphicB = RenderVectorGraphic( pictureInfo, 'test', null, @@ -107,7 +107,7 @@ void main() { 1.0, ); renderVectorGraphicA.layout(BoxConstraints.tight(const Size(50, 50))); - final FakeHistoryPaintingContext context = FakeHistoryPaintingContext(); + final context = FakeHistoryPaintingContext(); renderVectorGraphicA.paint(context, Offset.zero); @@ -127,7 +127,7 @@ void main() { test( 'Multiple render objects with the same scale share a raster, different load order', () async { - final RenderVectorGraphic renderVectorGraphicA = RenderVectorGraphic( + final renderVectorGraphicA = RenderVectorGraphic( pictureInfo, 'test', null, @@ -135,7 +135,7 @@ void main() { null, 1.0, ); - final RenderVectorGraphic renderVectorGraphicB = RenderVectorGraphic( + final renderVectorGraphicB = RenderVectorGraphic( pictureInfo, 'test', null, @@ -144,7 +144,7 @@ void main() { 1.0, ); renderVectorGraphicA.layout(BoxConstraints.tight(const Size(50, 50))); - final FakeHistoryPaintingContext context = FakeHistoryPaintingContext(); + final context = FakeHistoryPaintingContext(); renderVectorGraphicA.paint(context, Offset.zero); @@ -163,7 +163,7 @@ void main() { ); test('Changing color filter does not re-rasterize', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -172,7 +172,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); final ui.Image firstImage = context.canvas.lastImage!; @@ -193,7 +193,7 @@ void main() { test( 'Changing device pixel ratio does re-rasterize and dispose old raster', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -202,7 +202,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); final ui.Image firstImage = context.canvas.lastImage!; @@ -219,7 +219,7 @@ void main() { ); test('Changing scale does re-rasterize and dispose old raster', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -228,7 +228,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); final ui.Image firstImage = context.canvas.lastImage!; @@ -244,7 +244,7 @@ void main() { }); test('The raster size is increased by the inverse picture scale', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -253,7 +253,7 @@ void main() { 0.5, // twice as many pixels ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); // Dst rect is always size of RO. @@ -265,7 +265,7 @@ void main() { }); test('The raster size is increased by the device pixel ratio', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -274,7 +274,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); // Dst rect is always size of RO. @@ -285,7 +285,7 @@ void main() { test( 'The raster size is increased by the device pixel ratio and ratio', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -294,7 +294,7 @@ void main() { 0.5, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); // Dst rect is always size of RO. @@ -306,7 +306,7 @@ void main() { test( 'Changing size asserts if it is different from the picture size', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -315,7 +315,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); // change size. @@ -329,8 +329,8 @@ void main() { ); test('Does not rasterize a picture when fully transparent', () async { - final FixedOpacityAnimation opacity = FixedOpacityAnimation(0.0); - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final opacity = FixedOpacityAnimation(0.0); + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -339,7 +339,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); opacity.value = 1.0; @@ -355,8 +355,8 @@ void main() { }); test('paints partially opaque picture', () async { - final FixedOpacityAnimation opacity = FixedOpacityAnimation(0.5); - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final opacity = FixedOpacityAnimation(0.5); + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -365,14 +365,14 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); expect(context.canvas.lastPaint?.color, const Color.fromRGBO(0, 0, 0, 0.5)); }); test('Disposing render object disposes picture', () async { - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -381,7 +381,7 @@ void main() { 1.0, ); renderVectorGraphic.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); renderVectorGraphic.paint(context, Offset.zero); final ui.Image lastImage = context.canvas.lastImage!; @@ -392,8 +392,8 @@ void main() { }); test('Removes listeners on detach, dispose, adds then on attach', () async { - final FixedOpacityAnimation opacity = FixedOpacityAnimation(0.5); - final RenderVectorGraphic renderVectorGraphic = RenderVectorGraphic( + final opacity = FixedOpacityAnimation(0.5); + final renderVectorGraphic = RenderVectorGraphic( pictureInfo, 'test', null, @@ -401,7 +401,7 @@ void main() { opacity, 1.0, ); - final PipelineOwner pipelineOwner = PipelineOwner(); + final pipelineOwner = PipelineOwner(); expect(opacity._listeners, hasLength(1)); renderVectorGraphic.attach(pipelineOwner); @@ -418,10 +418,10 @@ void main() { }); test('RasterData.dispose is safe to call multiple times', () async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); + final recorder = ui.PictureRecorder(); ui.Canvas(recorder); final ui.Image image = await recorder.endRecording().toImage(1, 1); - final RasterData data = RasterData(image, 1, const RasterKey('test', 1, 1)); + final data = RasterData(image, 1, const RasterKey('test', 1, 1)); data.dispose(); @@ -429,13 +429,13 @@ void main() { }); test('Color filter applies clip', () async { - final RenderPictureVectorGraphic render = RenderPictureVectorGraphic( + final render = RenderPictureVectorGraphic( pictureInfo, const ui.ColorFilter.mode(Colors.green, ui.BlendMode.difference), null, ); render.layout(BoxConstraints.tight(const Size(50, 50))); - final FakePaintingContext context = FakePaintingContext(); + final context = FakePaintingContext(); render.paint(context, Offset.zero); expect( diff --git a/packages/vector_graphics/test/vector_graphics_test.dart b/packages/vector_graphics/test/vector_graphics_test.dart index 1590897775f..b046ad3a495 100644 --- a/packages/vector_graphics/test/vector_graphics_test.dart +++ b/packages/vector_graphics/test/vector_graphics_test.dart @@ -22,9 +22,8 @@ void main() { }); test('Can decode a message without a stroke and vertices', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener(); + final buffer = VectorGraphicsBuffer(); + final listener = FlutterVectorGraphicsListener(); final int paintId = codec.writeStroke(buffer, 44, 1, 2, 3, 4.0, 6.0); codec.writeDrawVertices( buffer, @@ -39,9 +38,8 @@ void main() { }); test('Can decode a message with a fill and path', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener(); + final buffer = VectorGraphicsBuffer(); + final listener = FlutterVectorGraphicsListener(); final int paintId = codec.writeFill(buffer, 23, 0); final int pathId = codec.writePath( buffer, @@ -61,8 +59,7 @@ void main() { }); test('Asserts if toPicture is called more than once', () { - final FlutterVectorGraphicsListener listener = - FlutterVectorGraphicsListener(); + final listener = FlutterVectorGraphicsListener(); listener.toPicture(); expect(listener.toPicture, throwsAssertionError); @@ -71,7 +68,7 @@ void main() { testWidgets( 'Creates layout widgets when VectorGraphic is sized (0x0 graphic)', (WidgetTester tester) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); await tester.pumpWidget( VectorGraphic( loader: TestBytesLoader(buffer.done()), @@ -83,7 +80,7 @@ void main() { expect(find.byType(SizedBox), findsNWidgets(2)); - final SizedBox sizedBox = + final sizedBox = find.byType(SizedBox).evaluate().first.widget as SizedBox; expect(sizedBox.width, 100); @@ -94,7 +91,7 @@ void main() { testWidgets( 'Creates layout widgets when VectorGraphic is sized (1:1 ratio)', (WidgetTester tester) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); const VectorGraphicsCodec().writeSize(buffer, 50, 50); await tester.pumpWidget( VectorGraphic( @@ -107,7 +104,7 @@ void main() { expect(find.byType(SizedBox), findsNWidgets(2)); - final SizedBox sizedBox = + final sizedBox = find.byType(SizedBox).evaluate().first.widget as SizedBox; expect(sizedBox.width, 100); @@ -118,7 +115,7 @@ void main() { testWidgets( 'Creates layout widgets when VectorGraphic is sized (3:5 ratio)', (WidgetTester tester) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); const VectorGraphicsCodec().writeSize(buffer, 30, 50); await tester.pumpWidget( VectorGraphic( @@ -131,7 +128,7 @@ void main() { expect(find.byType(SizedBox), findsNWidgets(2)); - final SizedBox sizedBox = + final sizedBox = find.byType(SizedBox).evaluate().first.widget as SizedBox; expect(sizedBox.width, 60); @@ -142,7 +139,7 @@ void main() { testWidgets('Creates alignment widgets when VectorGraphic is aligned', ( WidgetTester tester, ) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); await tester.pumpWidget( VectorGraphic( loader: TestBytesLoader(buffer.done()), @@ -154,7 +151,7 @@ void main() { expect(find.byType(FittedBox), findsOneWidget); - final FittedBox fittedBox = + final fittedBox = find.byType(FittedBox).evaluate().first.widget as FittedBox; expect(fittedBox.fit, BoxFit.fitHeight); @@ -166,7 +163,7 @@ void main() { testWidgets('Sets clipBehavior to hardEdge if not provided', ( WidgetTester tester, ) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); await tester.pumpWidget( VectorGraphic(loader: TestBytesLoader(buffer.done())), ); @@ -174,7 +171,7 @@ void main() { expect(find.byType(FittedBox), findsOneWidget); - final FittedBox fittedBox = + final fittedBox = find.byType(FittedBox).evaluate().first.widget as FittedBox; expect(fittedBox.clipBehavior, Clip.hardEdge); @@ -183,7 +180,7 @@ void main() { testWidgets('Passes clipBehavior to FittedBox if provided', ( WidgetTester tester, ) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); await tester.pumpWidget( VectorGraphic( loader: TestBytesLoader(buffer.done()), @@ -194,7 +191,7 @@ void main() { expect(find.byType(FittedBox), findsOneWidget); - final FittedBox fittedBox = + final fittedBox = find.byType(FittedBox).evaluate().first.widget as FittedBox; expect(fittedBox.clipBehavior, Clip.none); @@ -204,7 +201,7 @@ void main() { testWidgets('Sizes VectorGraphic based on encoded viewbox information', ( WidgetTester tester, ) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); codec.writeSize(buffer, 100, 200); await tester.pumpWidget( @@ -214,8 +211,7 @@ void main() { expect(find.byType(SizedBox), findsNWidgets(2)); - final SizedBox sizedBox = - find.byType(SizedBox).evaluate().last.widget as SizedBox; + final sizedBox = find.byType(SizedBox).evaluate().last.widget as SizedBox; expect(sizedBox.width, 100); expect(sizedBox.height, 200); @@ -224,7 +220,7 @@ void main() { testWidgets('Reloads bytes when configuration changes', ( WidgetTester tester, ) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -253,7 +249,7 @@ void main() { }); testWidgets('Can update SVG picture', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( DefaultAssetBundle( @@ -277,7 +273,7 @@ void main() { }); testWidgets('Can set locale and text direction', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( Localizations( delegates: const >[ @@ -322,8 +318,8 @@ void main() { testWidgets('Test animated switch between placeholder and image', ( WidgetTester tester, ) async { - final TestAssetBundle testBundle = TestAssetBundle(); - const Text placeholderWidget = Text('Placeholder'); + final testBundle = TestAssetBundle(); + const placeholderWidget = Text('Placeholder'); await tester.pumpWidget( DefaultAssetBundle( @@ -349,7 +345,7 @@ void main() { }); testWidgets('Can exclude from semantics', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( DefaultAssetBundle( @@ -367,7 +363,7 @@ void main() { }); testWidgets('Can add semantic label', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( DefaultAssetBundle( @@ -390,7 +386,7 @@ void main() { }); testWidgets('Default placeholder builder', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( DefaultAssetBundle( @@ -409,7 +405,7 @@ void main() { }); testWidgets('Custom placeholder builder', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( DefaultAssetBundle( @@ -433,9 +429,9 @@ void main() { testWidgets('Does not call setState after unmounting', ( WidgetTester tester, ) async { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); codec.writeSize(buffer, 100, 200); - final Completer completer = Completer(); + final completer = Completer(); await tester.pumpWidget( Directionality( @@ -448,8 +444,8 @@ void main() { }); testWidgets('Loads a picture with loadPicture', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); - final Completer completer = Completer(); + final testBundle = TestAssetBundle(); + final completer = Completer(); await tester.pumpWidget( Localizations( delegates: const >[ @@ -482,8 +478,8 @@ void main() { testWidgets('Loads a picture with loadPicture and null build context', ( WidgetTester tester, ) async { - final TestAssetBundle testBundle = TestAssetBundle(); - final Completer completer = Completer(); + final testBundle = TestAssetBundle(); + final completer = Completer(); await tester.pumpWidget( Localizations( delegates: const >[ @@ -519,8 +515,8 @@ void main() { testWidgets('Throws a helpful exception if decoding fails', ( WidgetTester tester, ) async { - final Uint8List data = Uint8List(256); - final TestBytesLoader loader = TestBytesLoader( + final data = Uint8List(256); + final loader = TestBytesLoader( data.buffer.asByteData(), '/foo/bar/whatever.vec', ); @@ -542,7 +538,7 @@ void main() { testWidgets( 'Construct vector graphic with drawPicture strategy', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( DefaultAssetBundle( @@ -568,11 +564,11 @@ void main() { ); // picture rasterization works differently on HTML due to saveLayer bugs in HTML backend testWidgets('Can render VG with image', (WidgetTester tester) async { - const String bluePngPixel = + const bluePngPixel = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPj/HwADBwIAMCbHYQAAAABJRU5ErkJggg=='; - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - const VectorGraphicsCodec codec = VectorGraphicsCodec(); + final buffer = VectorGraphicsBuffer(); + const codec = VectorGraphicsCodec(); codec.writeSize(buffer, 100, 100); codec.writeDrawImage( @@ -584,8 +580,8 @@ void main() { 100, null, ); - final UniqueKey key = UniqueKey(); - final TestBytesLoader loader = TestBytesLoader(buffer.done()); + final key = UniqueKey(); + final loader = TestBytesLoader(buffer.done()); // See listener.dart. final int imageKey = Object.hash(loader.hashCode, 0, 0); @@ -627,15 +623,12 @@ void main() { }, skip: kIsWeb); test('AssetBytesLoader respects packages', () async { - final TestBundle bundle = TestBundle({ + final bundle = TestBundle({ 'foo': Uint8List(0).buffer.asByteData(), 'packages/packageName/foo': Uint8List(1).buffer.asByteData(), }); - final AssetBytesLoader loader = AssetBytesLoader( - 'foo', - assetBundle: bundle, - ); - final AssetBytesLoader packageLoader = AssetBytesLoader( + final loader = AssetBytesLoader('foo', assetBundle: bundle); + final packageLoader = AssetBytesLoader( 'foo', assetBundle: bundle, packageName: 'packageName', @@ -645,7 +638,7 @@ void main() { }); testWidgets('Respects text direction', (WidgetTester tester) async { - final TestAssetBundle testBundle = TestAssetBundle(); + final testBundle = TestAssetBundle(); await tester.pumpWidget( Directionality( @@ -674,13 +667,13 @@ void main() { ); await tester.pumpAndSettle(); - final Matrix4 matrix = Matrix4.identity(); + final matrix = Matrix4.identity(); final RenderObject transformObject = find .byType(Transform) .evaluate() .first .renderObject!; - bool visited = false; + var visited = false; transformObject.visitChildren((RenderObject child) { if (!visited) { transformObject.applyPaintTransform(child, matrix); @@ -738,7 +731,7 @@ class TestAssetBundle extends Fake implements AssetBundle { @override Future load(String key) async { loadKeys.add(key); - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); codec.writeSize(buffer, 100, 200); return buffer.done(); } diff --git a/packages/vector_graphics_codec/lib/src/fp16.dart b/packages/vector_graphics_codec/lib/src/fp16.dart index 7f3da334168..6b5aa98c903 100644 --- a/packages/vector_graphics_codec/lib/src/fp16.dart +++ b/packages/vector_graphics_codec/lib/src/fp16.dart @@ -39,8 +39,8 @@ void toHalf(ByteData byteData) { final int s = bits >> FP32_SIGN_SHIFT; int e = (bits >> FP32_EXPONENT_SHIFT) & FP32_SHIFTED_EXPONENT_MASK; int m = bits & FP32_SIGNIFICAND_MASK; - int outE = 0; - int outM = 0; + var outE = 0; + var outM = 0; if (e == 0xff) { // Infinite or NaN @@ -96,8 +96,8 @@ double toDouble(ByteData byteData) { final int s = bits & SIGN_MASK; final int e = (bits >> EXPONENT_SHIFT) & SHIFTED_EXPONENT_MASK; final int m = bits & SIGNIFICAND_MASK; - int outE = 0; - int outM = 0; + var outE = 0; + var outM = 0; if (e == 0) { // Denormal or 0 if (m != 0) { diff --git a/packages/vector_graphics_codec/lib/vector_graphics_codec.dart b/packages/vector_graphics_codec/lib/vector_graphics_codec.dart index 00fe9e1425e..2f491a78340 100644 --- a/packages/vector_graphics_codec/lib/vector_graphics_codec.dart +++ b/packages/vector_graphics_codec/lib/vector_graphics_codec.dart @@ -167,7 +167,7 @@ class VectorGraphicsCodec { buffer = response._buffer!; } - bool readImage = false; + var readImage = false; while (buffer.hasRemaining) { final int type = buffer.getUint8(); switch (type) { @@ -614,7 +614,7 @@ class VectorGraphicsCodec { if (fontFamily != null) { // Newer versions of Dart will make this a Uint8List and not require the cast. // ignore: unnecessary_cast - final Uint8List encoded = utf8.encode(fontFamily) as Uint8List; + final encoded = utf8.encode(fontFamily) as Uint8List; buffer._putUint16(encoded.length); buffer._putUint8List(encoded); } else { @@ -624,7 +624,7 @@ class VectorGraphicsCodec { // text-value // Newer versions of Dart will make this a Uint8List and not require the cast. // ignore: unnecessary_cast - final Uint8List encoded = utf8.encode(text) as Uint8List; + final encoded = utf8.encode(text) as Uint8List; buffer._putUint16(encoded.length); buffer._putUint8List(encoded); @@ -756,9 +756,9 @@ class VectorGraphicsCodec { } Uint16List _encodeToHalfPrecision(Float32List list) { - final Uint16List output = Uint16List(list.length); - final ByteData buffer = ByteData(8); - for (int i = 0; i < list.length; i++) { + final output = Uint16List(list.length); + final buffer = ByteData(8); + for (var i = 0; i < list.length; i++) { buffer.setFloat32(0, list[i]); fp16.toHalf(buffer); output[i] = buffer.getInt16(0); @@ -767,9 +767,9 @@ class VectorGraphicsCodec { } Float32List _decodeFromHalfPrecision(Uint16List list) { - final Float32List output = Float32List(list.length); - final ByteData buffer = ByteData(8); - for (int i = 0; i < list.length; i++) { + final output = Float32List(list.length); + final buffer = ByteData(8); + for (var i = 0; i < list.length; i++) { buffer.setUint16(0, list[i]); output[i] = fp16.toDouble(buffer); } @@ -836,7 +836,7 @@ class VectorGraphicsCodec { points = buffer.getFloat32List(pointLength); } listener?.onPathStart(id, fillType); - for (int i = 0, j = 0; i < tagLength; i += 1) { + for (var i = 0, j = 0; i < tagLength; i += 1) { switch (tags[i]) { case ControlPointTypes.moveTo: listener?.onPathMoveTo(points[j], points[j + 1]); @@ -931,7 +931,7 @@ class VectorGraphicsCodec { final double dx = buffer.getFloat32(); final double dy = buffer.getFloat32(); - final bool reset = buffer.getUint8() != 0; + final reset = buffer.getUint8() != 0; final Float64List? transform = buffer.getTransform(); listener?.onTextPosition( diff --git a/packages/vector_graphics_codec/test/fp16_test.dart b/packages/vector_graphics_codec/test/fp16_test.dart index ee6798281dd..75db15da14d 100644 --- a/packages/vector_graphics_codec/test/fp16_test.dart +++ b/packages/vector_graphics_codec/test/fp16_test.dart @@ -8,7 +8,7 @@ import 'package:test/test.dart'; import 'package:vector_graphics_codec/src/fp16.dart'; double convert(double value) { - final ByteData byteData = ByteData(8); + final byteData = ByteData(8); byteData.setFloat32(0, value); toHalf(byteData); return toDouble(byteData); @@ -16,7 +16,7 @@ double convert(double value) { void main() { test('fp16 positive values', () { - final List> missed = >[]; + final missed = >[]; /// Validate that all numbers between [min] and [max] can be converted within [tolerance]. void checkRange({ @@ -24,8 +24,8 @@ void main() { required double max, required double tolerance, }) { - final ByteData byteData = ByteData(8); - for (double i = min; i < max; i += 1) { + final byteData = ByteData(8); + for (var i = min; i < max; i += 1) { byteData.setFloat32(0, i); toHalf(byteData); diff --git a/packages/vector_graphics_codec/test/vector_graphics_codec_test.dart b/packages/vector_graphics_codec/test/vector_graphics_codec_test.dart index 4aa35b7e851..613ed1a0d8f 100644 --- a/packages/vector_graphics_codec/test/vector_graphics_codec_test.dart +++ b/packages/vector_graphics_codec/test/vector_graphics_codec_test.dart @@ -35,7 +35,7 @@ void bufferContains(VectorGraphicsBuffer buffer, List expectedBytes) { void main() { test('Messages begin with a magic number and version', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); bufferContains(buffer, [98, 45, 136, 0, 1]); }); @@ -67,7 +67,7 @@ void main() { }); test('Messages without an incompatible version cannot be decoded', () { - final Uint8List bytes = Uint8List(6); + final bytes = Uint8List(6); bytes[0] = 98; bytes[1] = 45; bytes[2] = 136; @@ -89,8 +89,8 @@ void main() { }); test('Basic message encode and decode with filled path', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int paintId = codec.writeFill(buffer, 23, 0); final int pathId = codec.writePath( buffer, @@ -128,8 +128,8 @@ void main() { }); test('Basic message encode and decode with shaded path', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int shaderId = codec.writeLinearGradient( buffer, fromX: 0, @@ -210,8 +210,8 @@ void main() { }); test('Basic message encode and decode with stroked vertex', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int paintId = codec.writeStroke(buffer, 44, 1, 2, 3, 4.0, 6.0); codec.writeDrawVertices( buffer, @@ -243,8 +243,8 @@ void main() { }); test('Basic message encode and decode with stroked vertex and indexes', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int paintId = codec.writeStroke(buffer, 44, 1, 2, 3, 4.0, 6.0); codec.writeDrawVertices( buffer, @@ -276,8 +276,8 @@ void main() { }); test('Can encode opacity/save/restore layers', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int paintId = codec.writeFill(buffer, 0xAA000000, 0); codec.writeSaveLayer(buffer, paintId); @@ -302,8 +302,8 @@ void main() { }); test('Can encode a radial gradient', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int shaderId = codec.writeRadialGradient( buffer, @@ -337,8 +337,8 @@ void main() { }); test('Can encode a radial gradient (no matrix)', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int shaderId = codec.writeRadialGradient( buffer, @@ -372,8 +372,8 @@ void main() { }); test('Can encode a linear gradient', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int shaderId = codec.writeLinearGradient( buffer, @@ -403,8 +403,8 @@ void main() { }); test('Can encode clips', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int pathId = codec.writePath( buffer, Uint8List.fromList([ @@ -434,16 +434,16 @@ void main() { }); test('Can encode masks', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); codec.writeMask(buffer); codec.decode(buffer.done(), listener); expect(listener.commands, [const OnMask()]); }); test('Encodes a size', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); codec.writeSize(buffer, 20, 30); codec.decode(buffer.done(), listener); @@ -452,15 +452,15 @@ void main() { }); test('Only supports a single size', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); codec.writeSize(buffer, 20, 30); expect(() => codec.writeSize(buffer, 1, 1), throwsStateError); }); test('Encodes text', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int paintId = codec.writeFill(buffer, 0xFFAABBAA, 0); final int textId = codec.writeTextConfig( @@ -495,8 +495,8 @@ void main() { }); test('Encodes text with null font family', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int paintId = codec.writeFill(buffer, 0xFFAABBAA, 0); final int textId = codec.writeTextConfig( @@ -531,8 +531,8 @@ void main() { }); test('Encodes empty text', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int paintId = codec.writeFill(buffer, 0xFFAABBAA, 0); final int textId = codec.writeTextConfig( @@ -567,8 +567,8 @@ void main() { }); test('Encodes text position', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); codec.writeTextPosition(buffer, 1, 2, 3, 4, true, mat4); @@ -588,8 +588,8 @@ void main() { }); test('Encodes image data without transform', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int id = codec.writeImage( buffer, @@ -619,8 +619,8 @@ void main() { }); test('Encodes image data with transform', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int id = codec.writeImage( buffer, @@ -650,7 +650,7 @@ void main() { }); test('Encodes image data with various formats', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + final buffer = VectorGraphicsBuffer(); for (final int format in ImageFormatTypes.values) { expect( @@ -665,8 +665,8 @@ void main() { }); test('Basic message encode and decode with shaded path and image', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int imageId = codec.writeImage( buffer, @@ -803,8 +803,8 @@ void main() { }); test('Basic message encode and decode with half precision path', () { - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); - final TestListener listener = TestListener(); + final buffer = VectorGraphicsBuffer(); + final listener = TestListener(); final int fillId = codec.writeFill(buffer, 23, 0); final int strokeId = codec.writeStroke(buffer, 44, 1, 2, 3, 4.0, 6.0); @@ -1738,7 +1738,7 @@ bool _listEquals(List? left, List? right) { if (left.length != right.length) { return false; } - for (int i = 0; i < left.length; i++) { + for (var i = 0; i < left.length; i++) { if (left[i] != right[i]) { return false; } diff --git a/packages/vector_graphics_compiler/CHANGELOG.md b/packages/vector_graphics_compiler/CHANGELOG.md index 567a300b46c..b43c464030a 100644 --- a/packages/vector_graphics_compiler/CHANGELOG.md +++ b/packages/vector_graphics_compiler/CHANGELOG.md @@ -1,6 +1,6 @@ ## NEXT -* Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Updates minimum supported SDK version to Flutter 3.35/Dart 3.9. ## 1.1.19 diff --git a/packages/vector_graphics_compiler/bin/util/isolate_processor.dart b/packages/vector_graphics_compiler/bin/util/isolate_processor.dart index ae869b4ed98..78a6f4511d8 100644 --- a/packages/vector_graphics_compiler/bin/util/isolate_processor.dart +++ b/packages/vector_graphics_compiler/bin/util/isolate_processor.dart @@ -40,7 +40,7 @@ class IsolateProcessor { }) async { _total = pairs.length; _current = 0; - bool failure = false; + var failure = false; await Future.wait(eagerError: true, >[ for (final Pair pair in pairs) _process( @@ -152,11 +152,11 @@ class Pool { Future request() async { if (active.length < concurrency) { - final PoolHandle handle = PoolHandle(this); + final handle = PoolHandle(this); active.add(handle); return handle; } - final Completer completer = Completer(); + final completer = Completer(); pending.add(completer); return completer.future; } @@ -166,7 +166,7 @@ class Pool { active.remove(oldHandle); while (active.length < concurrency && pending.isNotEmpty) { final Completer completer = pending.removeAt(0); - final PoolHandle handle = PoolHandle(this); + final handle = PoolHandle(this); active.add(handle); completer.complete(handle); } diff --git a/packages/vector_graphics_compiler/bin/vector_graphics_compiler.dart b/packages/vector_graphics_compiler/bin/vector_graphics_compiler.dart index 4820b8d4c79..b971aa2c73c 100644 --- a/packages/vector_graphics_compiler/bin/vector_graphics_compiler.dart +++ b/packages/vector_graphics_compiler/bin/vector_graphics_compiler.dart @@ -152,9 +152,9 @@ Future main(List args) async { } validateOptions(results); - final List pairs = []; + final pairs = []; if (results.wasParsed('input-dir')) { - final Directory directory = Directory(results['input-dir'] as String); + final directory = Directory(results['input-dir'] as String); if (!directory.existsSync()) { print('input-dir ${directory.path} does not exist.'); exit(1); @@ -165,11 +165,11 @@ Future main(List args) async { continue; } - String outputPath = '${file.path}.vec'; + var outputPath = '${file.path}.vec'; // to specfic the output directory when parse multi svg if (results.wasParsed('out-dir')) { - final Directory outDir = Directory(results['out-dir'] as String); + final outDir = Directory(results['out-dir'] as String); //to add the output dirctory if it exist if (!outDir.existsSync()) { outDir.createSync(); @@ -180,18 +180,18 @@ Future main(List args) async { pairs.add(Pair(file.path, outputPath)); } } else { - final String inputFilePath = results['input'] as String; + final inputFilePath = results['input'] as String; final String outputFilePath = results['output'] as String? ?? '$inputFilePath.vec'; pairs.add(Pair(inputFilePath, outputFilePath)); } - final bool maskingOptimizerEnabled = results['optimize-masks'] == true; - final bool clippingOptimizerEnabled = results['optimize-clips'] == true; - final bool overdrawOptimizerEnabled = results['optimize-overdraw'] == true; - final bool tessellate = results['tessellate'] == true; - final bool dumpDebug = results['dump-debug'] == true; - final bool useHalfPrecisionControlPoints = + final maskingOptimizerEnabled = results['optimize-masks'] == true; + final clippingOptimizerEnabled = results['optimize-clips'] == true; + final overdrawOptimizerEnabled = results['optimize-overdraw'] == true; + final tessellate = results['tessellate'] == true; + final dumpDebug = results['dump-debug'] == true; + final useHalfPrecisionControlPoints = results['use-half-precision-control-points'] == true; final int concurrency; if (results.wasParsed('concurrency')) { @@ -200,7 +200,7 @@ Future main(List args) async { concurrency = Platform.numberOfProcessors; } - final IsolateProcessor processor = IsolateProcessor( + final processor = IsolateProcessor( results['libpathops'] as String?, results['libtessellator'] as String?, concurrency, diff --git a/packages/vector_graphics_compiler/lib/src/_initialize_path_ops_io.dart b/packages/vector_graphics_compiler/lib/src/_initialize_path_ops_io.dart index 30d62b453a1..ba0301b5308 100644 --- a/packages/vector_graphics_compiler/lib/src/_initialize_path_ops_io.dart +++ b/packages/vector_graphics_compiler/lib/src/_initialize_path_ops_io.dart @@ -34,8 +34,7 @@ bool initializePathOpsFromFlutterCache() { print('path_ops not supported on ${Platform.localeName}'); return false; } - final String pathops = - '${cacheRoot.path}/artifacts/engine/$platform/$executable'; + final pathops = '${cacheRoot.path}/artifacts/engine/$platform/$executable'; if (!File(pathops).existsSync()) { print('Could not locate libpathops at $pathops.'); print('Ensure you are on a supported version of flutter and then run '); diff --git a/packages/vector_graphics_compiler/lib/src/_initialize_tessellator_io.dart b/packages/vector_graphics_compiler/lib/src/_initialize_tessellator_io.dart index 756fd32f046..735f633687d 100644 --- a/packages/vector_graphics_compiler/lib/src/_initialize_tessellator_io.dart +++ b/packages/vector_graphics_compiler/lib/src/_initialize_tessellator_io.dart @@ -34,7 +34,7 @@ bool initializeTessellatorFromFlutterCache() { print('Tesselation not supported on ${Platform.localeName}'); return false; } - final String tessellator = + final tessellator = '${cacheRoot.path}/artifacts/engine/$platform/$executable'; if (!File(tessellator).existsSync()) { print('Could not locate libtessellator at $tessellator.'); diff --git a/packages/vector_graphics_compiler/lib/src/debug_format.dart b/packages/vector_graphics_compiler/lib/src/debug_format.dart index 2ca0cf63da0..ae3bdb338cb 100644 --- a/packages/vector_graphics_compiler/lib/src/debug_format.dart +++ b/packages/vector_graphics_compiler/lib/src/debug_format.dart @@ -12,8 +12,8 @@ import 'paint.dart'; /// Write an unstable but human readable form of the vector graphics binary /// package intended to be used for debugging and development. Uint8List dumpToDebugFormat(Uint8List bytes) { - const VectorGraphicsCodec codec = VectorGraphicsCodec(); - final _DebugVectorGraphicsListener listener = _DebugVectorGraphicsListener(); + const codec = VectorGraphicsCodec(); + final listener = _DebugVectorGraphicsListener(); final DecodeResponse response = codec.decode( bytes.buffer.asByteData(), listener, @@ -54,9 +54,7 @@ class _DebugVectorGraphicsListener extends VectorGraphicsCodecListener { @override void onDrawPath(int pathId, int? paintId, int? patternId) { - final String patternContext = patternId != null - ? ', patternId:$patternId' - : ''; + final patternContext = patternId != null ? ', patternId:$patternId' : ''; buffer.writeln('DrawPath: id:$pathId (paintId:$paintId$patternContext)'); } @@ -201,7 +199,7 @@ class _DebugVectorGraphicsListener extends VectorGraphicsCodecListener { int tileMode, int id, ) { - final bool hasFocal = focalX != null; + final hasFocal = focalX != null; buffer.writeln( 'StoreGradient: id:$id Radial(\n' 'center: ($centerX, $centerY)\n' diff --git a/packages/vector_graphics_compiler/lib/src/draw_command_builder.dart b/packages/vector_graphics_compiler/lib/src/draw_command_builder.dart index 1b1bc5b53c3..203897dce31 100644 --- a/packages/vector_graphics_compiler/lib/src/draw_command_builder.dart +++ b/packages/vector_graphics_compiler/lib/src/draw_command_builder.dart @@ -135,13 +135,9 @@ class DrawCommandBuilder { /// Add an image to the current draw command stack. void addImage(ResolvedImageNode node, String? debugString) { - final ImageData imageData = ImageData(node.data, node.format.index); + final imageData = ImageData(node.data, node.format.index); final int imageId = _getOrGenerateId(imageData, _images); - final DrawImageData drawImageData = DrawImageData( - imageId, - node.rect, - node.transform, - ); + final drawImageData = DrawImageData(imageId, node.rect, node.transform); final int drawImageId = _getOrGenerateId(drawImageData, _drawImages); _commands.add( diff --git a/packages/vector_graphics_compiler/lib/src/geometry/matrix.dart b/packages/vector_graphics_compiler/lib/src/geometry/matrix.dart index 200bd59d4c5..02e5e7bf2df 100644 --- a/packages/vector_graphics_compiler/lib/src/geometry/matrix.dart +++ b/packages/vector_graphics_compiler/lib/src/geometry/matrix.dart @@ -215,7 +215,7 @@ class AffineMatrix { /// The transformed rect is then projected back into the plane with z equals /// 0.0 before computing its bounding rect. Rect _transformRect(Float64List transform, Rect rect) { - final Float64List storage = transform; + final storage = transform; final double x = rect.left; final double y = rect.top; final double w = rect.right - x; @@ -380,8 +380,8 @@ Rect _transformRect(Float64List transform, Rect rect) { final double ry = storage[1] * x + storage[5] * y + storage[13]; if (storage[3] == 0.0 && storage[7] == 0.0 && storage[15] == 1.0) { - double left = rx; - double right = rx; + var left = rx; + var right = rx; if (wx < 0) { left += wx; } else { @@ -393,8 +393,8 @@ Rect _transformRect(Float64List transform, Rect rect) { right += hx; } - double top = ry; - double bottom = ry; + var top = ry; + var bottom = ry; if (wy < 0) { top += wy; } else { @@ -431,13 +431,13 @@ Rect _transformRect(Float64List transform, Rect rect) { } double _min4(double a, double b, double c, double d) { - final double e = (a < b) ? a : b; - final double f = (c < d) ? c : d; + final e = (a < b) ? a : b; + final f = (c < d) ? c : d; return (e < f) ? e : f; } double _max4(double a, double b, double c, double d) { - final double e = (a > b) ? a : b; - final double f = (c > d) ? c : d; + final e = (a > b) ? a : b; + final f = (c > d) ? c : d; return (e > f) ? e : f; } diff --git a/packages/vector_graphics_compiler/lib/src/geometry/path.dart b/packages/vector_graphics_compiler/lib/src/geometry/path.dart index c2927fc5627..51f7ffe0a4c 100644 --- a/packages/vector_graphics_compiler/lib/src/geometry/path.dart +++ b/packages/vector_graphics_compiler/lib/src/geometry/path.dart @@ -369,12 +369,12 @@ class PathBuilder implements PathProxy { /// Adds an oval command to new path. PathBuilder addOval(Rect oval) { - final Point r = Point(oval.width * 0.5, oval.height * 0.5); - final Point c = Point( + final r = Point(oval.width * 0.5, oval.height * 0.5); + final c = Point( oval.left + (oval.width * 0.5), oval.top + (oval.height * 0.5), ); - final Point m = Point( + final m = Point( _kArcApproximationMagic * r.x, _kArcApproximationMagic * r.y, ); @@ -483,7 +483,7 @@ class PathBuilder implements PathProxy { /// path objects with the same commands. By default, the builder will reset /// to an initial state. Path toPath({bool reset = true}) { - final Path path = Path(commands: _commands, fillType: fillType); + final path = Path(commands: _commands, fillType: fillType); if (reset) { _commands.clear(); @@ -524,7 +524,7 @@ class Path { /// Creates a new path whose commands and points are transformed by `matrix`. Path transformed(AffineMatrix matrix) { - final List commands = []; + final commands = []; for (final PathCommand command in _commands) { commands.add(command.transformed(matrix)); } @@ -554,7 +554,7 @@ class Path { if (intervals.isEmpty) { return this; } - final _PathDasher dasher = _PathDasher(intervals); + final dasher = _PathDasher(intervals); return dasher.dash(this); } @@ -570,20 +570,20 @@ class Path { for (final PathCommand command in _commands) { switch (command.type) { case PathCommandType.move: - final MoveToCommand move = command as MoveToCommand; + final move = command as MoveToCommand; smallestX = math.min(move.x, smallestX); smallestY = math.min(move.y, smallestY); largestX = math.max(move.x, largestX); largestY = math.max(move.y, largestY); case PathCommandType.line: - final LineToCommand move = command as LineToCommand; + final move = command as LineToCommand; smallestX = math.min(move.x, smallestX); smallestY = math.min(move.y, smallestY); largestX = math.max(move.x, largestX); largestY = math.max(move.y, largestY); case PathCommandType.cubic: - final CubicToCommand cubic = command as CubicToCommand; - for (final List pair in >[ + final cubic = command as CubicToCommand; + for (final pair in >[ [cubic.x1, cubic.y1], [cubic.x2, cubic.y2], [cubic.x3, cubic.y3], @@ -602,7 +602,7 @@ class Path { /// Returns a string that prints the dart:ui code to create this path. String toFlutterString() { - final StringBuffer buffer = StringBuffer('Path()'); + final buffer = StringBuffer('Path()'); if (fillType != PathFillType.nonZero) { buffer.write('\n ..fillType = $fillType'); } @@ -615,7 +615,7 @@ class Path { @override String toString() { - final StringBuffer buffer = StringBuffer('Path('); + final buffer = StringBuffer('Path('); if (commands.isNotEmpty) { buffer.write('\n commands: $commands,'); } @@ -633,9 +633,9 @@ Path parseSvgPathData(String svg, [PathFillType? type]) { return Path(fillType: type ?? PathFillType.nonZero); } - final SvgPathStringSource parser = SvgPathStringSource(svg); - final PathBuilder pathBuilder = PathBuilder(type); - final SvgPathNormalizer normalizer = SvgPathNormalizer(); + final parser = SvgPathStringSource(svg); + final pathBuilder = PathBuilder(type); + final normalizer = SvgPathNormalizer(); for (final PathSegmentData seg in parser.parseSegments()) { normalizer.emitSegment(seg, pathBuilder); } @@ -739,12 +739,12 @@ class _PathDasher { for (final PathCommand command in path._commands) { switch (command.type) { case PathCommandType.move: - final MoveToCommand move = command as MoveToCommand; + final move = command as MoveToCommand; currentPoint = Point(move.x, move.y); currentSubpathPoint = currentPoint; _dashedCommands.add(command); case PathCommandType.line: - final LineToCommand line = command as LineToCommand; + final line = command as LineToCommand; _dashLineTo(Point(line.x, line.y)); case PathCommandType.cubic: _dashCubicTo(command as CubicToCommand); diff --git a/packages/vector_graphics_compiler/lib/src/geometry/vertices.dart b/packages/vector_graphics_compiler/lib/src/geometry/vertices.dart index 3204655c7ed..1cd478e8ed3 100644 --- a/packages/vector_graphics_compiler/lib/src/geometry/vertices.dart +++ b/packages/vector_graphics_compiler/lib/src/geometry/vertices.dart @@ -20,8 +20,8 @@ class Vertices { 'vertices', ); } - final List vertexPoints = []; - for (int index = 0; index < vertices.length; index += 2) { + final vertexPoints = []; + for (var index = 0; index < vertices.length; index += 2) { vertexPoints.add(Point(vertices[index], vertices[index + 1])); } return Vertices(vertexPoints); @@ -35,17 +35,17 @@ class Vertices { /// Creates an optimized version of [vertexPoints] where the points are /// deduplicated via an index buffer. IndexedVertices createIndex() { - final Map pointMap = {}; - int index = 0; - final List indices = []; + final pointMap = {}; + var index = 0; + final indices = []; for (final Point point in vertexPoints) { indices.add(pointMap.putIfAbsent(point, () => index++)); } Float32List pointsToFloat32List(List points) { - final Float32List vertices = Float32List(points.length * 2); - int vertexIndex = 0; - for (final Point point in points) { + final vertices = Float32List(points.length * 2); + var vertexIndex = 0; + for (final point in points) { vertices[vertexIndex++] = point.x; vertices[vertexIndex++] = point.y; } diff --git a/packages/vector_graphics_compiler/lib/src/image/image_info.dart b/packages/vector_graphics_compiler/lib/src/image/image_info.dart index ce8c2cd7083..24e425cdb94 100644 --- a/packages/vector_graphics_compiler/lib/src/image/image_info.dart +++ b/packages/vector_graphics_compiler/lib/src/image/image_info.dart @@ -139,7 +139,7 @@ class JpegImageSizeData extends ImageSizeData { : super(format: ImageFormat.jpeg); factory JpegImageSizeData._fromBytes(ByteData data) { - int index = 4; // Skip the first header bytes (already validated). + var index = 4; // Skip the first header bytes (already validated). index += data.getUint16(index); while (index < data.lengthInBytes) { if (data.getUint8(index) != 0xFF) { diff --git a/packages/vector_graphics_compiler/lib/src/paint.dart b/packages/vector_graphics_compiler/lib/src/paint.dart index c1a12e2509f..9b17473f49e 100644 --- a/packages/vector_graphics_compiler/lib/src/paint.dart +++ b/packages/vector_graphics_compiler/lib/src/paint.dart @@ -451,8 +451,8 @@ class Paint { @override String toString() { - final StringBuffer buffer = StringBuffer('Paint(blendMode: $blendMode'); - const String leading = ', '; + final buffer = StringBuffer('Paint(blendMode: $blendMode'); + const leading = ', '; if (stroke != null) { buffer.write('${leading}stroke: $stroke'); } @@ -530,8 +530,8 @@ class Stroke { @override String toString() { - final StringBuffer buffer = StringBuffer('Stroke(color: $color'); - const String leading = ', '; + final buffer = StringBuffer('Stroke(color: $color'); + const leading = ', '; if (shader != null) { buffer.write('${leading}shader: $shader'); } @@ -580,8 +580,8 @@ class Fill { @override String toString() { - final StringBuffer buffer = StringBuffer('Fill(color: $color'); - const String leading = ', '; + final buffer = StringBuffer('Fill(color: $color'); + const leading = ', '; if (shader != null) { buffer.write('${leading}shader: $shader'); @@ -1290,7 +1290,7 @@ class TextPosition { @override String toString() { - final StringBuffer buffer = StringBuffer(); + final buffer = StringBuffer(); buffer.write('TextPosition(reset: $reset'); if (x != null) { buffer.write(', x: $x'); @@ -1454,8 +1454,8 @@ class TextDecoration { /// Creates a decoration that paints the union of all the given decorations. factory TextDecoration.combine(List decorations) { - int mask = 0; - for (final TextDecoration decoration in decorations) { + var mask = 0; + for (final decoration in decorations) { mask |= decoration.mask; } return TextDecoration._(mask); @@ -1494,7 +1494,7 @@ class TextDecoration { if (mask == 0) { return 'TextDecoration.none'; } - final List values = []; + final values = []; if (mask & underline.mask != 0) { values.add('underline'); } diff --git a/packages/vector_graphics_compiler/lib/src/svg/_path_ops_ffi.dart b/packages/vector_graphics_compiler/lib/src/svg/_path_ops_ffi.dart index 34c8347a3b2..05bc0bfa83b 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/_path_ops_ffi.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/_path_ops_ffi.dart @@ -27,7 +27,7 @@ class Path implements PathProxy { /// Creates a copy of this path. factory Path.from(Path other) { - final Path result = Path(other.fillType); + final result = Path(other.fillType); other.replay(result); return result; } @@ -57,7 +57,7 @@ class Path implements PathProxy { if (reset) { proxy.reset(); } - int index = 0; + var index = 0; for (final PathVerb verb in verbs.toList()) { switch (verb) { case PathVerb.moveTo: @@ -188,7 +188,7 @@ class Path implements PathProxy { Path applyOp(Path other, PathOp op) { assert(_path != null); assert(other._path != null); - final Path result = Path.from(this); + final result = Path.from(this); _opFn(result._path!, other._path!, op.index); return result; } diff --git a/packages/vector_graphics_compiler/lib/src/svg/_path_ops_unsupported.dart b/packages/vector_graphics_compiler/lib/src/svg/_path_ops_unsupported.dart index 416152c04e3..d9abca5e53f 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/_path_ops_unsupported.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/_path_ops_unsupported.dart @@ -19,7 +19,7 @@ class Path implements PathProxy { /// Creates a copy of this path. factory Path.from(Path other) { - final Path result = Path(other.fillType); + final result = Path(other.fillType); other.replay(result); return result; } diff --git a/packages/vector_graphics_compiler/lib/src/svg/_tessellator_ffi.dart b/packages/vector_graphics_compiler/lib/src/svg/_tessellator_ffi.dart index 4a408240b9a..2d76ec4f14e 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/_tessellator_ffi.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/_tessellator_ffi.dart @@ -88,19 +88,19 @@ class Tessellator extends Visitor return pathNode; } - final List children = []; + final children = []; if (fill != null) { - final VerticesBuilder builder = VerticesBuilder(); + final builder = VerticesBuilder(); for (final PathCommand command in pathNode.path.commands) { switch (command.type) { case PathCommandType.move: - final MoveToCommand move = command as MoveToCommand; + final move = command as MoveToCommand; builder.moveTo(move.x, move.y); case PathCommandType.line: - final LineToCommand line = command as LineToCommand; + final line = command as LineToCommand; builder.lineTo(line.x, line.y); case PathCommandType.cubic: - final CubicToCommand cubic = command as CubicToCommand; + final cubic = command as CubicToCommand; builder.cubicTo( cubic.x1, cubic.y1, @@ -117,7 +117,7 @@ class Tessellator extends Visitor fillType: pathNode.path.fillType, ); if (rawVertices.isNotEmpty) { - final Vertices vertices = Vertices.fromFloat32List(rawVertices); + final vertices = Vertices.fromFloat32List(rawVertices); final IndexedVertices indexedVertices = vertices.createIndex(); children.add( ResolvedVerticesNode( diff --git a/packages/vector_graphics_compiler/lib/src/svg/clipping_optimizer.dart b/packages/vector_graphics_compiler/lib/src/svg/clipping_optimizer.dart index e008e0db848..0da96b033d5 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/clipping_optimizer.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/clipping_optimizer.dart @@ -36,7 +36,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> /// Applies clip to a path node, and returns resulting path node. ResolvedPathNode applyClip(Node child, Path clipPath) { - final ResolvedPathNode pathNode = child as ResolvedPathNode; + final pathNode = child as ResolvedPathNode; final path_ops.Path clipPathOpsPath = toPathOpsPath(clipPath); final path_ops.Path pathPathOpsPath = toPathOpsPath(pathNode.path); final path_ops.Path intersection = clipPathOpsPath.applyOp( @@ -44,7 +44,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> path_ops.PathOp.intersect, ); final Path newPath = toVectorGraphicsPath(intersection); - final ResolvedPathNode newPathNode = ResolvedPathNode( + final newPathNode = ResolvedPathNode( paint: pathNode.paint, bounds: newPath.bounds(), path: newPath, @@ -60,7 +60,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitEmptyNode(Node node, void data) { - final _Result result = _Result(node); + final result = _Result(node); return result; } @@ -76,8 +76,8 @@ class ClippingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitParentNode(ParentNode parentNode, Node data) { - final List newChildren = []; - bool deleteClipNode = true; + final newChildren = []; + var deleteClipNode = true; for (final Node child in parentNode.children) { final _Result childResult = child.accept(this, parentNode); @@ -87,13 +87,13 @@ class ClippingOptimizer extends Visitor<_Result, Node> } } - final ParentNode newParentNode = ParentNode( + final newParentNode = ParentNode( parentNode.attributes, precalculatedTransform: parentNode.transform, children: newChildren, ); - final _Result result = _Result(newParentNode); + final result = _Result(newParentNode); result.deleteClipNode = deleteClipNode; return result; @@ -102,14 +102,14 @@ class ClippingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitMaskNode(MaskNode maskNode, Node data) { - final _Result result = _Result(maskNode); + final result = _Result(maskNode); return result; } @override // ignore: library_private_types_in_public_api _Result visitPathNode(PathNode pathNode, Node data) { - final _Result result = _Result(pathNode); + final result = _Result(pathNode); return result; } @@ -117,12 +117,12 @@ class ClippingOptimizer extends Visitor<_Result, Node> // ignore: library_private_types_in_public_api _Result visitResolvedMaskNode(ResolvedMaskNode maskNode, void data) { final _Result childResult = maskNode.child.accept(this, maskNode); - final ResolvedMaskNode newMaskNode = ResolvedMaskNode( + final newMaskNode = ResolvedMaskNode( child: childResult.node, mask: maskNode.mask, blendMode: maskNode.blendMode, ); - final _Result result = _Result(newMaskNode); + final result = _Result(newMaskNode); result.children.add(childResult.node); result.childCount = 1; @@ -132,7 +132,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitResolvedClipNode(ResolvedClipNode clipNode, Node data) { - _Result result = _Result(clipNode); + var result = _Result(clipNode); Path? singleClipPath; if (clipNode.clips.length == 1) { @@ -147,7 +147,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> if (childResult.deleteClipNode) { result = _Result(childResult.node); } else { - final ResolvedClipNode newClipNode = ResolvedClipNode( + final newClipNode = ResolvedClipNode( child: childResult.node, clips: clipNode.clips, ); @@ -155,7 +155,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> } } else { final _Result childResult = clipNode.child.accept(this, clipNode); - final ResolvedClipNode newClipNode = ResolvedClipNode( + final newClipNode = ResolvedClipNode( child: childResult.node, clips: clipNode.clips, ); @@ -167,9 +167,9 @@ class ClippingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitResolvedPath(ResolvedPathNode pathNode, Node data) { - _Result result = _Result(pathNode); - bool hasStrokeWidth = false; - bool deleteClipNode = true; + var result = _Result(pathNode); + var hasStrokeWidth = false; + var deleteClipNode = true; if (pathNode.paint.stroke?.width != null) { hasStrokeWidth = true; @@ -177,7 +177,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> } if (clipsToApply.isNotEmpty && !hasStrokeWidth) { - ResolvedPathNode newPathNode = pathNode; + var newPathNode = pathNode; for (final Path clipPath in clipsToApply) { final ResolvedPathNode intersection = applyClip(newPathNode, clipPath); if (intersection.path.commands.isNotEmpty) { @@ -198,7 +198,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitResolvedText(ResolvedTextNode textNode, Node data) { - final _Result result = _Result(textNode); + final result = _Result(textNode); return result; } @@ -208,25 +208,25 @@ class ClippingOptimizer extends Visitor<_Result, Node> ResolvedVerticesNode verticesNode, Node data, ) { - final _Result result = _Result(verticesNode); + final result = _Result(verticesNode); return result; } @override // ignore: library_private_types_in_public_api _Result visitSaveLayerNode(SaveLayerNode layerNode, Node data) { - final List newChildren = []; + final newChildren = []; for (final Node child in layerNode.children) { final _Result childResult = child.accept(this, layerNode); newChildren.add(childResult.node); } - final SaveLayerNode newLayerNode = SaveLayerNode( + final newLayerNode = SaveLayerNode( layerNode.attributes, paint: layerNode.paint, children: newChildren, ); - final _Result result = _Result(newLayerNode); + final result = _Result(newLayerNode); result.children = newChildren; result.childCount = newChildren.length; return result; @@ -235,13 +235,13 @@ class ClippingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitViewportNode(ViewportNode viewportNode, void data) { - final List children = []; + final children = []; for (final Node child in viewportNode.children) { final _Result childNode = child.accept(this, viewportNode); children.add(childNode.node); } - final ViewportNode node = ViewportNode( + final node = ViewportNode( viewportNode.attributes, width: viewportNode.width, height: viewportNode.height, @@ -249,7 +249,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> children: children, ); - final _Result result = _Result(node); + final result = _Result(node); result.children = children; result.childCount = children.length; return result; @@ -261,7 +261,7 @@ class ClippingOptimizer extends Visitor<_Result, Node> ResolvedImageNode resolvedImageNode, Node data, ) { - final _Result result = _Result(resolvedImageNode); + final result = _Result(resolvedImageNode); result.deleteClipNode = false; return result; } diff --git a/packages/vector_graphics_compiler/lib/src/svg/masking_optimizer.dart b/packages/vector_graphics_compiler/lib/src/svg/masking_optimizer.dart index 3395df9e690..755f8799a4f 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/masking_optimizer.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/masking_optimizer.dart @@ -42,15 +42,15 @@ PathFillType toVectorGraphicsFillType(path_ops.FillType fill) { /// Converts vector_graphics Path to path_ops Path. path_ops.Path toPathOpsPath(Path path) { - final path_ops.Path newPath = path_ops.Path(toPathOpsFillTyle(path.fillType)); + final newPath = path_ops.Path(toPathOpsFillTyle(path.fillType)); for (final PathCommand command in path.commands) { switch (command.type) { case PathCommandType.line: - final LineToCommand lineToCommand = command as LineToCommand; + final lineToCommand = command as LineToCommand; newPath.lineTo(lineToCommand.x, lineToCommand.y); case PathCommandType.cubic: - final CubicToCommand cubicToCommand = command as CubicToCommand; + final cubicToCommand = command as CubicToCommand; newPath.cubicTo( cubicToCommand.x1, cubicToCommand.y1, @@ -60,7 +60,7 @@ path_ops.Path toPathOpsPath(Path path) { cubicToCommand.y3, ); case PathCommandType.move: - final MoveToCommand moveToCommand = command as MoveToCommand; + final moveToCommand = command as MoveToCommand; newPath.moveTo(moveToCommand.x, moveToCommand.y); case PathCommandType.close: newPath.close(); @@ -72,9 +72,9 @@ path_ops.Path toPathOpsPath(Path path) { /// Converts path_ops Path to VectorGraphicsPath. Path toVectorGraphicsPath(path_ops.Path path) { - final List newCommands = []; + final newCommands = []; - int index = 0; + var index = 0; final Float32List points = path.points; for (final path_ops.PathVerb verb in path.verbs.toList()) { switch (verb) { @@ -104,7 +104,7 @@ Path toVectorGraphicsPath(path_ops.Path path) { } } - final Path newPath = Path( + final newPath = Path( commands: newCommands, fillType: toVectorGraphicsFillType(path.fillType), ); @@ -151,7 +151,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> path_ops.PathOp.intersect, ); final Path newPath = toVectorGraphicsPath(intersection); - final ResolvedPathNode newPathNode = ResolvedPathNode( + final newPathNode = ResolvedPathNode( paint: pathNode.paint, bounds: maskPathNode.bounds, path: newPath, @@ -167,7 +167,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitEmptyNode(Node node, void data) { - final _Result result = _Result(node); + final result = _Result(node); return result; } @@ -183,7 +183,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitParentNode(ParentNode parentNode, Node data) { - final List newChildren = []; + final newChildren = []; for (final Node child in parentNode.children) { final _Result childResult = child.accept(this, parentNode); @@ -193,13 +193,13 @@ class MaskingOptimizer extends Visitor<_Result, Node> } } - final ParentNode newParentNode = ParentNode( + final newParentNode = ParentNode( parentNode.attributes, precalculatedTransform: parentNode.transform, children: newChildren, ); - final _Result result = _Result(newParentNode); + final result = _Result(newParentNode); return result; } @@ -207,7 +207,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitMaskNode(MaskNode maskNode, Node data) { - final _Result result = _Result(maskNode); + final result = _Result(maskNode); return result; } @@ -215,14 +215,14 @@ class MaskingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitPathNode(PathNode pathNode, Node data) { - final _Result result = _Result(pathNode); + final result = _Result(pathNode); return result; } @override // ignore: library_private_types_in_public_api _Result visitResolvedMaskNode(ResolvedMaskNode maskNode, void data) { - _Result result = _Result(maskNode); + var result = _Result(maskNode); final ResolvedPathNode? singleMaskPathNode = getSingleChild(maskNode.mask); if (singleMaskPathNode != null) { @@ -233,7 +233,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> if (childResult.deleteMaskNode) { result = _Result(childResult.node); } else { - final ResolvedMaskNode newMaskNode = ResolvedMaskNode( + final newMaskNode = ResolvedMaskNode( child: childResult.node, mask: maskNode.mask, blendMode: maskNode.blendMode, @@ -242,7 +242,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> } } else { final _Result childResult = maskNode.child.accept(this, maskNode); - final ResolvedMaskNode newMaskNode = ResolvedMaskNode( + final newMaskNode = ResolvedMaskNode( child: childResult.node, mask: maskNode.mask, blendMode: maskNode.blendMode, @@ -257,11 +257,11 @@ class MaskingOptimizer extends Visitor<_Result, Node> // ignore: library_private_types_in_public_api _Result visitResolvedClipNode(ResolvedClipNode clipNode, Node data) { final _Result childResult = clipNode.child.accept(this, clipNode); - final ResolvedClipNode newClipNode = ResolvedClipNode( + final newClipNode = ResolvedClipNode( clips: clipNode.clips, child: childResult.node, ); - final _Result result = _Result(newClipNode); + final result = _Result(newClipNode); result.children.add(childResult.node); return result; @@ -270,14 +270,14 @@ class MaskingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitResolvedPath(ResolvedPathNode pathNode, Node data) { - _Result result = _Result(pathNode); + var result = _Result(pathNode); if (pathNode.paint.stroke?.width != null) { return _Result(pathNode, deleteMaskNode: false); } if (masksToApply.isNotEmpty) { - ResolvedPathNode newPathNode = pathNode; + var newPathNode = pathNode; for (final ResolvedPathNode maskPathNode in masksToApply) { final ResolvedPathNode intersection = applyMask( newPathNode, @@ -298,7 +298,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitResolvedText(ResolvedTextNode textNode, Node data) { - final _Result result = _Result(textNode); + final result = _Result(textNode); return result; } @@ -308,25 +308,25 @@ class MaskingOptimizer extends Visitor<_Result, Node> ResolvedVerticesNode verticesNode, Node data, ) { - final _Result result = _Result(verticesNode); + final result = _Result(verticesNode); return result; } @override // ignore: library_private_types_in_public_api _Result visitSaveLayerNode(SaveLayerNode layerNode, Node data) { - final List newChildren = []; + final newChildren = []; for (final Node child in layerNode.children) { final _Result childResult = child.accept(this, layerNode); newChildren.add(childResult.node); } - final SaveLayerNode newLayerNode = SaveLayerNode( + final newLayerNode = SaveLayerNode( layerNode.attributes, paint: layerNode.paint, children: newChildren, ); - final _Result result = _Result(newLayerNode); + final result = _Result(newLayerNode); result.children.addAll(newChildren); return result; } @@ -334,13 +334,13 @@ class MaskingOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitViewportNode(ViewportNode viewportNode, void data) { - final List children = []; + final children = []; for (final Node child in viewportNode.children) { final _Result childNode = child.accept(this, viewportNode); children.add(childNode.node); } - final ViewportNode node = ViewportNode( + final node = ViewportNode( viewportNode.attributes, width: viewportNode.width, height: viewportNode.height, @@ -348,7 +348,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> children: children, ); - final _Result result = _Result(node); + final result = _Result(node); result.children.addAll(children); return result; } @@ -359,7 +359,7 @@ class MaskingOptimizer extends Visitor<_Result, Node> ResolvedImageNode resolvedImageNode, Node data, ) { - final _Result result = _Result(resolvedImageNode, deleteMaskNode: false); + final result = _Result(resolvedImageNode, deleteMaskNode: false); return result; } diff --git a/packages/vector_graphics_compiler/lib/src/svg/numbers.dart b/packages/vector_graphics_compiler/lib/src/svg/numbers.dart index f58cbae0800..8798422f9f4 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/numbers.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/numbers.dart @@ -65,7 +65,7 @@ double? parseDoubleWithUnits( bool tryParse = false, required SvgTheme theme, }) { - double unit = 1.0; + var unit = 1.0; // 1 rem unit is equal to the root font size. // 1 em unit is equal to the current font size. diff --git a/packages/vector_graphics_compiler/lib/src/svg/overdraw_optimizer.dart b/packages/vector_graphics_compiler/lib/src/svg/overdraw_optimizer.dart index 469f9a539b2..492d038401d 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/overdraw_optimizer.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/overdraw_optimizer.dart @@ -42,7 +42,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> path_ops.PathOp.difference, ); final Path newPath = toVectorGraphicsPath(newBottomPath); - final ResolvedPathNode newPathNode = ResolvedPathNode( + final newPathNode = ResolvedPathNode( paint: bottomPathNode.paint, bounds: bottomPathNode.bounds, path: newPath, @@ -73,7 +73,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> final double g = ((1 - a0) * a1 * g1 + a0 * g0) / a; final double b = ((1 - a0) * a1 * b1 + a0 * b0) / a; - final Color overlapColor = Color.fromARGB( + final overlapColor = Color.fromARGB( (a * 255).round(), r.round(), g.round(), @@ -113,17 +113,17 @@ class OverdrawOptimizer extends Visitor<_Result, Node> final Path newTopVGPath = toVectorGraphicsPath(newTopPath); final Path newOverlapVGPath = toVectorGraphicsPath(intersection); - final ResolvedPathNode newBottomPathNode = ResolvedPathNode( + final newBottomPathNode = ResolvedPathNode( paint: bottomPathNode.paint, bounds: bottomPathNode.bounds, path: newBottomVGPath, ); - final ResolvedPathNode newTopPathNode = ResolvedPathNode( + final newTopPathNode = ResolvedPathNode( paint: topPathNode.paint, bounds: bottomPathNode.bounds, path: newTopVGPath, ); - final ResolvedPathNode newOverlapPathNode = ResolvedPathNode( + final newOverlapPathNode = ResolvedPathNode( paint: Paint( blendMode: bottomPathNode.paint.blendMode, stroke: bottomPathNode.paint.stroke, @@ -161,7 +161,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitEmptyNode(Node node, void data) { - final _Result result = _Result(node); + final result = _Result(node); return result; } @@ -177,9 +177,9 @@ class OverdrawOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitParentNode(ParentNode parentNode, Node data) { - int pathNodeCount = 0; - final List> newChildList = >[]; - final List newChildren = []; + var pathNodeCount = 0; + final newChildList = >[]; + final newChildren = []; for (final Node child in parentNode.children) { if (child is ResolvedPathNode) { @@ -188,7 +188,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> newChildList.add([child]); } - int index = 0; + var index = 0; ResolvedPathNode? lastPathNode; int? lastPathNodeIndex; @@ -244,7 +244,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> index = 0; /// Here the 2-dimensional list of new children is flattened. - for (final List child in newChildList) { + for (final child in newChildList) { if (child.isNotEmpty) { if (child.first is ResolvedPathNode) { newChildren.addAll(child); @@ -265,7 +265,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> /// If group opacity is set, the parent nodes children cannot be optimized. return _Result(parentNode); } - final _Result result = _Result( + final result = _Result( ParentNode( parentNode.attributes, children: newChildren, @@ -292,12 +292,12 @@ class OverdrawOptimizer extends Visitor<_Result, Node> // ignore: library_private_types_in_public_api _Result visitResolvedMaskNode(ResolvedMaskNode maskNode, void data) { final _Result childResult = maskNode.child.accept(this, maskNode); - final ResolvedMaskNode newMaskNode = ResolvedMaskNode( + final newMaskNode = ResolvedMaskNode( child: childResult.node, mask: maskNode.mask, blendMode: maskNode.blendMode, ); - final _Result result = _Result(newMaskNode); + final result = _Result(newMaskNode); result.children.add(childResult.node); return result; } @@ -306,11 +306,11 @@ class OverdrawOptimizer extends Visitor<_Result, Node> // ignore: library_private_types_in_public_api _Result visitResolvedClipNode(ResolvedClipNode clipNode, Node data) { final _Result childResult = clipNode.child.accept(this, clipNode); - final ResolvedClipNode newClipNode = ResolvedClipNode( + final newClipNode = ResolvedClipNode( clips: clipNode.clips, child: childResult.node, ); - final _Result result = _Result(newClipNode); + final result = _Result(newClipNode); result.children.add(childResult.node); return result; @@ -340,18 +340,18 @@ class OverdrawOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitSaveLayerNode(SaveLayerNode layerNode, Node data) { - final List newChildren = []; + final newChildren = []; for (final Node child in layerNode.children) { final _Result childResult = child.accept(this, layerNode); newChildren.add(childResult.node); } - final SaveLayerNode newLayerNode = SaveLayerNode( + final newLayerNode = SaveLayerNode( layerNode.attributes, paint: layerNode.paint, children: newChildren, ); - final _Result result = _Result(newLayerNode); + final result = _Result(newLayerNode); result.children.addAll(newChildren); return result; } @@ -368,9 +368,9 @@ class OverdrawOptimizer extends Visitor<_Result, Node> @override // ignore: library_private_types_in_public_api _Result visitViewportNode(ViewportNode viewportNode, void data) { - final List children = []; + final children = []; - final ParentNode parentNode = ParentNode( + final parentNode = ParentNode( SvgAttributes.empty, children: viewportNode.children.toList(), ); @@ -378,7 +378,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> final _Result childResult = parentNode.accept(this, viewportNode); children.addAll((childResult.node as ParentNode).children); - final ViewportNode node = ViewportNode( + final node = ViewportNode( viewportNode.attributes, width: viewportNode.width, height: viewportNode.height, @@ -386,7 +386,7 @@ class OverdrawOptimizer extends Visitor<_Result, Node> children: children, ); - final _Result result = _Result(node); + final result = _Result(node); result.children.addAll(children); return result; } diff --git a/packages/vector_graphics_compiler/lib/src/svg/parser.dart b/packages/vector_graphics_compiler/lib/src/svg/parser.dart index 3ff4a2398dc..b8f67adc89c 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/parser.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/parser.dart @@ -73,7 +73,7 @@ class _Elements { // TODO(dnfield): Support nested SVG elements. https://github.com/dnfield/flutter_svg/issues/132 if (parserState._root != null) { - const String errorMessage = 'Unsupported nested element.'; + const errorMessage = 'Unsupported nested element.'; if (warningsAsErrors) { throw UnsupportedError(errorMessage); } @@ -106,7 +106,7 @@ class _Elements { } final ParentNode parent = parserState.currentGroup!; - final ParentNode group = ParentNode(parserState._currentAttributes); + final group = ParentNode(parserState._currentAttributes); parent.addChild( group, @@ -128,7 +128,7 @@ class _Elements { final ParentNode parent = parserState.currentGroup!; final XmlStartElementEvent element = parserState._currentStartElement!; - final TextPositionNode group = TextPositionNode( + final group = TextPositionNode( parserState._currentAttributes, reset: element.localName == 'text', ); @@ -147,7 +147,7 @@ class _Elements { } static void symbol(SvgParser parserState, bool warningsAsErrors) { - final ParentNode group = ParentNode(parserState._currentAttributes); + final group = ParentNode(parserState._currentAttributes); parserState.addGroup(parserState._currentStartElement!, group); return; } @@ -178,7 +178,7 @@ class _Elements { final String? rawY = attributes.raw['y']; final String id = parserState.buildUrlIri(); parserState.patternIds.add(id); - final SvgAttributes newAttributes = SvgAttributes._( + final newAttributes = SvgAttributes._( raw: attributes.raw, id: attributes.id, href: attributes.href, @@ -199,7 +199,7 @@ class _Elements { height: patternHeight, ); - final ParentNode group = ParentNode(newAttributes); + final group = ParentNode(newAttributes); parserState.addGroup(parserState._currentStartElement!, group); return; } @@ -223,7 +223,7 @@ class _Elements { )!, ); - final ParentNode group = ParentNode( + final group = ParentNode( // parserState._currentAttributes, SvgAttributes.empty, precalculatedTransform: transform, @@ -352,11 +352,11 @@ class _Elements { parseStops(parserState, colors, offsets); } - final Point fromPoint = Point( + final fromPoint = Point( parseDecimalOrPercentage(x1), parseDecimalOrPercentage(y1), ); - final Point toPoint = Point( + final toPoint = Point( parseDecimalOrPercentage(x2), parseDecimalOrPercentage(y2), ); @@ -380,7 +380,7 @@ class _Elements { static void clipPath(SvgParser parserState, bool warningsAsErrors) { final String id = parserState.buildUrlIri(); - final List pathNodes = []; + final pathNodes = []; for (final XmlEvent event in parserState._readSubtree()) { if (event is XmlEndElementEvent) { continue; @@ -414,8 +414,7 @@ class _Elements { ), ); } else { - final String errorMessage = - 'Unsupported clipPath child ${event.name}'; + final errorMessage = 'Unsupported clipPath child ${event.name}'; if (warningsAsErrors) { throw UnsupportedError(errorMessage); } @@ -433,7 +432,7 @@ class _Elements { } if (xlinkHref.startsWith('data:')) { - const Map supportedMimeTypes = { + const supportedMimeTypes = { 'png': ImageFormat.png, 'jpeg': ImageFormat.jpeg, 'jpg': ImageFormat.jpeg, @@ -463,11 +462,7 @@ class _Elements { final Uint8List data = base64.decode( xlinkHref.substring(commaLocation).replaceAll(_whitespacePattern, ''), ); - final ImageNode image = ImageNode( - data, - format, - parserState._currentAttributes, - ); + final image = ImageNode(data, format, parserState._currentAttributes); parserState.currentGroup!.addChild( image, clipResolver: parserState._definitions.getClipPath, @@ -496,7 +491,7 @@ class _Paths { final double r = parserState.parseDoubleWithUnits( parserState.attribute('r', def: '0'), )!; - final Rect oval = Rect.fromCircle(cx, cy, r); + final oval = Rect.fromCircle(cx, cy, r); return PathBuilder( parserState._currentAttributes.fillRule, ).addOval(oval).toPath(); @@ -551,7 +546,7 @@ class _Paths { if (points == '') { return null; } - final String path = 'M$points${close ? 'z' : ''}'; + final path = 'M$points${close ? 'z' : ''}'; return parseSvgPathData(path, parserState._currentAttributes.fillRule); } @@ -570,7 +565,7 @@ class _Paths { parserState.attribute('ry', def: '0'), )!; - final Rect r = Rect.fromLTWH(cx - rx, cy - ry, rx * 2, ry * 2); + final r = Rect.fromLTWH(cx - rx, cy - ry, rx * 2, ry * 2); return PathBuilder( parserState._currentAttributes.fillRule, ).addOval(r).toPath(); @@ -681,7 +676,7 @@ class SvgParser { final int subtreeStartDepth = depth; while (_eventIterator.moveNext()) { final XmlEvent event = _eventIterator.current; - bool isSelfClosing = false; + var isSelfClosing = false; if (event is XmlStartElementEvent) { final Map attributeMap = _createAttributeMap( event.attributes, @@ -721,7 +716,7 @@ class SvgParser { assert(_inTextOrTSpan); assert(_whitespacePattern.pattern == r'\s'); - final bool textHasNonWhitespace = text.trim() != ''; + final textHasNonWhitespace = text.trim() != ''; // Not from the spec, but seems like how Chrome behaves. // - If `x` is specified, don't prepend whitespace. @@ -808,11 +803,11 @@ class SvgParser { _parseTree(); /// Resolve the tree - final ResolvingVisitor resolvingVisitor = ResolvingVisitor(); - final Tessellator tessellator = Tessellator(); - final MaskingOptimizer maskingOptimizer = MaskingOptimizer(); - final ClippingOptimizer clippingOptimizer = ClippingOptimizer(); - final OverdrawOptimizer overdrawOptimizer = OverdrawOptimizer(); + final resolvingVisitor = ResolvingVisitor(); + final tessellator = Tessellator(); + final maskingOptimizer = MaskingOptimizer(); + final clippingOptimizer = ClippingOptimizer(); + final overdrawOptimizer = OverdrawOptimizer(); Node newRoot = _root!.accept(resolvingVisitor, AffineMatrix.identity); @@ -847,7 +842,7 @@ class SvgParser { } /// Convert to vector instructions - final CommandBuilderVisitor commandVisitor = CommandBuilderVisitor(); + final commandVisitor = CommandBuilderVisitor(); newRoot.accept(commandVisitor, null); return commandVisitor.toInstructions(); @@ -902,7 +897,7 @@ class SvgParser { if (path == null) { return false; } - final PathNode drawable = PathNode(path, _currentAttributes); + final drawable = PathNode(path, _currentAttributes); checkForIri(drawable); parent.addChild( @@ -950,7 +945,7 @@ class SvgParser { /// Will only print an error once for unhandled/unexpected elements, except for /// ``, ``, and `` elements. void unhandledElement(XmlStartElementEvent event) { - final String errorMessage = + final errorMessage = 'unhandled element <${event.name}/>; Picture key: $_key'; if (_warningsAsErrors) { // Throw error instead of log warning. @@ -1089,7 +1084,7 @@ class SvgParser { return double.infinity; } assert(() { - final RegExp notDigits = RegExp(r'[^\d\.]'); + final notDigits = RegExp(r'[^\d\.]'); if (!raw.endsWith('px') && !raw.endsWith('em') && !raw.endsWith('ex') && @@ -1214,9 +1209,9 @@ class SvgParser { } final List parts = rawDashArray.split(RegExp(r'[ ,]+')); - final List doubles = []; - bool atLeastOneNonZeroDash = false; - for (final String part in parts) { + final doubles = []; + var atLeastOneNonZeroDash = false; + for (final part in parts) { final double dashOffset = parseDoubleWithUnits(part)!; if (dashOffset != 0) { atLeastOneNonZeroDash = true; @@ -1417,7 +1412,7 @@ class SvgParser { final double saturation = values[1] / 100; final double luminance = values[2] / 100; final int alpha = values.length > 3 ? values[3] : 255; - List rgb = [0, 0, 0]; + var rgb = [0, 0, 0]; if (hue < 1 / 6) { rgb[0] = 1; @@ -1495,9 +1490,9 @@ class SvgParser { } Map _createAttributeMap(List attributes) { - final Map attributeMap = {}; + final attributeMap = {}; - for (final XmlEventAttribute attribute in attributes) { + for (final attribute in attributes) { final String value = attribute.value.trim(); if (attribute.localName == 'style') { for (final String style in value.split(';')) { @@ -1572,7 +1567,7 @@ class SvgParser { strokeColor = parseColor(rawStroke, attributeName: 'stroke', id: id); } - final Color? color = strokeColor; + final color = strokeColor; return SvgStrokeAttributes._( _definitions, @@ -1730,11 +1725,11 @@ class _Resolver { return []; } - final List pathBuilders = []; + final pathBuilders = []; PathBuilder? currentPath; void extractPathsFromNode(Node? target) { if (target is PathNode) { - final PathBuilder nextPath = PathBuilder.fromPath(target.path); + final nextPath = PathBuilder.fromPath(target.path); nextPath.fillType = target.attributes.clipRule ?? PathFillType.nonZero; if (currentPath != null && nextPath.fillType != currentPath!.fillType) { currentPath = nextPath; @@ -2095,7 +2090,7 @@ class SvgAttributes { AffineMatrix? transformOverride, String? hrefOverride, }) { - final Map newRaw = { + final newRaw = { ...Map.fromEntries(parent.heritable), if (includePosition && parent.raw.containsKey('x')) 'x': parent.raw['x']!, if (includePosition && parent.raw.containsKey('y')) 'y': parent.raw['y']!, diff --git a/packages/vector_graphics_compiler/lib/src/svg/parsers.dart b/packages/vector_graphics_compiler/lib/src/svg/parsers.dart index fec2eb89c7e..5b9dd2b46ba 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/parsers.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/parsers.dart @@ -26,9 +26,9 @@ const Map _matrixParsers = { }; List _parseTransformParams(String params) { - final List result = []; - String current = ''; - for (int i = 0; i < params.length; i += 1) { + final result = []; + var current = ''; + for (var i = 0; i < params.length; i += 1) { final String char = params[i]; final bool isSeparator = char == ' ' || char == '-' || char == ','; final bool isExponent = i > 0 && params[i - 1].toLowerCase() == 'e'; @@ -71,7 +71,7 @@ AffineMatrix? parseTransform(String? transform) { .toList() .reversed; AffineMatrix result = AffineMatrix.identity; - for (final Match m in matches) { + for (final m in matches) { final String command = m.group(1)!.trim(); final List params = _parseTransformParams(m.group(2)!.trim()); diff --git a/packages/vector_graphics_compiler/lib/src/svg/resolver.dart b/packages/vector_graphics_compiler/lib/src/svg/resolver.dart index 7f1ecbc652b..c36266356f4 100644 --- a/packages/vector_graphics_compiler/lib/src/svg/resolver.dart +++ b/packages/vector_graphics_compiler/lib/src/svg/resolver.dart @@ -22,7 +22,7 @@ class ResolvingVisitor extends Visitor { @override Node visitClipNode(ClipNode clipNode, AffineMatrix data) { final AffineMatrix childTransform = clipNode.concatTransform(data); - final List transformedClips = [ + final transformedClips = [ for (final Path clip in clipNode.resolver(clipNode.clipId)) clip.transformed(childTransform), ]; @@ -98,11 +98,8 @@ class ResolvingVisitor extends Visitor { final Paint? paint = pathNode.computePaint(originalBounds, transform); if (paint != null) { if (pathNode.attributes.stroke?.dashArray != null) { - final List children = []; - final ParentNode parent = ParentNode( - pathNode.attributes, - children: children, - ); + final children = []; + final parent = ParentNode(pathNode.attributes, children: children); if (paint.fill != null) { children.add( ResolvedPathNode( @@ -258,11 +255,11 @@ class ResolvingVisitor extends Visitor { double? width = double.tryParse(attributes.raw['width'] ?? ''); double? height = double.tryParse(attributes.raw['height'] ?? ''); if (width == null || height == null) { - final ImageSizeData data = ImageSizeData.fromBytes(imageNode.data); + final data = ImageSizeData.fromBytes(imageNode.data); width ??= data.width.toDouble(); height ??= data.height.toDouble(); } - final Rect rect = Rect.fromLTWH(left, top, width, height); + final rect = Rect.fromLTWH(left, top, width, height); // Determine if this image can be drawn without any transforms because // it only has an offset and/or scale. diff --git a/packages/vector_graphics_compiler/lib/src/util.dart b/packages/vector_graphics_compiler/lib/src/util.dart index c00e978d5c6..cbe9243a84d 100644 --- a/packages/vector_graphics_compiler/lib/src/util.dart +++ b/packages/vector_graphics_compiler/lib/src/util.dart @@ -17,7 +17,7 @@ bool listEquals(List? a, List? b) { if (identical(a, b)) { return true; } - for (int index = 0; index < a.length; index += 1) { + for (var index = 0; index < a.length; index += 1) { if (a[index] != b[index]) { return false; } diff --git a/packages/vector_graphics_compiler/lib/src/vector_instructions.dart b/packages/vector_graphics_compiler/lib/src/vector_instructions.dart index 72a96dfe9dd..15552480633 100644 --- a/packages/vector_graphics_compiler/lib/src/vector_instructions.dart +++ b/packages/vector_graphics_compiler/lib/src/vector_instructions.dart @@ -216,7 +216,7 @@ class DrawCommand { @override String toString() { - final StringBuffer buffer = StringBuffer('DrawCommand($type'); + final buffer = StringBuffer('DrawCommand($type'); if (objectId != null) { buffer.write(', objectId: $objectId'); } diff --git a/packages/vector_graphics_compiler/lib/vector_graphics_compiler.dart b/packages/vector_graphics_compiler/lib/vector_graphics_compiler.dart index fe889333c07..39bccefec75 100644 --- a/packages/vector_graphics_compiler/lib/vector_graphics_compiler.dart +++ b/packages/vector_graphics_compiler/lib/vector_graphics_compiler.dart @@ -65,13 +65,7 @@ VectorInstructions parse( bool enableOverdrawOptimizer = true, ColorMapper? colorMapper, }) { - final SvgParser parser = SvgParser( - xml, - theme, - key, - warningsAsErrors, - colorMapper, - ); + final parser = SvgParser(xml, theme, key, warningsAsErrors, colorMapper); parser.enableMaskingOptimizer = enableMaskingOptimizer; parser.enableClippingOptimizer = enableClippingOptimizer; parser.enableOverdrawOptimizer = enableOverdrawOptimizer; @@ -162,14 +156,14 @@ Uint8List _encodeInstructions( VectorInstructions instructions, bool useHalfPrecisionControlPoints, ) { - const VectorGraphicsCodec codec = VectorGraphicsCodec(); - final VectorGraphicsBuffer buffer = VectorGraphicsBuffer(); + const codec = VectorGraphicsCodec(); + final buffer = VectorGraphicsBuffer(); codec.writeSize(buffer, instructions.width, instructions.height); - final Map fillIds = {}; - final Map strokeIds = {}; - final Map shaderIds = {}; + final fillIds = {}; + final strokeIds = {}; + final shaderIds = {}; for (final ImageData data in instructions.images) { codec.writeImage(buffer, data.format, data.data); @@ -180,7 +174,7 @@ Uint8List _encodeInstructions( _encodeShader(paint.stroke?.shader, shaderIds, codec, buffer); } - int nextPaintId = 0; + var nextPaintId = 0; for (final Paint paint in instructions.paints) { final Fill? fill = paint.fill; final Stroke? stroke = paint.stroke; @@ -212,24 +206,24 @@ Uint8List _encodeInstructions( nextPaintId += 1; } - final Map pathIds = {}; - int nextPathId = 0; + final pathIds = {}; + var nextPathId = 0; for (final Path path in instructions.paths) { - final List controlPointTypes = []; - final List controlPoints = []; + final controlPointTypes = []; + final controlPoints = []; for (final PathCommand command in path.commands) { switch (command.type) { case PathCommandType.move: - final MoveToCommand move = command as MoveToCommand; + final move = command as MoveToCommand; controlPointTypes.add(ControlPointTypes.moveTo); controlPoints.addAll([move.x, move.y]); case PathCommandType.line: - final LineToCommand line = command as LineToCommand; + final line = command as LineToCommand; controlPointTypes.add(ControlPointTypes.lineTo); controlPoints.addAll([line.x, line.y]); case PathCommandType.cubic: - final CubicToCommand cubic = command as CubicToCommand; + final cubic = command as CubicToCommand; controlPointTypes.add(ControlPointTypes.cubicTo); controlPoints.addAll([ cubic.x1, diff --git a/packages/vector_graphics_compiler/pubspec.yaml b/packages/vector_graphics_compiler/pubspec.yaml index 9e746432005..3e6911fc9a3 100644 --- a/packages/vector_graphics_compiler/pubspec.yaml +++ b/packages/vector_graphics_compiler/pubspec.yaml @@ -8,7 +8,7 @@ executables: vector_graphics_compiler: environment: - sdk: ^3.8.0 + sdk: ^3.9.0 dependencies: args: ^2.3.0 diff --git a/packages/vector_graphics_compiler/test/cli_test.dart b/packages/vector_graphics_compiler/test/cli_test.dart index ea949906588..941a1a010c3 100644 --- a/packages/vector_graphics_compiler/test/cli_test.dart +++ b/packages/vector_graphics_compiler/test/cli_test.dart @@ -12,8 +12,8 @@ import '../bin/util/isolate_processor.dart'; import '../bin/vector_graphics_compiler.dart' as cli; void main() { - final File output = File('test_data/example.vec'); - final File outputDebug = File('test_data/example.vec.debug'); + final output = File('test_data/example.vec'); + final outputDebug = File('test_data/example.vec.debug'); test('currentColor/font-size works', () async { try { @@ -42,7 +42,7 @@ void main() { test('Can run with isolate processor', () async { try { - final IsolateProcessor processor = IsolateProcessor(null, null, 4); + final processor = IsolateProcessor(null, null, 4); final bool result = await processor.process( [Pair('test_data/example.svg', output.path)], maskingOptimizerEnabled: false, @@ -63,7 +63,7 @@ void main() { test('Can dump debug format with isolate processor', () async { try { - final IsolateProcessor processor = IsolateProcessor(null, null, 4); + final processor = IsolateProcessor(null, null, 4); final bool result = await processor.process( [Pair('test_data/example.svg', output.path)], maskingOptimizerEnabled: false, @@ -87,9 +87,9 @@ void main() { }); test('out-dir option works', () async { - const String inputTestDir = 'test_data'; + const inputTestDir = 'test_data'; - const String outTestDir = 'output_vec'; + const outTestDir = 'output_vec'; try { await cli.main([ @@ -99,10 +99,10 @@ void main() { outTestDir, ]); - bool passed = false; + var passed = false; - final Directory inputDir = Directory(inputTestDir); - final Directory outDir = Directory(outTestDir); + final inputDir = Directory(inputTestDir); + final outDir = Directory(outTestDir); if (inputDir.existsSync() && outDir.existsSync()) { final List inputTestFiles = inputDir diff --git a/packages/vector_graphics_compiler/test/clipping_optimizer_test.dart b/packages/vector_graphics_compiler/test/clipping_optimizer_test.dart index c69280fe32d..a7a98f19e22 100644 --- a/packages/vector_graphics_compiler/test/clipping_optimizer_test.dart +++ b/packages/vector_graphics_compiler/test/clipping_optimizer_test.dart @@ -12,12 +12,12 @@ import 'test_svg_strings.dart'; Node parseAndResolve(String source) { final Node node = parseToNodeTree(source); - final ResolvingVisitor visitor = ResolvingVisitor(); + final visitor = ResolvingVisitor(); return node.accept(visitor, AffineMatrix.identity); } List queryChildren(Node node) { - final List children = []; + final children = []; void visitor(Node child) { if (child is T) { children.add(child); @@ -48,7 +48,7 @@ void main() { '''); - final ClippingOptimizer visitor = ClippingOptimizer(); + final visitor = ClippingOptimizer(); final Node newNode = visitor.apply(node); final List clipNodesNew = queryChildren( @@ -69,7 +69,7 @@ void main() { '''); - final ClippingOptimizer visitor = ClippingOptimizer(); + final visitor = ClippingOptimizer(); final Node newNode = visitor.apply(node); final List clipNodesNew = @@ -93,7 +93,7 @@ void main() { '''); - final ClippingOptimizer visitor = ClippingOptimizer(); + final visitor = ClippingOptimizer(); final Node newNode = visitor.apply(node); final List clipNodesNew = @@ -111,7 +111,7 @@ void main() { ); final List parentNodesOld = queryChildren(node); - final ClippingOptimizer visitor = ClippingOptimizer(); + final visitor = ClippingOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = queryChildren( @@ -176,7 +176,7 @@ void main() { }); test('Preserves fill type changes', () { - const String svg = ''' + const svg = ''' diff --git a/packages/vector_graphics_compiler/test/draw_command_builder_test.dart b/packages/vector_graphics_compiler/test/draw_command_builder_test.dart index 079d11827e0..5f5e895ae2c 100644 --- a/packages/vector_graphics_compiler/test/draw_command_builder_test.dart +++ b/packages/vector_graphics_compiler/test/draw_command_builder_test.dart @@ -8,7 +8,7 @@ import 'package:vector_graphics_compiler/vector_graphics_compiler.dart'; void main() { test('DrawCommandBuilder does not emit empty paths', () { - final DrawCommandBuilder builder = DrawCommandBuilder(); + final builder = DrawCommandBuilder(); builder.addPath(Path(), const Paint(), null, null); expect(builder.toInstructions(100, 100).commands, isEmpty); }); diff --git a/packages/vector_graphics_compiler/test/end_to_end_test.dart b/packages/vector_graphics_compiler/test/end_to_end_test.dart index 490bf573e20..2204b2cc93e 100644 --- a/packages/vector_graphics_compiler/test/end_to_end_test.dart +++ b/packages/vector_graphics_compiler/test/end_to_end_test.dart @@ -62,7 +62,7 @@ void main() { testWidgets('Errors on unsupported image mime type', ( WidgetTester tester, ) async { - const String svgInlineImage = r''' + const svgInlineImage = r''' @@ -82,7 +82,7 @@ void main() { }); test('encodeSvg encodes stroke shaders', () async { - const String svg = ''' + const svg = ''' @@ -103,8 +103,8 @@ void main() { enableMaskingOptimizer: false, enableOverdrawOptimizer: false, ); - const VectorGraphicsCodec codec = VectorGraphicsCodec(); - final TestListener listener = TestListener(); + const codec = VectorGraphicsCodec(); + final listener = TestListener(); codec.decode(bytes.buffer.asByteData(), listener); expect(listener.commands, [ const OnSize(120, 120), @@ -138,7 +138,7 @@ void main() { }); test('Encodes nested tspan for text', () async { - const String svg = ''' + const svg = ''' [ const OnSize(1000, 300), @@ -270,7 +270,7 @@ void main() { }); test('Encodes image elids trivial translation transform', () async { - const String svg = + const svg = ''' @@ -286,8 +286,8 @@ void main() { enableMaskingOptimizer: false, enableOverdrawOptimizer: false, ); - const VectorGraphicsCodec codec = VectorGraphicsCodec(); - final TestListener listener = TestListener(); + const codec = VectorGraphicsCodec(); + final listener = TestListener(); final ByteData data = bytes.buffer.asByteData(); final DecodeResponse response = codec.decode(data, listener); codec.decode(data, listener, response: response); @@ -300,7 +300,7 @@ void main() { }); test('Encodes image elids trivial scale transform', () async { - const String svg = + const svg = ''' @@ -316,8 +316,8 @@ void main() { enableMaskingOptimizer: false, enableOverdrawOptimizer: false, ); - const VectorGraphicsCodec codec = VectorGraphicsCodec(); - final TestListener listener = TestListener(); + const codec = VectorGraphicsCodec(); + final listener = TestListener(); final ByteData data = bytes.buffer.asByteData(); final DecodeResponse response = codec.decode(data, listener); codec.decode(data, listener, response: response); @@ -330,7 +330,7 @@ void main() { }); test('Encodes image does not elide non-trivial transform', () async { - const String svg = + const svg = ''' @@ -346,8 +346,8 @@ void main() { enableMaskingOptimizer: false, enableOverdrawOptimizer: false, ); - const VectorGraphicsCodec codec = VectorGraphicsCodec(); - final TestListener listener = TestListener(); + const codec = VectorGraphicsCodec(); + final listener = TestListener(); final ByteData data = bytes.buffer.asByteData(); final DecodeResponse response = codec.decode(data, listener); codec.decode(data, listener, response: response); @@ -1186,7 +1186,7 @@ bool _listEquals(List? left, List? right) { if (left.length != right.length) { return false; } - for (int i = 0; i < left.length; i++) { + for (var i = 0; i < left.length; i++) { if (left[i] != right[i]) { return false; } diff --git a/packages/vector_graphics_compiler/test/helpers.dart b/packages/vector_graphics_compiler/test/helpers.dart index 5c1a2b14fd2..0f404a4441b 100644 --- a/packages/vector_graphics_compiler/test/helpers.dart +++ b/packages/vector_graphics_compiler/test/helpers.dart @@ -5,7 +5,7 @@ import 'package:vector_graphics_compiler/src/svg/node.dart'; List queryChildren(Node node) { - final List children = []; + final children = []; void visitor(Node child) { if (child is T) { children.add(child); diff --git a/packages/vector_graphics_compiler/test/masking_optimizer_test.dart b/packages/vector_graphics_compiler/test/masking_optimizer_test.dart index 9280d0c701e..305703c1905 100644 --- a/packages/vector_graphics_compiler/test/masking_optimizer_test.dart +++ b/packages/vector_graphics_compiler/test/masking_optimizer_test.dart @@ -15,7 +15,7 @@ import 'test_svg_strings.dart'; Node parseAndResolve(String source) { final Node node = parseToNodeTree(source); - final ResolvingVisitor visitor = ResolvingVisitor(); + final visitor = ResolvingVisitor(); return node.accept(visitor, AffineMatrix.identity); } @@ -42,7 +42,7 @@ void main() { '''); - final MaskingOptimizer visitor = MaskingOptimizer(); + final visitor = MaskingOptimizer(); final Node newNode = visitor.apply(node); final List maskNodesNew = @@ -65,7 +65,7 @@ void main() { '''); - final MaskingOptimizer visitor = MaskingOptimizer(); + final visitor = MaskingOptimizer(); final Node newNode = visitor.apply(node); final List maskNodesNew = @@ -89,7 +89,7 @@ void main() { '''); - final MaskingOptimizer visitor = MaskingOptimizer(); + final visitor = MaskingOptimizer(); final Node newNode = visitor.apply(node); final List maskNodesNew = @@ -108,7 +108,7 @@ void main() { '''); - final MaskingOptimizer visitor = MaskingOptimizer(); + final visitor = MaskingOptimizer(); final Node newNode = visitor.apply(node); final List maskNodesNew = queryChildren( @@ -124,7 +124,7 @@ void main() { ); final List parentNodesOld = queryChildren(node); - final MaskingOptimizer visitor = MaskingOptimizer(); + final visitor = MaskingOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = queryChildren( @@ -201,7 +201,7 @@ void main() { final VectorInstructions instructionsWithOptimizer = parse(blendAndMask); expect(instructionsWithOptimizer.paths, blendsAndMasksForMaskingOptimizer); - const LinearGradient gradient1 = LinearGradient( + const gradient1 = LinearGradient( id: 'url(#linearGradient-3)', from: Point(46.9782516, 60.9121966), to: Point(60.42279469999999, 90.6839734), @@ -210,7 +210,7 @@ void main() { tileMode: TileMode.clamp, unitMode: GradientUnitMode.transformed, ); - const LinearGradient gradient2 = LinearGradient( + const gradient2 = LinearGradient( id: 'url(#linearGradient-3)', from: Point(47.58260128, 58.72975728), to: Point(58.338235759999996, 82.54717871999999), diff --git a/packages/vector_graphics_compiler/test/matrix_test.dart b/packages/vector_graphics_compiler/test/matrix_test.dart index 7f8f6dd34f4..fd1822fff34 100644 --- a/packages/vector_graphics_compiler/test/matrix_test.dart +++ b/packages/vector_graphics_compiler/test/matrix_test.dart @@ -58,11 +58,11 @@ void main() { }); test('Multiply', () { - const AffineMatrix matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); - const AffineMatrix matrix2 = AffineMatrix(7, 8, 9, 10, 11, 12); + const matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); + const matrix2 = AffineMatrix(7, 8, 9, 10, 11, 12); - final Matrix4 matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); - final Matrix4 matrix4_2 = Matrix4.fromFloat64List(matrix2.toMatrix4()); + final matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); + final matrix4_2 = Matrix4.fromFloat64List(matrix2.toMatrix4()); expect( matrix1.multiplied(matrix2).toMatrix4(), matrix4_1.multiplied(matrix4_2).storage, @@ -70,9 +70,9 @@ void main() { }); test('Scale', () { - const AffineMatrix matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); + const matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); - final Matrix4 matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); + final matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); expect( matrix1.scaled(2, 3).toMatrix4(), matrix4_1.scaled(2.0, 3.0).storage, @@ -82,11 +82,11 @@ void main() { }); test('Scale and multiply', () { - const AffineMatrix matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); - const AffineMatrix matrix2 = AffineMatrix(7, 8, 9, 10, 11, 12); + const matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); + const matrix2 = AffineMatrix(7, 8, 9, 10, 11, 12); - final Matrix4 matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); - final Matrix4 matrix4_2 = Matrix4.fromFloat64List(matrix2.toMatrix4()); + final matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); + final matrix4_2 = Matrix4.fromFloat64List(matrix2.toMatrix4()); expect( matrix1.scaled(2, 3).multiplied(matrix2).toMatrix4(), matrix4_1.scaled(2.0, 3.0).multiplied(matrix4_2).storage, @@ -101,24 +101,24 @@ void main() { }); test('Translate', () { - const AffineMatrix matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); + const matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); - final Matrix4 matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); + final matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()); matrix4_1.translate(2.0, 3.0); expect(matrix1.translated(2, 3).toMatrix4(), matrix4_1.storage); }); test('Rotate', () { - const AffineMatrix matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); + const matrix1 = AffineMatrix(2, 2, 3, 4, 5, 6); - final Matrix4 matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()) + final matrix4_1 = Matrix4.fromFloat64List(matrix1.toMatrix4()) ..rotateZ(31.0); expect(matrix1.rotated(31).toMatrix4(), matrix4_1.storage); }); test('transformRect', () { - const double epsillon = .0000001; - const Rect rectangle20x20 = Rect.fromLTRB(10, 20, 30, 40); + const epsillon = .0000001; + const rectangle20x20 = Rect.fromLTRB(10, 20, 30, 40); // Identity expect(AffineMatrix.identity.transformRect(rectangle20x20), rectangle20x20); @@ -151,7 +151,7 @@ void main() { test('== and hashCode account for hidden field', () { const AffineMatrix matrixA = AffineMatrix.identity; - const AffineMatrix matrixB = AffineMatrix(1, 0, 0, 1, 0, 0, 0); + const matrixB = AffineMatrix(1, 0, 0, 1, 0, 0, 0); expect(matrixA != matrixB, true); expect(matrixA.hashCode != matrixB.hashCode, true); diff --git a/packages/vector_graphics_compiler/test/node_test.dart b/packages/vector_graphics_compiler/test/node_test.dart index a55306a12f3..a5515739f85 100644 --- a/packages/vector_graphics_compiler/test/node_test.dart +++ b/packages/vector_graphics_compiler/test/node_test.dart @@ -9,7 +9,7 @@ import 'package:vector_graphics_compiler/vector_graphics_compiler.dart'; void main() { test('TextPosition uses computed transform', () { - final TextPositionNode node = TextPositionNode( + final node = TextPositionNode( SvgAttributes.forTest( x: DoubleOrPercentage.fromString('5'), y: DoubleOrPercentage.fromString('3'), @@ -32,12 +32,12 @@ void main() { }); test('TextNode returns null for Paint if stroke and fill are missing', () { - final TextNode node = TextNode('text', SvgAttributes.empty); + final node = TextNode('text', SvgAttributes.empty); expect(node.computePaint(Rect.largest, AffineMatrix.identity), null); }); test('PathNode returns null for Paint if stroke and fill are missing', () { - final PathNode node = PathNode(Path(), SvgAttributes.empty); + final node = PathNode(Path(), SvgAttributes.empty); expect(node.computePaint(Rect.largest, AffineMatrix.identity), null); }); } diff --git a/packages/vector_graphics_compiler/test/overdraw_optimizer_test.dart b/packages/vector_graphics_compiler/test/overdraw_optimizer_test.dart index 87c521d4505..477f3c8d0e0 100644 --- a/packages/vector_graphics_compiler/test/overdraw_optimizer_test.dart +++ b/packages/vector_graphics_compiler/test/overdraw_optimizer_test.dart @@ -12,7 +12,7 @@ import 'test_svg_strings.dart'; Node parseAndResolve(String source) { final Node node = parseToNodeTree(source); - final ResolvingVisitor visitor = ResolvingVisitor(); + final visitor = ResolvingVisitor(); return node.accept(visitor, AffineMatrix.identity); } @@ -32,7 +32,7 @@ void main() { final List pathNodesOld = queryChildren(node); - final OverdrawOptimizer visitor = OverdrawOptimizer(); + final visitor = OverdrawOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = @@ -83,7 +83,7 @@ void main() { node, ); - final OverdrawOptimizer visitor = OverdrawOptimizer(); + final visitor = OverdrawOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = queryChildren( @@ -137,7 +137,7 @@ void main() { final Node node = parseAndResolve(opacityOverlap); final VectorInstructions instructions = parse(opacityOverlap); - final OverdrawOptimizer visitor = OverdrawOptimizer(); + final visitor = OverdrawOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = queryChildren( @@ -213,7 +213,7 @@ void main() { final Node node = parseAndResolve(solidOverTrasnparent); final VectorInstructions instructions = parse(solidOverTrasnparent); - final OverdrawOptimizer visitor = OverdrawOptimizer(); + final visitor = OverdrawOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = queryChildren( @@ -267,7 +267,7 @@ void main() { final Node node = parseAndResolve(transparentOverSolid); final VectorInstructions instructions = parse(transparentOverSolid); - final OverdrawOptimizer visitor = OverdrawOptimizer(); + final visitor = OverdrawOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = queryChildren( @@ -365,7 +365,7 @@ void main() { final Node node = parseAndResolve(complexOpacityTest); final VectorInstructions instructions = parse(complexOpacityTest); - final OverdrawOptimizer visitor = OverdrawOptimizer(); + final visitor = OverdrawOptimizer(); final Node newNode = visitor.apply(node); final List pathNodesNew = queryChildren( diff --git a/packages/vector_graphics_compiler/test/paint_test.dart b/packages/vector_graphics_compiler/test/paint_test.dart index 6e6758ad842..064a9e07527 100644 --- a/packages/vector_graphics_compiler/test/paint_test.dart +++ b/packages/vector_graphics_compiler/test/paint_test.dart @@ -17,14 +17,14 @@ void main() { const Color.fromARGB(25, 10, 15, 20), ); - const Color testColor = Color(0xFFABCDEF); + const testColor = Color(0xFFABCDEF); expect(testColor.r, 0xAB); expect(testColor.g, 0xCD); expect(testColor.b, 0xEF); }); test('LinearGradient can be converted to local coordinates', () { - const LinearGradient gradient = LinearGradient( + const gradient = LinearGradient( id: 'test', from: Point.zero, to: Point(1, 1), @@ -44,7 +44,7 @@ void main() { }); test('LinearGradient applied bounds with userSpaceOnUse', () { - const LinearGradient gradient = LinearGradient( + const gradient = LinearGradient( id: 'test', from: Point.zero, to: Point(1, 1), @@ -65,7 +65,7 @@ void main() { }); test('LinearGradient applied bounds with userSpaceOnUse and transformed', () { - final LinearGradient gradient = LinearGradient( + final gradient = LinearGradient( id: 'test', from: Point.zero, to: const Point(1, 1), @@ -86,7 +86,7 @@ void main() { }); test('RadialGradient can be converted to local coordinates', () { - const RadialGradient gradient = RadialGradient( + const gradient = RadialGradient( id: 'test', center: Point(0.5, 0.5), radius: 10, @@ -114,7 +114,7 @@ void main() { }); test('RadialGradient applied bounds with userSpaceOnUse', () { - const RadialGradient gradient = RadialGradient( + const gradient = RadialGradient( id: 'test', center: Point(0.5, 0.5), radius: 10, diff --git a/packages/vector_graphics_compiler/test/parser_test.dart b/packages/vector_graphics_compiler/test/parser_test.dart index 14369bebe75..61644f6351b 100644 --- a/packages/vector_graphics_compiler/test/parser_test.dart +++ b/packages/vector_graphics_compiler/test/parser_test.dart @@ -187,7 +187,7 @@ void main() { }); test('None on fill', () { - const String svg = ''' + const svg = ''' @@ -224,7 +224,7 @@ void main() { }); test('text spacing', () { - const String svg = ''' + const svg = ''' @@ -278,7 +278,7 @@ void main() { }); test('stroke-opacity', () { - const String strokeOpacitySvg = ''' + const strokeOpacitySvg = ''' @@ -295,7 +295,7 @@ void main() { }); test('preserve opacity from color mapper for strokes', () { - const String strokeOpacitySvg = ''' + const strokeOpacitySvg = ''' @@ -369,7 +369,7 @@ void main() { }); test('currentColor', () { - const String currentColorSvg = ''' + const currentColorSvg = ''' @@ -396,7 +396,7 @@ void main() { }); test('currentColor stoke opacity', () { - const String currentColorSvg = ''' + const currentColorSvg = ''' @@ -797,7 +797,7 @@ void main() { }); test('stroke-width with invalid value', () { - const String svg = + const svg = ''; final VectorInstructions instructions = parseWithoutOptimizers(svg); @@ -823,18 +823,18 @@ void main() { }); test('stroke-width with unit value', () { - const SvgTheme theme = SvgTheme(); + const theme = SvgTheme(); const double ptConversionFactor = 96 / 72; - const String svg_px = + const svg_px = ''; - const String svg_pt = + const svg_pt = ''; - const String svg_ex = + const svg_ex = ''; - const String svg_em = + const svg_em = ''; - const String svg_rem = + const svg_rem = ''; final VectorInstructions instructionsPx = parseWithoutOptimizers(svg_px); @@ -1111,7 +1111,7 @@ void main() { ); test('Opaque blend mode gets a save layer', () { - const String svg = ''' + const svg = ''' @@ -1140,7 +1140,7 @@ void main() { }); test('Stroke properties respected in toStroke', () { - const String svg = ''' + const svg = ''' @@ -1359,7 +1359,7 @@ void main() { }); test('Handles viewBox transformations correctly', () { - const String svg = ''' + const svg = ''' @@ -1374,7 +1374,7 @@ void main() { }); test('Parses rrects correctly', () { - const String svg = ''' + const svg = ''' @@ -1619,7 +1619,7 @@ void main() { }); test('Parses text with pattern as fill', () { - const String textWithPattern = ''' + const textWithPattern = ''' @@ -1658,7 +1658,7 @@ void main() { test('Defaults image height/width when not specified', () { // 1x1 PNG image from png-pixel.com. - const String svgStr = ''' + const svgStr = ''' '''; @@ -1676,7 +1676,7 @@ void main() { // 1x1 PNG image from png-pixel.com. Claiming that it's JPEG and using "img" // instead of "image" to make sure parser doesn't barf. Chrome is ok with // this kind of nonsense. How far we have strayed. - const String svgStr = ''' + const svgStr = ''' '''; @@ -3144,7 +3144,7 @@ void main() { }); test('Parse empty tag', () { - const String svgStr = ''' + const svgStr = ''' ', const SvgTheme(), @@ -157,7 +151,7 @@ void main() { }); test('Parses pattern units to double correctly', () { - final ViewportNode viewportNode = ViewportNode( + final viewportNode = ViewportNode( SvgAttributes.empty, width: 100, height: 1000, diff --git a/packages/vector_graphics_compiler/test/path_ops_test.dart b/packages/vector_graphics_compiler/test/path_ops_test.dart index ea480809083..71cdcf5240d 100644 --- a/packages/vector_graphics_compiler/test/path_ops_test.dart +++ b/packages/vector_graphics_compiler/test/path_ops_test.dart @@ -14,7 +14,7 @@ void main() { } }); test('Path tests', () { - final Path path = Path() + final path = Path() ..lineTo(10, 0) ..lineTo(10, 10) ..lineTo(0, 10) @@ -50,7 +50,7 @@ void main() { 50, ]); - final SvgPathProxy proxy = SvgPathProxy(); + final proxy = SvgPathProxy(); path.replay(proxy); expect( proxy.toString(), @@ -60,13 +60,13 @@ void main() { }); test('Ops test', () { - final Path cubics = Path() + final cubics = Path() ..moveTo(16, 128) ..cubicTo(16, 66, 66, 16, 128, 16) ..cubicTo(240, 66, 16, 66, 240, 128) ..close(); - final Path quad = Path() + final quad = Path() ..moveTo(55, 16) ..lineTo(200, 80) ..lineTo(198, 230) @@ -106,7 +106,7 @@ void main() { }); test('Quad', () { - final Path top = Path() + final top = Path() ..moveTo(87.998, 103.591) ..lineTo(82.72, 103.591) ..lineTo(82.72, 106.64999999999999) @@ -114,7 +114,7 @@ void main() { ..lineTo(87.998, 103.591) ..close(); - final Path bottom = Path() + final bottom = Path() ..moveTo(116.232, 154.452) ..lineTo(19.031999999999996, 154.452) ..cubicTo( diff --git a/packages/vector_graphics_compiler/test/path_test.dart b/packages/vector_graphics_compiler/test/path_test.dart index 1305b5106d0..968c8c3b235 100644 --- a/packages/vector_graphics_compiler/test/path_test.dart +++ b/packages/vector_graphics_compiler/test/path_test.dart @@ -55,8 +55,7 @@ void main() { }); test('addRect', () { - final PathBuilder builder = PathBuilder() - ..addRect(const Rect.fromLTRB(10, 10, 20, 20)); + final builder = PathBuilder()..addRect(const Rect.fromLTRB(10, 10, 20, 20)); expect( builder.toPath().toFlutterString(), @@ -70,7 +69,7 @@ void main() { }); test('addOval', () { - final PathBuilder builder = PathBuilder() + final builder = PathBuilder() ..addOval(const Rect.fromLTRB(10, 10, 20, 20)) ..addOval(const Rect.fromLTRB(50, 50, 80, 70)); expect( @@ -92,7 +91,7 @@ void main() { }); test('addRRect', () { - final PathBuilder builder = PathBuilder() + final builder = PathBuilder() ..addRRect(const Rect.fromLTRB(20, 20, 60, 60), 5, 5); expect( builder.toPath().toFlutterString(), @@ -111,7 +110,7 @@ void main() { }); test('reset/no reset', () { - final PathBuilder builder = PathBuilder()..lineTo(10, 10); + final builder = PathBuilder()..lineTo(10, 10); final Path a = builder.toPath(reset: false); final Path b = builder.toPath(); @@ -124,11 +123,11 @@ void main() { }); test('PathBuilder.fromPath', () { - final PathBuilder builder = PathBuilder()..lineTo(10, 10); + final builder = PathBuilder()..lineTo(10, 10); final Path a = builder.toPath(); - final PathBuilder builderA = PathBuilder.fromPath(a); + final builderA = PathBuilder.fromPath(a); final Path b = builderA.toPath(); expect(a, b); @@ -209,7 +208,7 @@ void main() { }); test('Compute path bounds with rect', () { - final PathBuilder builder = PathBuilder() + final builder = PathBuilder() ..addRect(const Rect.fromLTWH(5, 5, 95, 95)) ..close(); final Path path = builder.toPath(); @@ -218,7 +217,7 @@ void main() { }); test('Compute path bounds with lines', () { - final PathBuilder builder = PathBuilder() + final builder = PathBuilder() ..moveTo(0, 0) ..lineTo(25, 0) ..lineTo(25, 25) @@ -230,7 +229,7 @@ void main() { }); test('Compute path bounds with cubics', () { - final PathBuilder builder = PathBuilder() + final builder = PathBuilder() ..moveTo(0, 0) ..cubicTo(10, 10, 20, 20, -10, -10) ..close(); @@ -240,25 +239,18 @@ void main() { }); test('Compute cubic bounds where R and B are negative', () { - const Rect circle = Rect.fromCircle(-83.533, -122.753, 74.461); + const circle = Rect.fromCircle(-83.533, -122.753, 74.461); final Path path = PathBuilder().addOval(circle).toPath(); expect(path.bounds(), circle); }); test('Cubic length', () { // Value is very close to what Skia says for same input. - const CubicToCommand command = CubicToCommand( - 1.0, - 15.327, - 15.326, - 1.0, - 33.0, - 1.0, - ); + const command = CubicToCommand(1.0, 15.327, 15.326, 1.0, 33.0, 1.0); expect(command.computeLength(Point.zero), 38.16245134493276); // Trivially describes a line. - const CubicToCommand command2 = CubicToCommand(0, 0, 0, 10, 0, 10); + const command2 = CubicToCommand(0, 0, 0, 10, 0, 10); expect(command2.computeLength(Point.zero), 10); }); diff --git a/packages/vector_graphics_compiler/test/resolver_test.dart b/packages/vector_graphics_compiler/test/resolver_test.dart index ca332424565..fe343a286ee 100644 --- a/packages/vector_graphics_compiler/test/resolver_test.dart +++ b/packages/vector_graphics_compiler/test/resolver_test.dart @@ -138,18 +138,15 @@ void main() { }); test('visitChildren on clips and masks', () { - final ResolvedClipNode clip = ResolvedClipNode( - clips: [], - child: Node.empty, - ); + final clip = ResolvedClipNode(clips: [], child: Node.empty); - final ResolvedMaskNode mask = ResolvedMaskNode( + final mask = ResolvedMaskNode( child: Node.empty, mask: Node.empty, blendMode: BlendMode.color, ); - int visitCount = 0; + var visitCount = 0; clip.visitChildren((Node child) { visitCount += 1; expect(child, Node.empty); diff --git a/packages/vector_graphics_compiler/test/theme_test.dart b/packages/vector_graphics_compiler/test/theme_test.dart index 8f51b68b307..576a330cf14 100644 --- a/packages/vector_graphics_compiler/test/theme_test.dart +++ b/packages/vector_graphics_compiler/test/theme_test.dart @@ -12,7 +12,7 @@ void main() { group('SvgTheme', () { group('constructor', () { test('sets currentColor', () { - const Color currentColor = Color(0xFFB0E3BE); + const currentColor = Color(0xFFB0E3BE); expect( SvgTheme(currentColor: currentColor).currentColor, @@ -21,7 +21,7 @@ void main() { }); test('sets fontSize', () { - const double fontSize = 14.0; + const fontSize = 14.0; expect( SvgTheme(currentColor: Color(0xFFB0E3BE)).fontSize, @@ -35,7 +35,7 @@ void main() { }); test('sets xHeight', () { - const double xHeight = 8.0; + const xHeight = 8.0; expect( SvgTheme(fontSize: 26.0, xHeight: xHeight).xHeight, @@ -45,7 +45,7 @@ void main() { test('sets xHeight as fontSize divided by 2 ' 'by default', () { - const double fontSize = 16.0; + const fontSize = 16.0; expect(SvgTheme(fontSize: fontSize).xHeight, equals(fontSize / 2)); }); diff --git a/packages/vector_graphics_compiler/test/util_test.dart b/packages/vector_graphics_compiler/test/util_test.dart index 17173280783..46eb7aafca1 100644 --- a/packages/vector_graphics_compiler/test/util_test.dart +++ b/packages/vector_graphics_compiler/test/util_test.dart @@ -7,10 +7,10 @@ import 'package:vector_graphics_compiler/src/util.dart'; void main() { test('listEquals', () { - final List listA = [1, 2, 3]; - final List listB = [1, 2, 3]; - final List listC = [1, 2]; - final List listD = [3, 2, 1]; + final listA = [1, 2, 3]; + final listB = [1, 2, 3]; + final listC = [1, 2]; + final listD = [3, 2, 1]; expect(listEquals(null, null), isTrue); expect(listEquals(listA, null), isFalse); diff --git a/packages/vector_graphics_compiler/test/vertices_test.dart b/packages/vector_graphics_compiler/test/vertices_test.dart index 7843388a6e4..6fa3ad070d3 100644 --- a/packages/vector_graphics_compiler/test/vertices_test.dart +++ b/packages/vector_graphics_compiler/test/vertices_test.dart @@ -9,7 +9,7 @@ import 'package:vector_graphics_compiler/vector_graphics_compiler.dart'; void main() { test('Vertices.fromFloat32List', () { - final Vertices vertices = Vertices.fromFloat32List( + final vertices = Vertices.fromFloat32List( Float32List.fromList([1, 2, 3, 4, 5, 6]), ); @@ -26,7 +26,7 @@ void main() { }); test('IndexedVertices - creates valid index', () { - final Vertices vertices = Vertices.fromFloat32List( + final vertices = Vertices.fromFloat32List( Float32List.fromList([ 1, 1, @@ -76,7 +76,7 @@ void main() { }); test('IndexedVertices - does not index if index is larger', () { - final Float32List original = Float32List.fromList([ + final original = Float32List.fromList([ 1, 1, 2, @@ -96,7 +96,7 @@ void main() { 4, 5, ]); - final Vertices vertices = Vertices.fromFloat32List(original); + final vertices = Vertices.fromFloat32List(original); final IndexedVertices indexedVertices = vertices.createIndex(); expect(indexedVertices.vertices, original); diff --git a/packages/video_player/video_player/example/integration_test/controller_swap_test.dart b/packages/video_player/video_player/example/integration_test/controller_swap_test.dart index dc0f43681b2..3a174a627da 100644 --- a/packages/video_player/video_player/example/integration_test/controller_swap_test.dart +++ b/packages/video_player/video_player/example/integration_test/controller_swap_test.dart @@ -18,23 +18,19 @@ void main() { 'can substitute one controller by another without crashing', (WidgetTester tester) async { // Use WebM for web to allow CI to use Chromium. - const String videoAssetKey = kIsWeb + const videoAssetKey = kIsWeb ? 'assets/Butterfly-209.webm' : 'assets/Butterfly-209.mp4'; - final VideoPlayerController controller = VideoPlayerController.asset( - videoAssetKey, - ); - final VideoPlayerController another = VideoPlayerController.asset( - videoAssetKey, - ); + final controller = VideoPlayerController.asset(videoAssetKey); + final another = VideoPlayerController.asset(videoAssetKey); await controller.initialize(); await another.initialize(); await controller.setVolume(0); await another.setVolume(0); - final Completer started = Completer(); - final Completer ended = Completer(); + final started = Completer(); + final ended = Completer(); another.addListener(() { if (another.value.isBuffering && !started.isCompleted) { diff --git a/packages/video_player/video_player/example/integration_test/video_player_test.dart b/packages/video_player/video_player/example/integration_test/video_player_test.dart index c4e46c1cb67..9a6f7a90c92 100644 --- a/packages/video_player/video_player/example/integration_test/video_player_test.dart +++ b/packages/video_player/video_player/example/integration_test/video_player_test.dart @@ -57,8 +57,7 @@ void main() { }); testWidgets('live stream duration != 0', (WidgetTester tester) async { - final VideoPlayerController - networkController = VideoPlayerController.networkUrl( + final networkController = VideoPlayerController.networkUrl( Uri.parse( 'https://flutter.github.io/assets-for-api-docs/assets/videos/hls/bee.m3u8', ), @@ -199,7 +198,7 @@ void main() { testWidgets( 'test video player view with local asset', (WidgetTester tester) async { - final Completer loaded = Completer(); + final loaded = Completer(); Future started() async { await controller.initialize(); await controller.play(); @@ -248,7 +247,7 @@ void main() { // Write it to a file to use as a source. final String filename = _videoAssetKey.split('/').last; - final File file = File('$tempDir/$filename'); + final file = File('$tempDir/$filename'); await file.writeAsBytes(bytes.buffer.asInt8List()); controller = VideoPlayerController.file(file); @@ -281,8 +280,8 @@ void main() { // Mute to allow playing without DOM interaction on Web. // See https://developers.google.com/web/updates/2017/09/autoplay-policy-changes await controller.setVolume(0); - final Completer started = Completer(); - final Completer ended = Completer(); + final started = Completer(); + final ended = Completer(); controller.addListener(() { if (!started.isCompleted && controller.value.isBuffering) { started.complete(); diff --git a/packages/video_player/video_player/lib/src/sub_rip.dart b/packages/video_player/video_player/lib/src/sub_rip.dart index 991026fd6e0..e9bdaef32bd 100644 --- a/packages/video_player/video_player/lib/src/sub_rip.dart +++ b/packages/video_player/video_player/lib/src/sub_rip.dart @@ -27,7 +27,7 @@ class SubRipCaptionFile extends ClosedCaptionFile { } List _parseCaptionsFromSubRipString(String file) { - final List captions = []; + final captions = []; for (final List captionLines in _readSubRipFile(file)) { if (captionLines.length < 3) { break; @@ -40,7 +40,7 @@ List _parseCaptionsFromSubRipString(String file) { final String text = captionLines.sublist(2).join('\n'); - final Caption newCaption = Caption( + final newCaption = Caption( number: captionNumber, start: captionRange.start, end: captionRange.end, @@ -64,9 +64,7 @@ class _CaptionRange { // For example: // 00:01:54,724 --> 00:01:56,760 static _CaptionRange fromSubRipString(String line) { - final RegExp format = RegExp( - _subRipTimeStamp + _subRipArrow + _subRipTimeStamp, - ); + final format = RegExp(_subRipTimeStamp + _subRipArrow + _subRipTimeStamp); if (!format.hasMatch(line)) { return _CaptionRange(Duration.zero, Duration.zero); @@ -113,10 +111,10 @@ Duration _parseSubRipTimestamp(String timestampString) { List> _readSubRipFile(String file) { final List lines = LineSplitter.split(file).toList(); - final List> captionStrings = >[]; - List currentCaption = []; - int lineIndex = 0; - for (final String line in lines) { + final captionStrings = >[]; + var currentCaption = []; + var lineIndex = 0; + for (final line in lines) { final bool isLineBlank = line.trim().isEmpty; if (!isLineBlank) { currentCaption.add(line); diff --git a/packages/video_player/video_player/lib/src/web_vtt.dart b/packages/video_player/video_player/lib/src/web_vtt.dart index a46b602c227..41d659f74ae 100644 --- a/packages/video_player/video_player/lib/src/web_vtt.dart +++ b/packages/video_player/video_player/lib/src/web_vtt.dart @@ -25,12 +25,12 @@ class WebVTTCaptionFile extends ClosedCaptionFile { } List _parseCaptionsFromWebVTTString(String file) { - final List captions = []; + final captions = []; // Ignore metadata - final Set metadata = {'HEADER', 'NOTE', 'REGION', 'WEBVTT'}; + final metadata = {'HEADER', 'NOTE', 'REGION', 'WEBVTT'}; - int captionNumber = 1; + var captionNumber = 1; for (final List captionLines in _readWebVTTFile(file)) { // CaptionLines represent a complete caption. // E.g @@ -73,7 +73,7 @@ List _parseCaptionsFromWebVTTString(String file) { // https://github.com/flutter/flutter/issues/90007. final String textWithoutFormat = _extractTextFromHtml(text); - final Caption newCaption = Caption( + final newCaption = Caption( number: captionNumber, start: captionRange.start, end: captionRange.end, @@ -96,9 +96,7 @@ class _CaptionRange { // For example: // 00:09.000 --> 00:11.000 static _CaptionRange? fromWebVTTString(String line) { - final RegExp format = RegExp( - _webVTTTimeStamp + _webVTTArrow + _webVTTTimeStamp, - ); + final format = RegExp(_webVTTTimeStamp + _webVTTArrow + _webVTTTimeStamp); if (!format.hasMatch(line)) { return null; @@ -150,7 +148,7 @@ Duration? _parseWebVTTTimestamp(String timestampString) { if (timeComponents.length > 3 || timeComponents.length < 2) { return null; } - int hours = 0; + var hours = 0; if (timeComponents.length == 3) { final String hourString = timeComponents.removeAt(0); if (hourString.length < 2) { @@ -193,10 +191,10 @@ Duration? _parseWebVTTTimestamp(String timestampString) { List> _readWebVTTFile(String file) { final List lines = LineSplitter.split(file).toList(); - final List> captionStrings = >[]; - List currentCaption = []; - int lineIndex = 0; - for (final String line in lines) { + final captionStrings = >[]; + var currentCaption = []; + var lineIndex = 0; + for (final line in lines) { final bool isLineBlank = line.trim().isEmpty; if (!isLineBlank) { currentCaption.add(line); diff --git a/packages/video_player/video_player/lib/video_player.dart b/packages/video_player/video_player/lib/video_player.dart index 70460a96b5b..f0589cb4686 100644 --- a/packages/video_player/video_player/lib/video_player.dart +++ b/packages/video_player/video_player/lib/video_player.dart @@ -458,7 +458,7 @@ class VideoPlayerController extends ValueNotifier { ); } - final VideoCreationOptions creationOptions = VideoCreationOptions( + final creationOptions = VideoCreationOptions( dataSource: dataSourceDescription, viewType: viewType, ); @@ -473,7 +473,7 @@ class VideoPlayerController extends ValueNotifier { (await _videoPlayerPlatform.createWithOptions(creationOptions)) ?? kUninitializedPlayerId; _creatingCompleter!.complete(null); - final Completer initializingCompleter = Completer(); + final initializingCompleter = Completer(); // Apply the web-specific options if (kIsWeb && videoPlayerOptions?.webOptions != null) { @@ -544,7 +544,7 @@ class VideoPlayerController extends ValueNotifier { } void errorListener(Object obj) { - final PlatformException e = obj as PlatformException; + final e = obj as PlatformException; value = VideoPlayerValue.erroneous(e.message!); _timer?.cancel(); if (!initializingCompleter.isCompleted) { @@ -995,7 +995,7 @@ class _VideoScrubberState extends State { @override Widget build(BuildContext context) { void seekToRelativePosition(Offset globalPosition) { - final RenderBox box = context.findRenderObject()! as RenderBox; + final box = context.findRenderObject()! as RenderBox; final Offset tapPos = box.globalToLocal(globalPosition); final double relative = tapPos.dx / box.size.width; final Duration position = controller.value.duration * relative; diff --git a/packages/video_player/video_player/test/closed_caption_file_test.dart b/packages/video_player/video_player/test/closed_caption_file_test.dart index 990f9eacea9..be8aaa479de 100644 --- a/packages/video_player/video_player/test/closed_caption_file_test.dart +++ b/packages/video_player/video_player/test/closed_caption_file_test.dart @@ -8,7 +8,7 @@ import 'package:video_player/src/closed_caption_file.dart'; void main() { group('ClosedCaptionFile', () { test('toString()', () { - const Caption caption = Caption( + const caption = Caption( number: 1, start: Duration(seconds: 1), end: Duration(seconds: 2), diff --git a/packages/video_player/video_player/test/sub_rip_file_test.dart b/packages/video_player/video_player/test/sub_rip_file_test.dart index 84b5f6978c4..7414c9de10e 100644 --- a/packages/video_player/video_player/test/sub_rip_file_test.dart +++ b/packages/video_player/video_player/test/sub_rip_file_test.dart @@ -8,7 +8,7 @@ import 'package:video_player/video_player.dart'; void main() { test('Parses SubRip file', () { - final SubRipCaptionFile parsedFile = SubRipCaptionFile(_validSubRip); + final parsedFile = SubRipCaptionFile(_validSubRip); expect(parsedFile.captions.length, 4); diff --git a/packages/video_player/video_player/test/video_player_initialization_test.dart b/packages/video_player/video_player/test/video_player_initialization_test.dart index 0a71d1c6425..aca78701786 100644 --- a/packages/video_player/video_player/test/video_player_initialization_test.dart +++ b/packages/video_player/video_player/test/video_player_initialization_test.dart @@ -20,7 +20,7 @@ void main() { }); test('plugin initialized', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( Uri.parse('https://127.0.0.1'), ); await controller.initialize(); @@ -28,13 +28,13 @@ void main() { }); test('web configuration is applied (web only)', () async { - const VideoPlayerWebOptions expected = VideoPlayerWebOptions( + const expected = VideoPlayerWebOptions( allowContextMenu: false, allowRemotePlayback: false, controls: VideoPlayerWebOptionsControls.enabled(), ); - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( Uri.parse('https://127.0.0.1'), videoPlayerOptions: VideoPlayerOptions(webOptions: expected), ); @@ -59,7 +59,7 @@ void main() { test('video view type is applied', () async { const VideoViewType expected = VideoViewType.platformView; - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( Uri.parse('https://127.0.0.1'), viewType: expected, ); diff --git a/packages/video_player/video_player/test/video_player_test.dart b/packages/video_player/video_player/test/video_player_test.dart index 2e5324fa050..ea565bd9073 100644 --- a/packages/video_player/video_player/test/video_player_test.dart +++ b/packages/video_player/video_player/test/video_player_test.dart @@ -133,7 +133,7 @@ void main() { } testWidgets('update texture', (WidgetTester tester) async { - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); await tester.pumpWidget(VideoPlayer(controller)); expect(find.byType(Texture), findsNothing); @@ -149,7 +149,7 @@ void main() { }); testWidgets('update controller', (WidgetTester tester) async { - final FakeController controller1 = FakeController(); + final controller1 = FakeController(); addTearDown(controller1.dispose); controller1.playerId = 101; await tester.pumpWidget(VideoPlayer(controller1)); @@ -160,7 +160,7 @@ void main() { findsOneWidget, ); - final FakeController controller2 = FakeController(); + final controller2 = FakeController(); addTearDown(controller2.dispose); controller2.playerId = 102; await tester.pumpWidget(VideoPlayer(controller2)); @@ -175,7 +175,7 @@ void main() { testWidgets( 'VideoPlayer still listens for controller changes when reparented', (WidgetTester tester) async { - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); final GlobalKey videoKey = GlobalKey(); final Widget videoPlayer = KeyedSubtree( @@ -208,7 +208,7 @@ void main() { testWidgets( 'VideoProgressIndicator still listens for controller changes after reparenting', (WidgetTester tester) async { - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); final GlobalKey key = GlobalKey(); final Widget progressIndicator = VideoProgressIndicator( @@ -239,7 +239,7 @@ void main() { testWidgets('VideoPlayer does not crash after loading 0-duration videos', ( WidgetTester tester, ) async { - final FakeController controller = FakeController(); + final controller = FakeController(); addTearDown(controller.dispose); controller.value = controller.value.copyWith( duration: Duration.zero, @@ -256,13 +256,13 @@ void main() { testWidgets('non-zero rotationCorrection value is used', ( WidgetTester tester, ) async { - final FakeController controller = FakeController.value( + final controller = FakeController.value( const VideoPlayerValue(duration: Duration.zero, rotationCorrection: 180), ); addTearDown(controller.dispose); controller.playerId = 1; await tester.pumpWidget(VideoPlayer(controller)); - final RotatedBox actualRotationCorrection = + final actualRotationCorrection = find.byType(RotatedBox).evaluate().single.widget as RotatedBox; final int actualQuarterTurns = actualRotationCorrection.quarterTurns; expect(actualQuarterTurns, equals(2)); @@ -271,7 +271,7 @@ void main() { testWidgets('no RotatedBox when rotationCorrection is zero', ( WidgetTester tester, ) async { - final FakeController controller = FakeController.value( + final controller = FakeController.value( const VideoPlayerValue(duration: Duration.zero), ); addTearDown(controller.dispose); @@ -282,7 +282,7 @@ void main() { group('ClosedCaption widget', () { testWidgets('uses a default text style', (WidgetTester tester) async { - const String text = 'foo'; + const text = 'foo'; await tester.pumpWidget( const MaterialApp(home: ClosedCaption(text: text)), ); @@ -293,8 +293,8 @@ void main() { }); testWidgets('uses given text and style', (WidgetTester tester) async { - const String text = 'foo'; - const TextStyle textStyle = TextStyle(fontSize: 14.725); + const text = 'foo'; + const textStyle = TextStyle(fontSize: 14.725); await tester.pumpWidget( const MaterialApp( home: ClosedCaption(text: text, textStyle: textStyle), @@ -319,7 +319,7 @@ void main() { testWidgets('Passes text contrast ratio guidelines', ( WidgetTester tester, ) async { - const String text = 'foo'; + const text = 'foo'; await tester.pumpWidget( const MaterialApp( home: Scaffold( @@ -337,9 +337,7 @@ void main() { group('VideoPlayerController', () { group('legacy initialize', () { test('network', () async { - final VideoPlayerController controller = VideoPlayerController.network( - 'https://127.0.0.1', - ); + final controller = VideoPlayerController.network('https://127.0.0.1'); await controller.initialize(); expect(fakeVideoPlayerPlatform.dataSources[0].uri, 'https://127.0.0.1'); @@ -351,7 +349,7 @@ void main() { }); test('network with hint', () async { - final VideoPlayerController controller = VideoPlayerController.network( + final controller = VideoPlayerController.network( 'https://127.0.0.1', formatHint: VideoFormat.dash, ); @@ -369,7 +367,7 @@ void main() { }); test('network with some headers', () async { - final VideoPlayerController controller = VideoPlayerController.network( + final controller = VideoPlayerController.network( 'https://127.0.0.1', httpHeaders: {'Authorization': 'Bearer token'}, ); @@ -386,8 +384,9 @@ void main() { group('initialize', () { test('started app lifecycle observing', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(Uri.parse('https://127.0.0.1')); + final controller = VideoPlayerController.networkUrl( + Uri.parse('https://127.0.0.1'), + ); addTearDown(controller.dispose); await controller.initialize(); await controller.play(); @@ -398,9 +397,7 @@ void main() { }); test('asset', () async { - final VideoPlayerController controller = VideoPlayerController.asset( - 'a.avi', - ); + final controller = VideoPlayerController.asset('a.avi'); await controller.initialize(); expect(fakeVideoPlayerPlatform.dataSources[0].asset, 'a.avi'); @@ -408,8 +405,9 @@ void main() { }); test('network url', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(Uri.parse('https://127.0.0.1')); + final controller = VideoPlayerController.networkUrl( + Uri.parse('https://127.0.0.1'), + ); addTearDown(controller.dispose); await controller.initialize(); @@ -422,11 +420,10 @@ void main() { }); test('network url with hint', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl( - Uri.parse('https://127.0.0.1'), - formatHint: VideoFormat.dash, - ); + final controller = VideoPlayerController.networkUrl( + Uri.parse('https://127.0.0.1'), + formatHint: VideoFormat.dash, + ); addTearDown(controller.dispose); await controller.initialize(); @@ -442,11 +439,10 @@ void main() { }); test('network url with some headers', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl( - Uri.parse('https://127.0.0.1'), - httpHeaders: {'Authorization': 'Bearer token'}, - ); + final controller = VideoPlayerController.networkUrl( + Uri.parse('https://127.0.0.1'), + httpHeaders: {'Authorization': 'Bearer token'}, + ); addTearDown(controller.dispose); await controller.initialize(); @@ -463,22 +459,19 @@ void main() { () async { final Uri invalidUrl = Uri.parse('http://testing.com/invalid_url'); - final VideoPlayerController controller = - VideoPlayerController.networkUrl(invalidUrl); + final controller = VideoPlayerController.networkUrl(invalidUrl); addTearDown(controller.dispose); late Object error; fakeVideoPlayerPlatform.forceInitError = true; await controller.initialize().catchError((Object e) => error = e); - final PlatformException platformEx = error as PlatformException; + final platformEx = error as PlatformException; expect(platformEx.code, equals('VideoError')); }, ); test('file', () async { - final VideoPlayerController controller = VideoPlayerController.file( - File('a.avi'), - ); + final controller = VideoPlayerController.file(File('a.avi')); await controller.initialize(); final String uri = fakeVideoPlayerPlatform.dataSources[0].uri!; @@ -489,9 +482,7 @@ void main() { test( 'file with special characters', () async { - final VideoPlayerController controller = VideoPlayerController.file( - File('A #1 Hit.avi'), - ); + final controller = VideoPlayerController.file(File('A #1 Hit.avi')); await controller.initialize(); final String uri = fakeVideoPlayerPlatform.dataSources[0].uri!; @@ -512,7 +503,7 @@ void main() { test( 'file with headers (m3u8)', () async { - final VideoPlayerController controller = VideoPlayerController.file( + final controller = VideoPlayerController.file( File('a.avi'), httpHeaders: {'Authorization': 'Bearer token'}, ); @@ -537,8 +528,7 @@ void main() { test( 'successful initialize on controller with error clears error', () async { - final VideoPlayerController controller = - VideoPlayerController.network('https://127.0.0.1'); + final controller = VideoPlayerController.network('https://127.0.0.1'); fakeVideoPlayerPlatform.forceInitError = true; await controller.initialize().catchError((dynamic e) {}); expect(controller.value.hasError, equals(true)); @@ -551,8 +541,7 @@ void main() { test( 'given controller with error when initialization succeeds it should clear error', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); fakeVideoPlayerPlatform.forceInitError = true; @@ -566,7 +555,7 @@ void main() { }); test('contentUri', () async { - final VideoPlayerController controller = VideoPlayerController.contentUri( + final controller = VideoPlayerController.contentUri( Uri.parse('content://video'), ); await controller.initialize(); @@ -575,9 +564,7 @@ void main() { }); test('dispose', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( - _localhostUri, - ); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); expect(controller.playerId, VideoPlayerController.kUninitializedPlayerId); @@ -591,9 +578,7 @@ void main() { }); test('calling dispose() on disposed controller does not throw', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( - _localhostUri, - ); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -603,7 +588,7 @@ void main() { }); test('play', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( Uri.parse('https://127.0.0.1'), ); addTearDown(controller.dispose); @@ -624,9 +609,7 @@ void main() { }); test('play before initialized does not call platform', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( - _localhostUri, - ); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); expect(controller.value.isInitialized, isFalse); @@ -637,13 +620,11 @@ void main() { }); test('play restarts from beginning if video is at end', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( - _localhostUri, - ); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); - const Duration nonzeroDuration = Duration(milliseconds: 100); + const nonzeroDuration = Duration(milliseconds: 100); controller.value = controller.value.copyWith(duration: nonzeroDuration); await controller.seekTo(nonzeroDuration); expect(controller.value.isPlaying, isFalse); @@ -656,9 +637,7 @@ void main() { }); test('setLooping', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( - _localhostUri, - ); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -669,9 +648,7 @@ void main() { }); test('pause', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( - _localhostUri, - ); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -686,8 +663,7 @@ void main() { group('seekTo', () { test('works', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -699,8 +675,7 @@ void main() { }); test('before initialized does not call platform', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); expect(controller.value.isInitialized, isFalse); @@ -711,8 +686,7 @@ void main() { }); test('clamps values that are too high or low', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -728,22 +702,20 @@ void main() { group('setVolume', () { test('works', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); expect(controller.value.volume, 1.0); - const double volume = 0.5; + const volume = 0.5; await controller.setVolume(volume); expect(controller.value.volume, volume); }); test('clamps values that are too high or low', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -759,22 +731,20 @@ void main() { group('setPlaybackSpeed', () { test('works', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); expect(controller.value.playbackSpeed, 1.0); - const double speed = 1.5; + const speed = 1.5; await controller.setPlaybackSpeed(speed); expect(controller.value.playbackSpeed, speed); }); test('rejects negative values', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -788,11 +758,10 @@ void main() { testWidgets('restarts on release if already playing', ( WidgetTester tester, ) async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); await controller.initialize(); - final VideoProgressIndicator progressWidget = VideoProgressIndicator( + final progressWidget = VideoProgressIndicator( controller, allowScrubbing: true, ); @@ -821,11 +790,10 @@ void main() { testWidgets('does not restart when dragging to end', ( WidgetTester tester, ) async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); await controller.initialize(); - final VideoProgressIndicator progressWidget = VideoProgressIndicator( + final progressWidget = VideoProgressIndicator( controller, allowScrubbing: true, ); @@ -852,17 +820,16 @@ void main() { group('caption', () { test('works when position updates', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl( - _localhostUri, - closedCaptionFile: _loadClosedCaption(), - ); + final controller = VideoPlayerController.networkUrl( + _localhostUri, + closedCaptionFile: _loadClosedCaption(), + ); await controller.initialize(); await controller.play(); // Optionally record caption changes for later verification. - final Map recordedCaptions = {}; + final recordedCaptions = {}; controller.addListener(() { // Record the caption for the current position (in milliseconds). @@ -870,11 +837,11 @@ void main() { recordedCaptions[ms] = controller.value.caption.text; }); - const Duration updateInterval = Duration(milliseconds: 100); - const int totalDurationMs = 350; + const updateInterval = Duration(milliseconds: 100); + const totalDurationMs = 350; // Simulate continuous playback by incrementing in 50ms steps. - for (int ms = 0; ms <= totalDurationMs; ms += 50) { + for (var ms = 0; ms <= totalDurationMs; ms += 50) { fakeVideoPlayerPlatform._positions[controller.playerId] = Duration( milliseconds: ms, ); @@ -892,11 +859,10 @@ void main() { }); test('works when seeking', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl( - _localhostUri, - closedCaptionFile: _loadClosedCaption(), - ); + final controller = VideoPlayerController.networkUrl( + _localhostUri, + closedCaptionFile: _loadClosedCaption(), + ); addTearDown(controller.dispose); await controller.initialize(); @@ -926,11 +892,10 @@ void main() { }); test('works when seeking with captionOffset positive', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl( - _localhostUri, - closedCaptionFile: _loadClosedCaption(), - ); + final controller = VideoPlayerController.networkUrl( + _localhostUri, + closedCaptionFile: _loadClosedCaption(), + ); addTearDown(controller.dispose); await controller.initialize(); @@ -964,11 +929,10 @@ void main() { }); test('works when seeking with captionOffset negative', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl( - _localhostUri, - closedCaptionFile: _loadClosedCaption(), - ); + final controller = VideoPlayerController.networkUrl( + _localhostUri, + closedCaptionFile: _loadClosedCaption(), + ); addTearDown(controller.dispose); await controller.initialize(); @@ -1005,8 +969,7 @@ void main() { }); test('setClosedCaptionFile loads caption file', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); addTearDown(controller.dispose); await controller.initialize(); @@ -1020,11 +983,10 @@ void main() { }); test('setClosedCaptionFile removes/changes caption file', () async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl( - _localhostUri, - closedCaptionFile: _loadClosedCaption(), - ); + final controller = VideoPlayerController.networkUrl( + _localhostUri, + closedCaptionFile: _loadClosedCaption(), + ); addTearDown(controller.dispose); await controller.initialize(); @@ -1040,11 +1002,10 @@ void main() { group('Platform callbacks', () { testWidgets('playing completed', (WidgetTester tester) async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); await controller.initialize(); - const Duration nonzeroDuration = Duration(milliseconds: 100); + const nonzeroDuration = Duration(milliseconds: 100); controller.value = controller.value.copyWith(duration: nonzeroDuration); expect(controller.value.isPlaying, isFalse); await controller.play(); @@ -1063,9 +1024,7 @@ void main() { }); testWidgets('playback status', (WidgetTester tester) async { - final VideoPlayerController controller = VideoPlayerController.network( - 'https://.0.0.1', - ); + final controller = VideoPlayerController.network('https://.0.0.1'); await controller.initialize(); expect(controller.value.isPlaying, isFalse); final StreamController fakeVideoEventStream = @@ -1092,8 +1051,7 @@ void main() { }); testWidgets('buffering status', (WidgetTester tester) async { - final VideoPlayerController controller = - VideoPlayerController.networkUrl(_localhostUri); + final controller = VideoPlayerController.networkUrl(_localhostUri); await controller.initialize(); expect(controller.value.isBuffering, false); @@ -1108,7 +1066,7 @@ void main() { expect(controller.value.isBuffering, isTrue); const Duration bufferStart = Duration.zero; - const Duration bufferEnd = Duration(milliseconds: 500); + const bufferEnd = Duration(milliseconds: 500); fakeVideoEventStream.add( VideoEvent( eventType: VideoEventType.bufferingUpdate, @@ -1134,17 +1092,17 @@ void main() { }); test('updates position', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( _localhostUri, videoPlayerOptions: VideoPlayerOptions(), ); await controller.initialize(); - const Duration updatesInterval = Duration(milliseconds: 100); + const updatesInterval = Duration(milliseconds: 100); - final List positions = []; - final Completer intervalUpdateCompleter = Completer(); + final positions = []; + final intervalUpdateCompleter = Completer(); // Listen for position updates controller.addListener(() { @@ -1154,7 +1112,7 @@ void main() { } }); await controller.play(); - for (int i = 0; i < 3; i++) { + for (var i = 0; i < 3; i++) { await Future.delayed(updatesInterval); fakeVideoPlayerPlatform._positions[controller.playerId] = Duration( milliseconds: i * updatesInterval.inMilliseconds, @@ -1171,10 +1129,10 @@ void main() { group('DurationRange', () { test('uses given values', () { - const Duration start = Duration(seconds: 2); - const Duration end = Duration(seconds: 8); + const start = Duration(seconds: 2); + const end = Duration(seconds: 8); - final DurationRange range = DurationRange(start, end); + final range = DurationRange(start, end); expect(range.start, start); expect(range.end, end); @@ -1182,11 +1140,11 @@ void main() { }); test('calculates fractions', () { - const Duration start = Duration(seconds: 2); - const Duration end = Duration(seconds: 8); - const Duration total = Duration(seconds: 10); + const start = Duration(seconds: 2); + const end = Duration(seconds: 8); + const total = Duration(seconds: 10); - final DurationRange range = DurationRange(start, end); + final range = DurationRange(start, end); expect(range.startFraction(total), .2); expect(range.endFraction(total), .8); @@ -1195,7 +1153,7 @@ void main() { group('VideoPlayerValue', () { test('uninitialized()', () { - const VideoPlayerValue uninitialized = VideoPlayerValue.uninitialized(); + const uninitialized = VideoPlayerValue.uninitialized(); expect(uninitialized.duration, equals(Duration.zero)); expect(uninitialized.position, equals(Duration.zero)); @@ -1215,8 +1173,8 @@ void main() { }); test('erroneous()', () { - const String errorMessage = 'foo'; - const VideoPlayerValue error = VideoPlayerValue.erroneous(errorMessage); + const errorMessage = 'foo'; + const error = VideoPlayerValue.erroneous(errorMessage); expect(error.duration, equals(Duration.zero)); expect(error.position, equals(Duration.zero)); @@ -1236,27 +1194,27 @@ void main() { }); test('toString()', () { - const Duration duration = Duration(seconds: 5); - const Size size = Size(400, 300); - const Duration position = Duration(seconds: 1); - const Caption caption = Caption( + const duration = Duration(seconds: 5); + const size = Size(400, 300); + const position = Duration(seconds: 1); + const caption = Caption( text: 'foo', number: 0, start: Duration.zero, end: Duration.zero, ); - const Duration captionOffset = Duration(milliseconds: 250); - final List buffered = [ + const captionOffset = Duration(milliseconds: 250); + final buffered = [ DurationRange(Duration.zero, const Duration(seconds: 4)), ]; - const bool isInitialized = true; - const bool isPlaying = true; - const bool isLooping = true; - const bool isBuffering = true; - const double volume = 0.5; - const double playbackSpeed = 1.5; - - final VideoPlayerValue value = VideoPlayerValue( + const isInitialized = true; + const isPlaying = true; + const isLooping = true; + const isBuffering = true; + const volume = 0.5; + const playbackSpeed = 1.5; + + final value = VideoPlayerValue( duration: duration, size: size, position: position, @@ -1292,19 +1250,19 @@ void main() { group('copyWith()', () { test('exact copy', () { - const VideoPlayerValue original = VideoPlayerValue.uninitialized(); + const original = VideoPlayerValue.uninitialized(); final VideoPlayerValue exactCopy = original.copyWith(); expect(exactCopy.toString(), original.toString()); }); test('errorDescription is not persisted when copy with null', () { - const VideoPlayerValue original = VideoPlayerValue.erroneous('error'); + const original = VideoPlayerValue.erroneous('error'); final VideoPlayerValue copy = original.copyWith(errorDescription: null); expect(copy.errorDescription, null); }); test('errorDescription is changed when copy with another error', () { - const VideoPlayerValue original = VideoPlayerValue.erroneous('error'); + const original = VideoPlayerValue.erroneous('error'); final VideoPlayerValue copy = original.copyWith( errorDescription: 'new error', ); @@ -1312,7 +1270,7 @@ void main() { expect(copy.errorDescription, 'new error'); }); test('errorDescription is changed when copy with error', () { - const VideoPlayerValue original = VideoPlayerValue.uninitialized(); + const original = VideoPlayerValue.uninitialized(); final VideoPlayerValue copy = original.copyWith( errorDescription: 'new error', ); @@ -1323,7 +1281,7 @@ void main() { group('aspectRatio', () { test('640x480 -> 4:3', () { - const VideoPlayerValue value = VideoPlayerValue( + const value = VideoPlayerValue( isInitialized: true, size: Size(640, 480), duration: Duration(seconds: 1), @@ -1332,7 +1290,7 @@ void main() { }); test('no size -> 1.0', () { - const VideoPlayerValue value = VideoPlayerValue( + const value = VideoPlayerValue( isInitialized: true, duration: Duration(seconds: 1), ); @@ -1340,7 +1298,7 @@ void main() { }); test('height = 0 -> 1.0', () { - const VideoPlayerValue value = VideoPlayerValue( + const value = VideoPlayerValue( isInitialized: true, size: Size(640, 0), duration: Duration(seconds: 1), @@ -1349,7 +1307,7 @@ void main() { }); test('width = 0 -> 1.0', () { - const VideoPlayerValue value = VideoPlayerValue( + const value = VideoPlayerValue( isInitialized: true, size: Size(0, 480), duration: Duration(seconds: 1), @@ -1358,7 +1316,7 @@ void main() { }); test('negative aspect ratio -> 1.0', () { - const VideoPlayerValue value = VideoPlayerValue( + const value = VideoPlayerValue( isInitialized: true, size: Size(640, -480), duration: Duration(seconds: 1), @@ -1370,7 +1328,7 @@ void main() { group('VideoPlayerOptions', () { test('setMixWithOthers', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( _localhostUri, videoPlayerOptions: VideoPlayerOptions(mixWithOthers: true), ); @@ -1381,7 +1339,7 @@ void main() { }); test('true allowBackgroundPlayback continues playback', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( _localhostUri, videoPlayerOptions: VideoPlayerOptions(allowBackgroundPlayback: true), ); @@ -1396,7 +1354,7 @@ void main() { }); test('false allowBackgroundPlayback pauses playback', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( _localhostUri, videoPlayerOptions: VideoPlayerOptions(), ); @@ -1412,11 +1370,11 @@ void main() { }); test('VideoProgressColors', () { - const Color playedColor = Color.fromRGBO(0, 0, 255, 0.75); - const Color bufferedColor = Color.fromRGBO(0, 255, 0, 0.5); - const Color backgroundColor = Color.fromRGBO(255, 255, 0, 0.25); + const playedColor = Color.fromRGBO(0, 0, 255, 0.75); + const bufferedColor = Color.fromRGBO(0, 255, 0, 0.5); + const backgroundColor = Color.fromRGBO(255, 255, 0, 0.25); - const VideoProgressColors colors = VideoProgressColors( + const colors = VideoProgressColors( playedColor: playedColor, bufferedColor: bufferedColor, backgroundColor: backgroundColor, @@ -1428,7 +1386,7 @@ void main() { }); test('isCompleted updates on video end', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( _localhostUri, videoPlayerOptions: VideoPlayerOptions(), ); @@ -1456,7 +1414,7 @@ void main() { }); test('isCompleted updates on video play after completed', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( _localhostUri, videoPlayerOptions: VideoPlayerOptions(), ); @@ -1471,7 +1429,7 @@ void main() { final void Function() isCompletedTest = expectAsync0(() {}, count: 2); final void Function() isNoLongerCompletedTest = expectAsync0(() {}); - bool hasLooped = false; + var hasLooped = false; controller.addListener(() async { if (currentIsCompleted != controller.value.isCompleted) { @@ -1497,7 +1455,7 @@ void main() { }); test('isCompleted updates on video seek to end', () async { - final VideoPlayerController controller = VideoPlayerController.networkUrl( + final controller = VideoPlayerController.networkUrl( _localhostUri, videoPlayerOptions: VideoPlayerOptions(), ); @@ -1546,7 +1504,7 @@ class FakeVideoPlayerPlatform extends VideoPlayerPlatform { @override Future create(DataSource dataSource) async { calls.add('create'); - final StreamController stream = StreamController(); + final stream = StreamController(); streams[nextPlayerId] = stream; if (forceInitError) { stream.addError( @@ -1571,7 +1529,7 @@ class FakeVideoPlayerPlatform extends VideoPlayerPlatform { @override Future createWithOptions(VideoCreationOptions options) async { calls.add('createWithOptions'); - final StreamController stream = StreamController(); + final stream = StreamController(); streams[nextPlayerId] = stream; if (forceInitError) { stream.addError( diff --git a/packages/video_player/video_player_android/example/integration_test/video_player_test.dart b/packages/video_player/video_player_android/example/integration_test/video_player_test.dart index d7e9758fec3..e9d10764e1d 100644 --- a/packages/video_player/video_player_android/example/integration_test/video_player_test.dart +++ b/packages/video_player/video_player_android/example/integration_test/video_player_test.dart @@ -101,7 +101,7 @@ void main() { testWidgets('can play a video from a file', (WidgetTester tester) async { final Directory directory = await getTemporaryDirectory(); - final File file = File('${directory.path}/video.mp4'); + final file = File('${directory.path}/video.mp4'); await file.writeAsBytes( Uint8List.fromList( (await rootBundle.load(_videoAssetKey)).buffer.asUint8List(), diff --git a/packages/video_player/video_player_android/example/lib/mini_controller.dart b/packages/video_player/video_player_android/example/lib/mini_controller.dart index 453a3ef50d7..d8b275df773 100644 --- a/packages/video_player/video_player_android/example/lib/mini_controller.dart +++ b/packages/video_player/video_player_android/example/lib/mini_controller.dart @@ -257,7 +257,7 @@ class MiniController extends ValueNotifier { ); } - final VideoCreationOptions creationOptions = VideoCreationOptions( + final creationOptions = VideoCreationOptions( dataSource: dataSourceDescription, viewType: viewType, ); @@ -266,7 +266,7 @@ class MiniController extends ValueNotifier { (await _platform.createWithOptions(creationOptions)) ?? kUninitializedPlayerId; _creatingCompleter!.complete(null); - final Completer initializingCompleter = Completer(); + final initializingCompleter = Completer(); void eventListener(VideoEvent event) { switch (event.eventType) { @@ -297,7 +297,7 @@ class MiniController extends ValueNotifier { } void errorListener(Object obj) { - final PlatformException e = obj as PlatformException; + final e = obj as PlatformException; value = VideoPlayerValue.erroneous(e.message!); _timer?.cancel(); if (!initializingCompleter.isCompleted) { @@ -483,7 +483,7 @@ class _VideoScrubberState extends State<_VideoScrubber> { @override Widget build(BuildContext context) { void seekToRelativePosition(Offset globalPosition) { - final RenderBox box = context.findRenderObject()! as RenderBox; + final box = context.findRenderObject()! as RenderBox; final Offset tapPos = box.globalToLocal(globalPosition); final double relative = tapPos.dx / box.size.width; final Duration position = controller.value.duration * relative; @@ -543,9 +543,9 @@ class _VideoProgressIndicatorState extends State { @override Widget build(BuildContext context) { - const Color playedColor = Color.fromRGBO(255, 0, 0, 0.7); - const Color bufferedColor = Color.fromRGBO(50, 50, 200, 0.2); - const Color backgroundColor = Color.fromRGBO(200, 200, 200, 0.5); + const playedColor = Color.fromRGBO(255, 0, 0, 0.7); + const bufferedColor = Color.fromRGBO(50, 50, 200, 0.2); + const backgroundColor = Color.fromRGBO(200, 200, 200, 0.5); final Widget progressIndicator; if (controller.value.isInitialized) { diff --git a/packages/video_player/video_player_android/lib/src/android_video_player.dart b/packages/video_player/video_player_android/lib/src/android_video_player.dart index f65b83b8a84..78db9273e5d 100644 --- a/packages/video_player/video_player_android/lib/src/android_video_player.dart +++ b/packages/video_player/video_player_android/lib/src/android_video_player.dart @@ -109,7 +109,7 @@ class AndroidVideoPlayer extends VideoPlayerPlatform { if (uri == null) { throw ArgumentError('Unable to construct a video asset from $options'); } - final CreationOptions pigeonCreationOptions = CreationOptions( + final pigeonCreationOptions = CreationOptions( uri: uri, httpHeaders: httpHeaders, userAgent: userAgent, @@ -138,12 +138,12 @@ class AndroidVideoPlayer extends VideoPlayerPlatform { String? _userAgentFromHeaders(Map httpHeaders) { // TODO(stuartmorgan): HTTP headers are case-insensitive, so this should be // adjusted to find any entry where the key has a case-insensitive match. - const String userAgentKey = 'User-Agent'; + const userAgentKey = 'User-Agent'; // TODO(stuartmorgan): Investigate removing this. The use of a hard-coded // default agent dates back to the original ExoPlayer implementation of the // plugin, but it's not clear why the default isn't null, which would let // ExoPlayer use its own default value. - const String defaultUserAgent = 'ExoPlayer'; + const defaultUserAgent = 'ExoPlayer'; return httpHeaders[userAgentKey] ?? defaultUserAgent; } diff --git a/packages/video_player/video_player_android/lib/src/platform_view_player.dart b/packages/video_player/video_player_android/lib/src/platform_view_player.dart index 84d21540043..d7c49781886 100644 --- a/packages/video_player/video_player_android/lib/src/platform_view_player.dart +++ b/packages/video_player/video_player_android/lib/src/platform_view_player.dart @@ -20,9 +20,8 @@ class PlatformViewPlayer extends StatelessWidget { @override Widget build(BuildContext context) { - const String viewType = 'plugins.flutter.dev/video_player_android'; - final PlatformVideoViewCreationParams creationParams = - PlatformVideoViewCreationParams(playerId: playerId); + const viewType = 'plugins.flutter.dev/video_player_android'; + final creationParams = PlatformVideoViewCreationParams(playerId: playerId); // IgnorePointer so that GestureDetector can be used above the platform view. return IgnorePointer( diff --git a/packages/video_player/video_player_android/test/android_video_player_test.dart b/packages/video_player/video_player_android/test/android_video_player_test.dart index 8ce82b0fdfb..aed2e07f38f 100644 --- a/packages/video_player/video_player_android/test/android_video_player_test.dart +++ b/packages/video_player/video_player_android/test/android_video_player_test.dart @@ -24,9 +24,9 @@ void main() { (AndroidVideoPlayer, MockAndroidVideoPlayerApi, MockVideoPlayerInstanceApi) setUpMockPlayer({required int playerId, int? textureId}) { - final MockAndroidVideoPlayerApi pluginApi = MockAndroidVideoPlayerApi(); - final MockVideoPlayerInstanceApi instanceApi = MockVideoPlayerInstanceApi(); - final AndroidVideoPlayer player = AndroidVideoPlayer( + final pluginApi = MockAndroidVideoPlayerApi(); + final instanceApi = MockVideoPlayerInstanceApi(); + final player = AndroidVideoPlayer( pluginApi: pluginApi, playerApiProvider: (_) => instanceApi, ); @@ -46,11 +46,10 @@ void main() { StreamController, ) setUpMockPlayerWithStream({required int playerId, int? textureId}) { - final MockAndroidVideoPlayerApi pluginApi = MockAndroidVideoPlayerApi(); - final MockVideoPlayerInstanceApi instanceApi = MockVideoPlayerInstanceApi(); - final StreamController streamController = - StreamController(); - final AndroidVideoPlayer player = AndroidVideoPlayer( + final pluginApi = MockAndroidVideoPlayerApi(); + final instanceApi = MockVideoPlayerInstanceApi(); + final streamController = StreamController(); + final player = AndroidVideoPlayer( pluginApi: pluginApi, playerApiProvider: (_) => instanceApi, videoEventStreamProvider: (_) => @@ -90,14 +89,14 @@ void main() { test('create with asset', () async { final (AndroidVideoPlayer player, MockAndroidVideoPlayerApi api, _) = setUpMockPlayer(playerId: 1, textureId: 100); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: 100), ); - const String asset = 'someAsset'; - const String package = 'somePackage'; - const String assetKey = 'resultingAssetKey'; + const asset = 'someAsset'; + const package = 'somePackage'; + const assetKey = 'resultingAssetKey'; when( api.getLookupKeyForAsset(asset, package), ).thenAnswer((_) async => assetKey); @@ -113,8 +112,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, 'asset:///$assetKey'); expect(playerId, newPlayerId); expect( @@ -126,12 +124,12 @@ void main() { test('create with network', () async { final (AndroidVideoPlayer player, MockAndroidVideoPlayerApi api, _) = setUpMockPlayer(playerId: 1, textureId: 100); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: 100), ); - const String uri = 'https://example.com'; + const uri = 'https://example.com'; final int? playerId = await player.create( DataSource( sourceType: DataSourceType.network, @@ -143,8 +141,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, uri); expect(creationOptions.formatHint, PlatformVideoFormat.dash); expect(creationOptions.httpHeaders, {}); @@ -162,9 +159,7 @@ void main() { api.createForTextureView(any), ).thenAnswer((_) async => TexturePlayerIds(playerId: 2, textureId: 100)); - const Map headers = { - 'Authorization': 'Bearer token', - }; + const headers = {'Authorization': 'Bearer token'}; await player.create( DataSource( sourceType: DataSourceType.network, @@ -175,8 +170,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.httpHeaders, headers); }); @@ -197,8 +191,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.userAgent, 'ExoPlayer'); }); @@ -209,10 +202,8 @@ void main() { api.createForTextureView(any), ).thenAnswer((_) async => TexturePlayerIds(playerId: 2, textureId: 100)); - const String userAgent = 'Test User Agent'; - const Map headers = { - 'User-Agent': userAgent, - }; + const userAgent = 'Test User Agent'; + const headers = {'User-Agent': userAgent}; await player.create( DataSource( sourceType: DataSourceType.network, @@ -223,8 +214,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.userAgent, userAgent); }); @@ -235,15 +225,14 @@ void main() { api.createForTextureView(any), ).thenAnswer((_) async => TexturePlayerIds(playerId: 2, textureId: 100)); - const String fileUri = 'file:///foo/bar'; + const fileUri = 'file:///foo/bar'; final int? playerId = await player.create( DataSource(sourceType: DataSourceType.file, uri: fileUri), ); final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, fileUri); expect( player.buildViewWithOptions(VideoViewOptions(playerId: playerId!)), @@ -258,10 +247,8 @@ void main() { api.createForTextureView(any), ).thenAnswer((_) async => TexturePlayerIds(playerId: 2, textureId: 100)); - const String fileUri = 'file:///foo/bar'; - const Map headers = { - 'Authorization': 'Bearer token', - }; + const fileUri = 'file:///foo/bar'; + const headers = {'Authorization': 'Bearer token'}; await player.create( DataSource( sourceType: DataSourceType.file, @@ -272,22 +259,21 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.httpHeaders, headers); }); test('createWithOptions with asset', () async { final (AndroidVideoPlayer player, MockAndroidVideoPlayerApi api, _) = setUpMockPlayer(playerId: 1, textureId: 100); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: 100), ); - const String asset = 'someAsset'; - const String package = 'somePackage'; - const String assetKey = 'resultingAssetKey'; + const asset = 'someAsset'; + const package = 'somePackage'; + const assetKey = 'resultingAssetKey'; when( api.getLookupKeyForAsset(asset, package), ).thenAnswer((_) async => assetKey); @@ -306,8 +292,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, 'asset:///$assetKey'); expect(playerId, newPlayerId); expect( @@ -319,12 +304,12 @@ void main() { test('createWithOptions with network', () async { final (AndroidVideoPlayer player, MockAndroidVideoPlayerApi api, _) = setUpMockPlayer(playerId: 1, textureId: 100); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: 100), ); - const String uri = 'https://example.com'; + const uri = 'https://example.com'; final int? playerId = await player.createWithOptions( VideoCreationOptions( dataSource: DataSource( @@ -339,8 +324,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, uri); expect(creationOptions.formatHint, PlatformVideoFormat.dash); expect(creationOptions.httpHeaders, {}); @@ -354,14 +338,12 @@ void main() { test('createWithOptions with network passes headers', () async { final (AndroidVideoPlayer player, MockAndroidVideoPlayerApi api, _) = setUpMockPlayer(playerId: 1, textureId: 100); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: 100), ); - const Map headers = { - 'Authorization': 'Bearer token', - }; + const headers = {'Authorization': 'Bearer token'}; final int? playerId = await player.createWithOptions( VideoCreationOptions( dataSource: DataSource( @@ -376,8 +358,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.httpHeaders, headers); expect(playerId, newPlayerId); }); @@ -385,12 +366,12 @@ void main() { test('createWithOptions with file', () async { final (AndroidVideoPlayer player, MockAndroidVideoPlayerApi api, _) = setUpMockPlayer(playerId: 1, textureId: 100); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: 100), ); - const String fileUri = 'file:///foo/bar'; + const fileUri = 'file:///foo/bar'; final int? playerId = await player.createWithOptions( VideoCreationOptions( dataSource: DataSource(sourceType: DataSourceType.file, uri: fileUri), @@ -401,8 +382,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, fileUri); expect(playerId, newPlayerId); expect( @@ -418,10 +398,8 @@ void main() { api.createForTextureView(any), ).thenAnswer((_) async => TexturePlayerIds(playerId: 2, textureId: 100)); - const String fileUri = 'file:///foo/bar'; - const Map headers = { - 'Authorization': 'Bearer token', - }; + const fileUri = 'file:///foo/bar'; + const headers = {'Authorization': 'Bearer token'}; await player.createWithOptions( VideoCreationOptions( dataSource: DataSource( @@ -436,18 +414,17 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.httpHeaders, headers); }); test('createWithOptions with platform view', () async { final (AndroidVideoPlayer player, MockAndroidVideoPlayerApi api, _) = setUpMockPlayer(playerId: 1); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForPlatformView(any)).thenAnswer((_) async => newPlayerId); - const String uri = 'file:///foo/bar'; + const uri = 'file:///foo/bar'; final int? playerId = await player.createWithOptions( VideoCreationOptions( dataSource: DataSource(sourceType: DataSourceType.file, uri: uri), @@ -458,8 +435,7 @@ void main() { final VerificationResult verification = verify( api.createForPlatformView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, uri); expect(playerId, newPlayerId); expect( @@ -533,7 +509,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const double volume = 0.7; + const volume = 0.7; await player.setVolume(1, volume); verify(playerApi.setVolume(volume)); @@ -547,7 +523,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const double speed = 1.5; + const speed = 1.5; await player.setPlaybackSpeed(1, speed); verify(playerApi.setPlaybackSpeed(speed)); @@ -561,7 +537,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int positionMilliseconds = 12345; + const positionMilliseconds = 12345; await player.seekTo( 1, const Duration(milliseconds: positionMilliseconds), @@ -578,7 +554,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int positionMilliseconds = 12345; + const positionMilliseconds = 12345; when( playerApi.getCurrentPosition(), ).thenAnswer((_) async => positionMilliseconds); @@ -594,7 +570,7 @@ void main() { Stream mockPlayerEmitingEvents( List events, ) { - const int playerId = 1; + const playerId = 1; final ( AndroidVideoPlayer player, _, diff --git a/packages/video_player/video_player_avfoundation/example/integration_test/video_player_test.dart b/packages/video_player/video_player_avfoundation/example/integration_test/video_player_test.dart index 206fcf7ce07..31321932c1b 100644 --- a/packages/video_player/video_player_avfoundation/example/integration_test/video_player_test.dart +++ b/packages/video_player/video_player_avfoundation/example/integration_test/video_player_test.dart @@ -103,7 +103,7 @@ void main() { // Verify that we stopped playing after the pause. // TODO(stuartmorgan): Investigate why this has a slight discrepency, and // fix it if possible. Is AVPlayer's pause method internally async? - const Duration allowableDelta = Duration(milliseconds: 10); + const allowableDelta = Duration(milliseconds: 10); expect( await controller.position, lessThan(pausedPosition + allowableDelta), @@ -119,7 +119,7 @@ void main() { // Write it to a file to use as a source. final String filename = _videoAssetKey.split('/').last; - final File file = File('$tempDir/$filename'); + final file = File('$tempDir/$filename'); await file.writeAsBytes(bytes.buffer.asInt8List()); controller = MiniController.file(file); @@ -148,8 +148,8 @@ void main() { (WidgetTester tester) async { await controller.initialize(); - final Completer started = Completer(); - final Completer ended = Completer(); + final started = Completer(); + final ended = Completer(); controller.addListener(() { if (!started.isCompleted && controller.value.isBuffering) { started.complete(); @@ -180,7 +180,7 @@ void main() { ); testWidgets('live stream duration != 0', (WidgetTester tester) async { - final MiniController livestreamController = MiniController.network( + final livestreamController = MiniController.network( 'https://flutter.github.io/assets-for-api-docs/assets/videos/hls/bee.m3u8', ); await livestreamController.initialize(); @@ -199,7 +199,7 @@ void main() { ) async { // Some m3u8 files contain rotation data that may incorrectly invert the aspect ratio. // More info [here](https://github.com/flutter/flutter/issues/109116). - final MiniController livestreamController = MiniController.network( + final livestreamController = MiniController.network( 'https://flutter.github.io/assets-for-api-docs/assets/videos/hls/rotated_nail_manifest.m3u8', ); await livestreamController.initialize(); diff --git a/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart b/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart index 8640d16c703..bfc6b1dd496 100644 --- a/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart +++ b/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart @@ -245,7 +245,7 @@ class MiniController extends ValueNotifier { ); } - final VideoCreationOptions creationOptions = VideoCreationOptions( + final creationOptions = VideoCreationOptions( dataSource: dataSourceDescription, viewType: viewType, ); @@ -254,7 +254,7 @@ class MiniController extends ValueNotifier { (await _platform.createWithOptions(creationOptions)) ?? kUninitializedPlayerId; _creatingCompleter!.complete(null); - final Completer initializingCompleter = Completer(); + final initializingCompleter = Completer(); void eventListener(VideoEvent event) { switch (event.eventType) { @@ -284,7 +284,7 @@ class MiniController extends ValueNotifier { } void errorListener(Object obj) { - final PlatformException e = obj as PlatformException; + final e = obj as PlatformException; value = VideoPlayerValue.erroneous(e.message!); _timer?.cancel(); if (!initializingCompleter.isCompleted) { @@ -450,7 +450,7 @@ class _VideoScrubberState extends State<_VideoScrubber> { @override Widget build(BuildContext context) { void seekToRelativePosition(Offset globalPosition) { - final RenderBox box = context.findRenderObject()! as RenderBox; + final box = context.findRenderObject()! as RenderBox; final Offset tapPos = box.globalToLocal(globalPosition); final double relative = tapPos.dx / box.size.width; final Duration position = controller.value.duration * relative; @@ -510,9 +510,9 @@ class _VideoProgressIndicatorState extends State { @override Widget build(BuildContext context) { - const Color playedColor = Color.fromRGBO(255, 0, 0, 0.7); - const Color bufferedColor = Color.fromRGBO(50, 50, 200, 0.2); - const Color backgroundColor = Color.fromRGBO(200, 200, 200, 0.5); + const playedColor = Color.fromRGBO(255, 0, 0, 0.7); + const bufferedColor = Color.fromRGBO(50, 50, 200, 0.2); + const backgroundColor = Color.fromRGBO(200, 200, 200, 0.5); final Widget progressIndicator; if (controller.value.isInitialized) { diff --git a/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart b/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart index 4c1719578f6..c809b7a2d22 100644 --- a/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart +++ b/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart @@ -100,7 +100,7 @@ class AVFoundationVideoPlayer extends VideoPlayerPlatform { if (uri == null) { throw ArgumentError('Unable to construct a video asset from $options'); } - final CreationOptions pigeonCreationOptions = CreationOptions( + final pigeonCreationOptions = CreationOptions( uri: uri, httpHeaders: dataSource.httpHeaders, ); @@ -176,7 +176,7 @@ class AVFoundationVideoPlayer extends VideoPlayerPlatform { return _eventChannelFor(playerId).receiveBroadcastStream().map(( dynamic event, ) { - final Map map = event as Map; + final map = event as Map; return switch (map['event']) { 'initialized' => VideoEvent( eventType: VideoEventType.initialized, @@ -233,8 +233,7 @@ class AVFoundationVideoPlayer extends VideoPlayerPlatform { } Widget _buildPlatformView(int playerId) { - final PlatformVideoViewCreationParams creationParams = - PlatformVideoViewCreationParams(playerId: playerId); + final creationParams = PlatformVideoViewCreationParams(playerId: playerId); return IgnorePointer( // IgnorePointer so that GestureDetector can be used above the platform view. @@ -256,9 +255,9 @@ class AVFoundationVideoPlayer extends VideoPlayerPlatform { } DurationRange _toDurationRange(dynamic value) { - final List pair = value as List; - final int startMilliseconds = pair[0] as int; - final int durationMilliseconds = pair[1] as int; + final pair = value as List; + final startMilliseconds = pair[0] as int; + final durationMilliseconds = pair[1] as int; return DurationRange( Duration(milliseconds: startMilliseconds), Duration(milliseconds: startMilliseconds + durationMilliseconds), diff --git a/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart b/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart index 11cac97a7dd..f0534ec0c21 100644 --- a/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart +++ b/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart @@ -25,10 +25,9 @@ void main() { MockVideoPlayerInstanceApi, ) setUpMockPlayer({required int playerId}) { - final MockAVFoundationVideoPlayerApi pluginApi = - MockAVFoundationVideoPlayerApi(); - final MockVideoPlayerInstanceApi instanceApi = MockVideoPlayerInstanceApi(); - final AVFoundationVideoPlayer player = AVFoundationVideoPlayer( + final pluginApi = MockAVFoundationVideoPlayerApi(); + final instanceApi = MockVideoPlayerInstanceApi(); + final player = AVFoundationVideoPlayer( pluginApi: pluginApi, playerProvider: (_) => instanceApi, ); @@ -77,16 +76,16 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; - const int textureId = 100; + const newPlayerId = 2; + const textureId = 100; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: textureId), ); - const String asset = 'someAsset'; - const String package = 'somePackage'; - const String assetUrl = 'file:///some/asset/path'; + const asset = 'someAsset'; + const package = 'somePackage'; + const assetUrl = 'file:///some/asset/path'; when(api.getAssetUrl(asset, package)).thenAnswer((_) async => assetUrl); final int? playerId = await player.create( @@ -100,8 +99,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, assetUrl); expect(playerId, newPlayerId); expect( @@ -121,8 +119,8 @@ void main() { playerId: 1, ); - const String asset = 'someAsset'; - const String package = 'somePackage'; + const asset = 'someAsset'; + const package = 'somePackage'; when(api.getAssetUrl(asset, package)).thenAnswer((_) async => null); expect( @@ -146,14 +144,14 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; - const int textureId = 100; + const newPlayerId = 2; + const textureId = 100; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: textureId), ); - const String uri = 'https://example.com'; + const uri = 'https://example.com'; final int? playerId = await player.create( DataSource( sourceType: DataSourceType.network, @@ -165,8 +163,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, uri); expect(creationOptions.httpHeaders, {}); expect(playerId, newPlayerId); @@ -188,9 +185,7 @@ void main() { api.createForTextureView(any), ).thenAnswer((_) async => TexturePlayerIds(playerId: 2, textureId: 100)); - const Map headers = { - 'Authorization': 'Bearer token', - }; + const headers = {'Authorization': 'Bearer token'}; await player.create( DataSource( sourceType: DataSourceType.network, @@ -201,8 +196,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.httpHeaders, headers); }); @@ -214,22 +208,21 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; - const int textureId = 100; + const newPlayerId = 2; + const textureId = 100; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: textureId), ); - const String fileUri = 'file:///foo/bar'; + const fileUri = 'file:///foo/bar'; final int? playerId = await player.create( DataSource(sourceType: DataSourceType.file, uri: fileUri), ); final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, fileUri); expect(playerId, newPlayerId); expect( @@ -246,16 +239,16 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; - const int textureId = 100; + const newPlayerId = 2; + const textureId = 100; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: textureId), ); - const String asset = 'someAsset'; - const String package = 'somePackage'; - const String assetUrl = 'file:///some/asset/path'; + const asset = 'someAsset'; + const package = 'somePackage'; + const assetUrl = 'file:///some/asset/path'; when(api.getAssetUrl(asset, package)).thenAnswer((_) async => assetUrl); final int? playerId = await player.createWithOptions( VideoCreationOptions( @@ -271,8 +264,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, assetUrl); expect(playerId, newPlayerId); expect( @@ -289,14 +281,14 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; - const int textureId = 100; + const newPlayerId = 2; + const textureId = 100; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: textureId), ); - const String uri = 'https://example.com'; + const uri = 'https://example.com'; final int? playerId = await player.createWithOptions( VideoCreationOptions( dataSource: DataSource( @@ -311,8 +303,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, uri); expect(creationOptions.httpHeaders, {}); expect(playerId, newPlayerId); @@ -330,14 +321,12 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: 100), ); - const Map headers = { - 'Authorization': 'Bearer token', - }; + const headers = {'Authorization': 'Bearer token'}; final int? playerId = await player.createWithOptions( VideoCreationOptions( dataSource: DataSource( @@ -352,8 +341,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.httpHeaders, headers); expect(playerId, newPlayerId); }); @@ -366,14 +354,14 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; - const int textureId = 100; + const newPlayerId = 2; + const textureId = 100; when(api.createForTextureView(any)).thenAnswer( (_) async => TexturePlayerIds(playerId: newPlayerId, textureId: textureId), ); - const String fileUri = 'file:///foo/bar'; + const fileUri = 'file:///foo/bar'; final int? playerId = await player.createWithOptions( VideoCreationOptions( dataSource: DataSource(sourceType: DataSourceType.file, uri: fileUri), @@ -384,8 +372,7 @@ void main() { final VerificationResult verification = verify( api.createForTextureView(captureAny), ); - final CreationOptions creationOptions = - verification.captured[0] as CreationOptions; + final creationOptions = verification.captured[0] as CreationOptions; expect(creationOptions.uri, fileUri); expect(playerId, newPlayerId); expect( @@ -402,7 +389,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int newPlayerId = 2; + const newPlayerId = 2; when(api.createForPlatformView(any)).thenAnswer((_) async => newPlayerId); final int? playerId = await player.createWithOptions( @@ -497,7 +484,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const double volume = 0.7; + const volume = 0.7; await player.setVolume(1, volume); verify(playerApi.setVolume(volume)); @@ -511,7 +498,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const double speed = 1.5; + const speed = 1.5; await player.setPlaybackSpeed(1, speed); verify(playerApi.setPlaybackSpeed(speed)); @@ -525,7 +512,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int positionMilliseconds = 12345; + const positionMilliseconds = 12345; await player.seekTo( 1, const Duration(milliseconds: positionMilliseconds), @@ -542,7 +529,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const int positionMilliseconds = 12345; + const positionMilliseconds = 12345; when( playerApi.getPosition(), ).thenAnswer((_) async => positionMilliseconds); @@ -559,7 +546,7 @@ void main() { ) = setUpMockPlayer( playerId: 1, ); - const String mockChannel = 'flutter.io/videoPlayer/videoEvents123'; + const mockChannel = 'flutter.io/videoPlayer/videoEvents123'; TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMessageHandler(mockChannel, (ByteData? message) async { final MethodCall methodCall = const StandardMethodCodec() diff --git a/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart b/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart index 6525d3bab33..1cec5f42c21 100644 --- a/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart +++ b/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart @@ -521,7 +521,7 @@ class VideoPlayerWebOptionsControls { /// A string representation of disallowed controls String get controlsList { - final List controlsList = []; + final controlsList = []; if (!allowDownload) { controlsList.add('nodownload'); } diff --git a/packages/video_player/video_player_platform_interface/test/video_player_options_test.dart b/packages/video_player/video_player_platform_interface/test/video_player_options_test.dart index dcfb9e4c15a..6af3e57f6c0 100644 --- a/packages/video_player/video_player_platform_interface/test/video_player_options_test.dart +++ b/packages/video_player/video_player_platform_interface/test/video_player_options_test.dart @@ -7,11 +7,11 @@ import 'package:video_player_platform_interface/video_player_platform_interface. void main() { test('VideoPlayerOptions allowBackgroundPlayback defaults to false', () { - final VideoPlayerOptions options = VideoPlayerOptions(); + final options = VideoPlayerOptions(); expect(options.allowBackgroundPlayback, false); }); test('VideoPlayerOptions mixWithOthers defaults to false', () { - final VideoPlayerOptions options = VideoPlayerOptions(); + final options = VideoPlayerOptions(); expect(options.mixWithOthers, false); }); } diff --git a/packages/video_player/video_player_platform_interface/test/video_player_web_options_test.dart b/packages/video_player/video_player_platform_interface/test/video_player_web_options_test.dart index 5b53aca21e5..6cccd1842f7 100644 --- a/packages/video_player/video_player_platform_interface/test/video_player_web_options_test.dart +++ b/packages/video_player/video_player_platform_interface/test/video_player_web_options_test.dart @@ -9,29 +9,29 @@ void main() { test( 'VideoPlayerOptions controls defaults to VideoPlayerWebOptionsControls.disabled()', () { - const VideoPlayerWebOptions options = VideoPlayerWebOptions(); + const options = VideoPlayerWebOptions(); expect(options.controls, const VideoPlayerWebOptionsControls.disabled()); }, ); test('VideoPlayerOptions allowContextMenu defaults to true', () { - const VideoPlayerWebOptions options = VideoPlayerWebOptions(); + const options = VideoPlayerWebOptions(); expect(options.allowContextMenu, isTrue); }); test('VideoPlayerOptions allowRemotePlayback defaults to true', () { - const VideoPlayerWebOptions options = VideoPlayerWebOptions(); + const options = VideoPlayerWebOptions(); expect(options.allowRemotePlayback, isTrue); }); group('VideoPlayerOptions poster', () { test('defaults to null', () { - const VideoPlayerWebOptions options = VideoPlayerWebOptions(); + const options = VideoPlayerWebOptions(); expect(options.poster, null); }); test('with a value', () { - final VideoPlayerWebOptions options = VideoPlayerWebOptions( + final options = VideoPlayerWebOptions( poster: Uri.parse('https://example.com/poster.jpg'), ); expect(options.poster, Uri.parse('https://example.com/poster.jpg')); diff --git a/packages/video_player/video_player_web/example/integration_test/video_player_test.dart b/packages/video_player/video_player_web/example/integration_test/video_player_test.dart index 2e7c1a44f50..230b8b43478 100644 --- a/packages/video_player/video_player_web/example/integration_test/video_player_test.dart +++ b/packages/video_player/video_player_web/example/integration_test/video_player_test.dart @@ -30,7 +30,7 @@ void main() { }); testWidgets('initialize() calls load', (WidgetTester _) async { - bool loadCalled = false; + var loadCalled = false; video['load'] = () { loadCalled = true; @@ -64,7 +64,7 @@ void main() { }); testWidgets('setVolume', (WidgetTester tester) async { - final VideoPlayer player = VideoPlayer(videoElement: video)..initialize(); + final player = VideoPlayer(videoElement: video)..initialize(); player.setVolume(0); expect(video.muted, isTrue, reason: 'muted attribute should be true'); @@ -97,7 +97,7 @@ void main() { }); testWidgets('setPlaybackSpeed', (WidgetTester tester) async { - final VideoPlayer player = VideoPlayer(videoElement: video)..initialize(); + final player = VideoPlayer(videoElement: video)..initialize(); expect( () { @@ -118,8 +118,7 @@ void main() { group('seekTo', () { testWidgets('negative time - throws assert', (WidgetTester tester) async { - final VideoPlayer player = VideoPlayer(videoElement: video) - ..initialize(); + final player = VideoPlayer(videoElement: video)..initialize(); expect( () { @@ -134,8 +133,7 @@ void main() { WidgetTester tester, ) async { makeSetCurrentTimeThrow(video); - final VideoPlayer player = VideoPlayer(videoElement: video) - ..initialize(); + final player = VideoPlayer(videoElement: video)..initialize(); expect( () { @@ -161,7 +159,7 @@ void main() { late VideoPlayer player; late Stream timedStream; - final Set bufferingEvents = { + final bufferingEvents = { VideoEventType.bufferingStart, VideoEventType.bufferingEnd, }; diff --git a/packages/video_player/video_player_web/lib/src/video_player.dart b/packages/video_player/video_player_web/lib/src/video_player.dart index d3ee51e3910..45aa558508d 100644 --- a/packages/video_player/video_player_web/lib/src/video_player.dart +++ b/packages/video_player/video_player_web/lib/src/video_player.dart @@ -153,7 +153,7 @@ class VideoPlayer { // playback for any reason, such as permission issues. // The rejection handler is called with a DOMException. // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play - final web.DOMException exception = e as web.DOMException; + final exception = e as web.DOMException; _eventController.addError( PlatformException(code: exception.name, message: exception.message), ); @@ -359,8 +359,8 @@ class VideoPlayer { // Converts from [html.TimeRanges] to our own List. List _toDurationRange(web.TimeRanges buffered) { - final List durationRange = []; - for (int i = 0; i < buffered.length; i++) { + final durationRange = []; + for (var i = 0; i < buffered.length; i++) { durationRange.add( DurationRange( Duration(milliseconds: (buffered.start(i) * 1000).round()), diff --git a/packages/video_player/video_player_web/lib/video_player_web.dart b/packages/video_player/video_player_web/lib/video_player_web.dart index 279e1298907..ecc8e427d2d 100644 --- a/packages/video_player/video_player_web/lib/video_player_web.dart +++ b/packages/video_player/video_player_web/lib/video_player_web.dart @@ -90,7 +90,7 @@ class VideoPlayerPlugin extends VideoPlayerPlatform { ); } - final web.HTMLVideoElement videoElement = web.HTMLVideoElement() + final videoElement = web.HTMLVideoElement() ..id = 'videoElement-$playerId' ..style.border = 'none' ..style.height = '100%' @@ -102,7 +102,7 @@ class VideoPlayerPlugin extends VideoPlayerPlatform { (int viewId) => videoElement, ); - final VideoPlayer player = VideoPlayer(videoElement: videoElement) + final player = VideoPlayer(videoElement: videoElement) ..initialize(src: uri); _videoPlayers[playerId] = player; diff --git a/packages/web_benchmarks/README.md b/packages/web_benchmarks/README.md index 020d921d7e1..789150c44aa 100644 --- a/packages/web_benchmarks/README.md +++ b/packages/web_benchmarks/README.md @@ -54,8 +54,8 @@ void main() { } BenchmarkResults _benchmarkResultsFromFile(String path) { - final File file = File.fromUri(Uri.parse(path)); - final Map fileContentAsJson = + final file = File.fromUri(Uri.parse(path)); + final fileContentAsJson = jsonDecode(file.readAsStringSync()) as Map; return BenchmarkResults.parse(fileContentAsJson); } diff --git a/packages/web_benchmarks/example/analyze_example.dart b/packages/web_benchmarks/example/analyze_example.dart index a83c625f5d0..2b69eda7020 100644 --- a/packages/web_benchmarks/example/analyze_example.dart +++ b/packages/web_benchmarks/example/analyze_example.dart @@ -32,8 +32,8 @@ void main() { } BenchmarkResults _benchmarkResultsFromFile(String path) { - final File file = File.fromUri(Uri.parse(path)); - final Map fileContentAsJson = + final file = File.fromUri(Uri.parse(path)); + final fileContentAsJson = jsonDecode(file.readAsStringSync()) as Map; return BenchmarkResults.parse(fileContentAsJson); } diff --git a/packages/web_benchmarks/lib/analysis.dart b/packages/web_benchmarks/lib/analysis.dart index 73edaf62fb4..3f6f2053083 100644 --- a/packages/web_benchmarks/lib/analysis.dart +++ b/packages/web_benchmarks/lib/analysis.dart @@ -20,10 +20,10 @@ BenchmarkResults computeAverage(List results) { (BenchmarkResults sum, BenchmarkResults next) => sum._sumWith(next), ); - final BenchmarkResults average = totalSum; + final average = totalSum; for (final String benchmark in totalSum.scores.keys) { final List scoresForBenchmark = totalSum.scores[benchmark]!; - for (int i = 0; i < scoresForBenchmark.length; i++) { + for (var i = 0; i < scoresForBenchmark.length; i++) { final BenchmarkScore score = scoresForBenchmark[i]; final double averageValue = score.value / results.length; average.scores[benchmark]![i] = BenchmarkScore( @@ -42,8 +42,7 @@ BenchmarkResults computeDelta( BenchmarkResults baseline, BenchmarkResults test, ) { - final Map> delta = - >{}; + final delta = >{}; for (final String benchmarkName in test.scores.keys) { final List testScores = test.scores[benchmarkName]!; final List? baselineScores = baseline.scores[benchmarkName]; @@ -76,8 +75,7 @@ extension _AnalysisExtension on BenchmarkResults { BenchmarkResults other, { bool throwExceptionOnMismatch = true, }) { - final Map> sum = - >{}; + final sum = >{}; for (final String benchmark in scores.keys) { // Look up this benchmark in [other]. final List? matchingBenchmark = other.scores[benchmark]; diff --git a/packages/web_benchmarks/lib/client.dart b/packages/web_benchmarks/lib/client.dart index d9d60e30501..3af9875354b 100644 --- a/packages/web_benchmarks/lib/client.dart +++ b/packages/web_benchmarks/lib/client.dart @@ -68,7 +68,7 @@ Future runBenchmarks( final Uri currentUri = Uri.parse(window.location.href); // Create a new URI with the parsed value of [benchmarkPath] to ensure the // benchmark app is reloaded with the proper configuration. - final String newUri = Uri.parse(benchmarkPath) + final newUri = Uri.parse(benchmarkPath) .replace( scheme: currentUri.scheme, host: currentUri.host, @@ -94,7 +94,7 @@ Future _runBenchmark(String? benchmarkName) async { await runZoned>( () async { final Recorder recorder = recorderFactory(); - final Runner runner = recorder.isTracingEnabled && !_client.isInManualMode + final runner = recorder.isTracingEnabled && !_client.isInManualMode ? Runner( recorder: recorder, setUpAllDidRun: () => @@ -168,7 +168,7 @@ void _fallbackToManual(String error) { /// Visualizes results on the Web page for manual inspection. void _printResultsToScreen(Profile profile) { - final HTMLBodyElement body = document.body! as HTMLBodyElement; + final body = document.body! as HTMLBodyElement; body.innerHTMLString = '

${profile.name}

'; @@ -238,7 +238,7 @@ class TimeseriesVisualization { final double barWidth = _screenWidth / _stats.samples.length; double xOffset = 0; - for (int i = 0; i < _stats.samples.length; i++) { + for (var i = 0; i < _stats.samples.length; i++) { final AnnotatedSample sample = _stats.samples[i]; if (sample.isWarmUpValue) { @@ -415,8 +415,8 @@ class LocalBenchmarkServerClient { required String mimeType, String? sendData, }) { - final Completer completer = Completer(); - final XMLHttpRequest xhr = XMLHttpRequest(); + final completer = Completer(); + final xhr = XMLHttpRequest(); xhr.open(method, url, true); xhr.overrideMimeType(mimeType); xhr.onLoad.listen((ProgressEvent e) { diff --git a/packages/web_benchmarks/lib/src/benchmark_result.dart b/packages/web_benchmarks/lib/src/benchmark_result.dart index 69ae5349b27..5b62be1a570 100644 --- a/packages/web_benchmarks/lib/src/benchmark_result.dart +++ b/packages/web_benchmarks/lib/src/benchmark_result.dart @@ -11,9 +11,9 @@ class BenchmarkScore { /// Deserializes a JSON object to create a [BenchmarkScore] object. factory BenchmarkScore.parse(Map json) { - final String metric = json[metricKey]! as String; + final metric = json[metricKey]! as String; final double value = (json[valueKey]! as num).toDouble(); - final num? delta = json[deltaKey] as num?; + final delta = json[deltaKey] as num?; return BenchmarkScore(metric: metric, value: value, delta: delta); } @@ -59,8 +59,7 @@ class BenchmarkResults { /// Deserializes a JSON object to create a [BenchmarkResults] object. factory BenchmarkResults.parse(Map json) { - final Map> results = - >{}; + final results = >{}; for (final String key in json.keys) { final List scores = (json[key]! as List) .cast>() diff --git a/packages/web_benchmarks/lib/src/browser.dart b/packages/web_benchmarks/lib/src/browser.dart index 137d7b6fccf..9698b4b62fe 100644 --- a/packages/web_benchmarks/lib/src/browser.dart +++ b/packages/web_benchmarks/lib/src/browser.dart @@ -100,9 +100,9 @@ class Chrome { print('Launching Chrome...'); } final String? url = options.url; - final bool withDebugging = options.debugPort != null; + final withDebugging = options.debugPort != null; - final List args = [ + final args = [ if (options.userDataDirectory != null) '--user-data-dir=${options.userDataDirectory}', if (url != null) url, @@ -251,13 +251,13 @@ String _findSystemChromeExecutable() { throw Exception('Failed to locate system Chrome installation.'); } - final String output = which.stdout as String; + final output = which.stdout as String; return output.trim(); } else if (io.Platform.isMacOS) { return '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'; } else if (io.Platform.isWindows) { - const String kWindowsExecutable = r'Google\Chrome\Application\chrome.exe'; - final List kWindowsPrefixes = [ + const kWindowsExecutable = r'Google\Chrome\Application\chrome.exe'; + final kWindowsPrefixes = [ for (final String? item in [ io.Platform.environment['LOCALAPPDATA'], io.Platform.environment['PROGRAMFILES'], @@ -311,7 +311,7 @@ Future _connectToChromeDebugPort( Uri.parse('http://localhost:$port'), ); print('Connecting to DevTools: $devtoolsUri'); - final ChromeConnection chromeConnection = ChromeConnection('localhost', port); + final chromeConnection = ChromeConnection('localhost', port); final Iterable tabs = (await chromeConnection.getTabs()).where(( ChromeTab tab, ) { @@ -325,12 +325,12 @@ Future _connectToChromeDebugPort( /// Gets the Chrome debugger URL for the web page being benchmarked. Future _getRemoteDebuggerUrl(Uri base) async { - final io.HttpClient client = io.HttpClient(); + final client = io.HttpClient(); final io.HttpClientRequest request = await client.getUrl( base.resolve('/json/list'), ); final io.HttpClientResponse response = await request.close(); - final List? jsonObject = + final jsonObject = await json.fuse(utf8).decoder.bind(response).single as List?; if (jsonObject == null || jsonObject.isEmpty) { return base; @@ -381,10 +381,10 @@ class BlinkTraceSummary { .toList(); // Extract frame data. - final List frames = []; - int skipCount = 0; - BlinkFrame frame = BlinkFrame(); - for (final BlinkTraceEvent event in events) { + final frames = []; + var skipCount = 0; + var frame = BlinkFrame(); + for (final event in events) { if (event.isBeginFrame) { frame.beginFrame = event; } else if (event.isUpdateAllLifecyclePhases) { @@ -425,7 +425,7 @@ class BlinkTraceSummary { ), ); } catch (_) { - final io.File traceFile = io.File('./chrome-trace.json'); + final traceFile = io.File('./chrome-trace.json'); io.stderr.writeln( 'Failed to interpret the Chrome trace contents. The trace was saved in ${traceFile.path}', ); @@ -643,7 +643,7 @@ class BlinkTraceEvent { /// /// Returns null if the value is null. int? _readInt(Map json, String key) { - final num? jsonValue = json[key] as num?; + final jsonValue = json[key] as num?; if (jsonValue == null) { return null; // ignore: avoid_returning_null diff --git a/packages/web_benchmarks/lib/src/computations.dart b/packages/web_benchmarks/lib/src/computations.dart index 605fe93817f..35c548255b6 100644 --- a/packages/web_benchmarks/lib/src/computations.dart +++ b/packages/web_benchmarks/lib/src/computations.dart @@ -121,7 +121,7 @@ class Timeseries { candidateValues, ); - final List annotatedValues = [ + final annotatedValues = [ for (final double warmUpValue in warmUpValues) AnnotatedSample( magnitude: warmUpValue, @@ -243,7 +243,7 @@ class TimeseriesStats { @override String toString() { - final StringBuffer buffer = StringBuffer(); + final buffer = StringBuffer(); buffer.writeln( '$name: (samples: $cleanSampleCount clean/$outlierSampleCount ' 'outliers/${cleanSampleCount + outlierSampleCount} ' @@ -342,7 +342,7 @@ Map computePercentiles( '$label: attempted to compute a percentile of an empty value list.', ); } - for (final double percentile in percentiles) { + for (final percentile in percentiles) { if (percentile < 0.0 || percentile > 1.0) { throw StateError( '$label: attempted to compute a percentile for an invalid ' @@ -354,8 +354,8 @@ Map computePercentiles( final List sorted = values.sorted( (double a, double b) => a.compareTo(b), ); - final Map computed = {}; - for (final double percentile in percentiles) { + final computed = {}; + for (final percentile in percentiles) { final int percentileIndex = (sorted.length * percentile).round().clamp( 0, sorted.length - 1, diff --git a/packages/web_benchmarks/lib/src/recorder.dart b/packages/web_benchmarks/lib/src/recorder.dart index c4667762373..11aa7eb9777 100644 --- a/packages/web_benchmarks/lib/src/recorder.dart +++ b/packages/web_benchmarks/lib/src/recorder.dart @@ -30,7 +30,7 @@ const int kTotalSampleCount = _kWarmUpSampleCount + kMeasuredSampleCount; /// Measures the amount of time [action] takes. Duration timeAction(VoidCallback action) { - final Stopwatch stopwatch = Stopwatch()..start(); + final stopwatch = Stopwatch()..start(); action(); stopwatch.stop(); return stopwatch.elapsed; @@ -226,7 +226,7 @@ abstract class SceneBuilderRecorder extends Recorder { @override Future run() { - final Completer profileCompleter = Completer(); + final profileCompleter = Completer(); _profile = Profile(name: name); PlatformDispatcher.instance.onBeginFrame = (_) { @@ -242,7 +242,7 @@ abstract class SceneBuilderRecorder extends Recorder { final FlutterView? view = PlatformDispatcher.instance.implicitView; try { _profile.record(BenchmarkMetric.drawFrame.label, () { - final SceneBuilder sceneBuilder = SceneBuilder(); + final sceneBuilder = SceneBuilder(); onDrawFrame(sceneBuilder); _profile.record('sceneBuildDuration', () { final Scene scene = sceneBuilder.build(); @@ -435,7 +435,7 @@ abstract class WidgetRecorder extends Recorder implements FrameRecorder { late void Function(List frameTimings) frameTimingsCallback; binding.addTimingsCallback( frameTimingsCallback = (List frameTimings) { - for (final FrameTiming frameTiming in frameTimings) { + for (final frameTiming in frameTimings) { localProfile.addDataPoint( BenchmarkMetric.flutterFrameTotalTime.label, frameTiming.totalSpan, @@ -689,11 +689,8 @@ class Profile { /// Returns a JSON representation of the profile that will be sent to the /// server. Map toJson() { - final List scoreKeys = []; - final Map json = { - 'name': name, - 'scoreKeys': scoreKeys, - }; + final scoreKeys = []; + final json = {'name': name, 'scoreKeys': scoreKeys}; for (final String key in scoreData.keys) { final Timeseries timeseries = scoreData[key]!; @@ -726,7 +723,7 @@ class Profile { @override String toString() { - final StringBuffer buffer = StringBuffer(); + final buffer = StringBuffer(); buffer.writeln('name: $name'); for (final String key in scoreData.keys) { final Timeseries timeseries = scoreData[key]!; @@ -737,7 +734,7 @@ class Profile { final dynamic value = extraData[key]; if (value is List) { buffer.writeln('$key:'); - for (final dynamic item in value) { + for (final Object? item in value) { buffer.writeln(' - $item'); } } else { diff --git a/packages/web_benchmarks/lib/src/runner.dart b/packages/web_benchmarks/lib/src/runner.dart index a57762c5182..13dae83b7d7 100644 --- a/packages/web_benchmarks/lib/src/runner.dart +++ b/packages/web_benchmarks/lib/src/runner.dart @@ -128,7 +128,7 @@ class BenchmarkServer { ); } - final DateTime startTime = DateTime.now(); + final startTime = DateTime.now(); print('Building Flutter web app $compilationOptions...'); final io.ProcessResult buildResult = await _processManager.run([ 'flutter', @@ -155,10 +155,8 @@ class BenchmarkServer { throw Exception('Failed to build the benchmark.'); } - final Completer>> profileData = - Completer>>(); - final List> collectedProfiles = - >[]; + final profileData = Completer>>(); + final collectedProfiles = >[]; List? benchmarks; late Iterator benchmarkIterator; @@ -169,7 +167,7 @@ class BenchmarkServer { Chrome? chrome; late io.HttpServer server; List>? latestPerformanceTrace; - Cascade cascade = Cascade(); + var cascade = Cascade(); // Serves the static files built for the app (html, js, images, fonts, etc) final Handler buildFolderHandler = createStaticHandler( @@ -202,9 +200,9 @@ class BenchmarkServer { try { chrome ??= await whenChromeIsReady; if (request.requestedUri.path.endsWith('/profile-data')) { - final Map profile = + final profile = json.decode(await request.readAsString()) as Map; - final String? benchmarkName = profile['name'] as String?; + final benchmarkName = profile['name'] as String?; if (benchmarkName != benchmarkIterator.current) { profileData.completeError( Exception( @@ -244,11 +242,11 @@ class BenchmarkServer { latestPerformanceTrace = await chrome!.endRecordingPerformance(); return Response.ok('Stopped performance tracing'); } else if (request.requestedUri.path.endsWith('/on-error')) { - final Map errorDetails = + final errorDetails = json.decode(await request.readAsString()) as Map; unawaited(server.close()); // Keep the stack trace as a string. It's thrown in the browser, not this Dart VM. - final String errorMessage = + final errorMessage = 'Caught browser-side error: ${errorDetails['error']}\n${errorDetails['stackTrace']}'; if (!profileData.isCompleted) { profileData.completeError(errorMessage); @@ -300,7 +298,7 @@ class BenchmarkServer { cascade = cascade.add((Request request) async { if (request.method == 'GET') { final Uri newRequestUri = request.requestedUri.replace(path: '/'); - final Request newRequest = Request( + final newRequest = Request( request.method, newRequestUri, headers: request.headers, @@ -324,7 +322,7 @@ class BenchmarkServer { dartToolDirectory, ).createTempSync('chrome_user_data_').path; - final ChromeOptions options = ChromeOptions( + final options = ChromeOptions( url: _benchmarkAppUrl, userDataDirectory: userDataDir, headless: headless, @@ -348,21 +346,20 @@ class BenchmarkServer { final List> profiles = await profileData.future; print('Received profile data'); - final Map> results = - >{}; - for (final Map profile in profiles) { - final String benchmarkName = profile['name'] as String; + final results = >{}; + for (final profile in profiles) { + final benchmarkName = profile['name'] as String; if (benchmarkName.isEmpty) { throw StateError('Benchmark name is empty'); } - final List scoreKeys = List.from( + final scoreKeys = List.from( profile['scoreKeys'] as Iterable, ); if (scoreKeys.isEmpty) { throw StateError('No score keys in benchmark "$benchmarkName"'); } - for (final String scoreKey in scoreKeys) { + for (final scoreKey in scoreKeys) { if (scoreKey.isEmpty) { throw StateError( 'Score key is empty in benchmark "$benchmarkName". ' @@ -371,7 +368,7 @@ class BenchmarkServer { } } - final List scores = []; + final scores = []; for (final String key in profile.keys) { if (key == 'name' || key == 'scoreKeys') { continue; diff --git a/packages/web_benchmarks/test/src/analysis_test.dart b/packages/web_benchmarks/test/src/analysis_test.dart index 31e305e78aa..4a6020d0146 100644 --- a/packages/web_benchmarks/test/src/analysis_test.dart +++ b/packages/web_benchmarks/test/src/analysis_test.dart @@ -8,28 +8,20 @@ import 'package:web_benchmarks/analysis.dart'; void main() { group('averageBenchmarkResults', () { test('succeeds for identical benchmark names and metrics', () { - final BenchmarkResults result1 = BenchmarkResults( - >{ - 'foo': [ - BenchmarkScore(metric: 'foo.bar', value: 6), - BenchmarkScore(metric: 'foo.baz', value: 10), - ], - 'bar': [ - BenchmarkScore(metric: 'bar.foo', value: 2.4), - ], - }, - ); - final BenchmarkResults result2 = BenchmarkResults( - >{ - 'foo': [ - BenchmarkScore(metric: 'foo.bar', value: 4), - BenchmarkScore(metric: 'foo.baz', value: 10), - ], - 'bar': [ - BenchmarkScore(metric: 'bar.foo', value: 1.2), - ], - }, - ); + final result1 = BenchmarkResults(>{ + 'foo': [ + BenchmarkScore(metric: 'foo.bar', value: 6), + BenchmarkScore(metric: 'foo.baz', value: 10), + ], + 'bar': [BenchmarkScore(metric: 'bar.foo', value: 2.4)], + }); + final result2 = BenchmarkResults(>{ + 'foo': [ + BenchmarkScore(metric: 'foo.bar', value: 4), + BenchmarkScore(metric: 'foo.baz', value: 10), + ], + 'bar': [BenchmarkScore(metric: 'bar.foo', value: 1.2)], + }); final BenchmarkResults average = computeAverage([ result1, result2, @@ -46,32 +38,24 @@ void main() { }); test('fails for mismatched benchmark names', () { - final BenchmarkResults result1 = BenchmarkResults( - >{ - 'foo': [BenchmarkScore(metric: 'foo.bar', value: 6)], - }, - ); - final BenchmarkResults result2 = BenchmarkResults( - >{ - 'foo1': [BenchmarkScore(metric: 'foo.bar', value: 4)], - }, - ); + final result1 = BenchmarkResults(>{ + 'foo': [BenchmarkScore(metric: 'foo.bar', value: 6)], + }); + final result2 = BenchmarkResults(>{ + 'foo1': [BenchmarkScore(metric: 'foo.bar', value: 4)], + }); expect(() { computeAverage([result1, result2]); }, throwsException); }); test('fails for mismatched benchmark metrics', () { - final BenchmarkResults result1 = BenchmarkResults( - >{ - 'foo': [BenchmarkScore(metric: 'foo.bar', value: 6)], - }, - ); - final BenchmarkResults result2 = BenchmarkResults( - >{ - 'foo': [BenchmarkScore(metric: 'foo.boo', value: 4)], - }, - ); + final result1 = BenchmarkResults(>{ + 'foo': [BenchmarkScore(metric: 'foo.bar', value: 6)], + }); + final result2 = BenchmarkResults(>{ + 'foo': [BenchmarkScore(metric: 'foo.boo', value: 4)], + }); expect(() { computeAverage([result1, result2]); }, throwsException); @@ -79,12 +63,8 @@ void main() { }); test('computeDelta', () { - final BenchmarkResults benchmark1 = BenchmarkResults.parse( - testBenchmarkResults1, - ); - final BenchmarkResults benchmark2 = BenchmarkResults.parse( - testBenchmarkResults2, - ); + final benchmark1 = BenchmarkResults.parse(testBenchmarkResults1); + final benchmark2 = BenchmarkResults.parse(testBenchmarkResults2); final BenchmarkResults delta = computeDelta(benchmark1, benchmark2); expect(delta.toJson(), expectedBenchmarkDelta); }); diff --git a/packages/web_benchmarks/test/src/benchmark_result_test.dart b/packages/web_benchmarks/test/src/benchmark_result_test.dart index 59a49ee6884..36460713194 100644 --- a/packages/web_benchmarks/test/src/benchmark_result_test.dart +++ b/packages/web_benchmarks/test/src/benchmark_result_test.dart @@ -8,7 +8,7 @@ import 'package:web_benchmarks/server.dart'; void main() { group('can serialize and deserialize', () { test('$BenchmarkResults', () { - final Map data = { + final data = { 'foo': >[ {'metric': 'foo.bar', 'value': 12.34, 'delta': -0.2}, {'metric': 'foo.baz', 'value': 10, 'delta': 3.3}, @@ -18,7 +18,7 @@ void main() { ], }; - final BenchmarkResults benchmarkResults = BenchmarkResults.parse(data); + final benchmarkResults = BenchmarkResults.parse(data); expect(benchmarkResults.scores.length, 2); final List fooBenchmarks = benchmarkResults.scores['foo']!; @@ -40,13 +40,13 @@ void main() { }); test('$BenchmarkScore', () { - final Map data = { + final data = { 'metric': 'foo', 'value': 1.234, 'delta': -0.4, }; - final BenchmarkScore score = BenchmarkScore.parse(data); + final score = BenchmarkScore.parse(data); expect(score.metric, 'foo'); expect(score.value, 1.234); expect(score.delta, -0.4); diff --git a/packages/web_benchmarks/testing/test_app/benchmark/test_infra/automator.dart b/packages/web_benchmarks/testing/test_app/benchmark/test_infra/automator.dart index 43823de83dd..35501f60fa6 100644 --- a/packages/web_benchmarks/testing/test_app/benchmark/test_infra/automator.dart +++ b/packages/web_benchmarks/testing/test_app/benchmark/test_infra/automator.dart @@ -82,7 +82,7 @@ class Automator { } Future _handleAppNavigate() async { - for (int i = 0; i < 10; ++i) { + for (var i = 0; i < 10; ++i) { print('Testing round $i...'); await controller.tap(find.byKey(aboutPageKey)); await animationStops(); @@ -103,7 +103,7 @@ class Automator { } Future _handleAppTap() async { - for (int i = 0; i < 10; ++i) { + for (var i = 0; i < 10; ++i) { print('Testing round $i...'); await controller.tap(find.byIcon(Icons.add)); await animationStops(); @@ -135,7 +135,7 @@ Future animationStops() async { return; } - final Completer stopped = Completer(); + final stopped = Completer(); Timer.periodic(_animationCheckingInterval, (Timer timer) { if (!WidgetsBinding.instance.hasScheduledFrame) { diff --git a/packages/web_benchmarks/testing/test_app/benchmark/web_benchmarks_test.dart b/packages/web_benchmarks/testing/test_app/benchmark/web_benchmarks_test.dart index 15845574c0b..6330f6b4f46 100644 --- a/packages/web_benchmarks/testing/test_app/benchmark/web_benchmarks_test.dart +++ b/packages/web_benchmarks/testing/test_app/benchmark/web_benchmarks_test.dart @@ -88,8 +88,8 @@ Future _runBenchmarks({ .map((BenchmarkMetric metric) => metric.label) .toList(); - for (final String benchmarkName in benchmarkNames) { - for (final String metricName in expectedMetrics) { + for (final benchmarkName in benchmarkNames) { + for (final metricName in expectedMetrics) { for (final BenchmarkMetricComputation computation in BenchmarkMetricComputation.values) { expect( diff --git a/packages/webview_flutter/webview_flutter/README.md b/packages/webview_flutter/webview_flutter/README.md index 267519d3e81..2cc88e77a28 100644 --- a/packages/webview_flutter/webview_flutter/README.md +++ b/packages/webview_flutter/webview_flutter/README.md @@ -107,8 +107,7 @@ if (WebViewPlatform.instance is WebKitWebViewPlatform) { params = const PlatformWebViewControllerCreationParams(); } -final WebViewController controller = - WebViewController.fromPlatformCreationParams(params); +final controller = WebViewController.fromPlatformCreationParams(params); // ··· if (controller.platform is AndroidWebViewController) { AndroidWebViewController.enableDebugging(true); diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index aebfaaff445..7bf58efe705 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -41,7 +41,7 @@ Future main() async { request.headers[HttpHeaders.authorizationHeader]; if (authHeader != null) { final String encodedCredential = authHeader.first.split(' ')[1]; - final String credential = String.fromCharCodes( + final credential = String.fromCharCodes( base64Decode(encodedCredential), ); if (credential == 'user:password') { @@ -66,16 +66,16 @@ Future main() async { request.response.close(); }), ); - final String prefixUrl = 'http://${server.address.address}:${server.port}'; - final String primaryUrl = '$prefixUrl/hello.txt'; - final String secondaryUrl = '$prefixUrl/secondary.txt'; - final String headersUrl = '$prefixUrl/headers'; - final String basicAuthUrl = '$prefixUrl/http-basic-authentication'; + final prefixUrl = 'http://${server.address.address}:${server.port}'; + final primaryUrl = '$prefixUrl/hello.txt'; + final secondaryUrl = '$prefixUrl/secondary.txt'; + final headersUrl = '$prefixUrl/headers'; + final basicAuthUrl = '$prefixUrl/http-basic-authentication'; testWidgets('loadRequest', (WidgetTester tester) async { - final Completer pageFinished = Completer(); + final pageFinished = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), ); @@ -89,9 +89,9 @@ Future main() async { }); testWidgets('runJavaScriptReturningResult', (WidgetTester tester) async { - final Completer pageFinished = Completer(); + final pageFinished = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), @@ -109,13 +109,11 @@ Future main() async { }); testWidgets('loadRequest with headers', (WidgetTester tester) async { - final Map headers = { - 'test_header': 'flutter_test_header', - }; + final headers = {'test_header': 'flutter_test_header'}; - final StreamController pageLoads = StreamController(); + final pageLoads = StreamController(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (String url) => pageLoads.add(url)), @@ -127,7 +125,7 @@ Future main() async { await pageLoads.stream.firstWhere((String url) => url == headersUrl); - final String content = + final content = await controller.runJavaScriptReturningResult( 'document.documentElement.innerText', ) @@ -136,14 +134,14 @@ Future main() async { }); testWidgets('JavascriptChannel', (WidgetTester tester) async { - final Completer pageFinished = Completer(); - final WebViewController controller = WebViewController(); + final pageFinished = Completer(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), ); - final Completer channelCompleter = Completer(); + final channelCompleter = Completer(); await controller.addJavaScriptChannel( 'Echo', onMessageReceived: (JavaScriptMessage message) { @@ -164,11 +162,11 @@ Future main() async { }); testWidgets('resize webview', (WidgetTester tester) async { - final Completer initialResizeCompleter = Completer(); - final Completer buttonTapResizeCompleter = Completer(); - final Completer onPageFinished = Completer(); + final initialResizeCompleter = Completer(); + final buttonTapResizeCompleter = Completer(); + final onPageFinished = Completer(); - bool resizeButtonTapped = false; + var resizeButtonTapped = false; await tester.pumpWidget( ResizableWebView( onResize: () { @@ -198,9 +196,9 @@ Future main() async { }); testWidgets('set custom userAgent', (WidgetTester tester) async { - final Completer pageFinished = Completer(); + final pageFinished = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), @@ -221,7 +219,7 @@ Future main() async { () { testWidgets('Auto media playback', (WidgetTester tester) async { final String videoTestBase64 = await getTestVideoBase64(); - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); late PlatformWebViewControllerCreationParams params; if (defaultTargetPlatform == TargetPlatform.iOS) { @@ -232,8 +230,7 @@ Future main() async { params = const PlatformWebViewControllerCreationParams(); } - WebViewController controller = - WebViewController.fromPlatformCreationParams(params); + var controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( @@ -255,7 +252,7 @@ Future main() async { await pageLoaded.future; - bool isPaused = + var isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; expect(isPaused, false); @@ -286,8 +283,8 @@ Future main() async { testWidgets('Video plays inline', (WidgetTester tester) async { final String videoTestBase64 = await getTestVideoBase64(); - final Completer pageLoaded = Completer(); - final Completer videoPlaying = Completer(); + final pageLoaded = Completer(); + final videoPlaying = Completer(); late PlatformWebViewControllerCreationParams params; if (defaultTargetPlatform == TargetPlatform.iOS) { @@ -298,8 +295,7 @@ Future main() async { } else { params = const PlatformWebViewControllerCreationParams(); } - final WebViewController controller = - WebViewController.fromPlatformCreationParams(params); + final controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( @@ -334,7 +330,7 @@ Future main() async { // Makes sure we get the correct event that indicates the video is actually playing. await videoPlaying.future; - final bool fullScreen = + final fullScreen = await controller.runJavaScriptReturningResult('isFullScreen();') as bool; expect(fullScreen, false); @@ -355,7 +351,7 @@ Future main() async { final String base64AudioData = base64Encode( Uint8List.view(audioData.buffer), ); - final String audioTest = + final audioTest = ''' Audio auto play @@ -381,7 +377,7 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); late PlatformWebViewControllerCreationParams params; if (defaultTargetPlatform == TargetPlatform.iOS) { @@ -392,8 +388,7 @@ Future main() async { params = const PlatformWebViewControllerCreationParams(); } - WebViewController controller = - WebViewController.fromPlatformCreationParams(params); + var controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), @@ -413,7 +408,7 @@ Future main() async { await pageLoaded.future; - bool isPaused = + var isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; expect(isPaused, false); @@ -446,7 +441,7 @@ Future main() async { ); testWidgets('getTitle', (WidgetTester tester) async { - const String getTitleTest = ''' + const getTitleTest = ''' Some title @@ -457,9 +452,9 @@ Future main() async { final String getTitleTestBase64 = base64Encode( const Utf8Encoder().convert(getTitleTest), ); - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), @@ -486,7 +481,7 @@ Future main() async { 'Programmatic Scroll', () { testWidgets('setAndGetScrollPosition', (WidgetTester tester) async { - const String scrollTestPage = ''' + const scrollTestPage = ''' @@ -511,8 +506,8 @@ Future main() async { const Utf8Encoder().convert(scrollTestPage), ); - final Completer pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final pageLoaded = Completer(); + final controller = WebViewController(); ScrollPositionChange? recordedPosition; await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( @@ -539,8 +534,8 @@ Future main() async { Offset scrollPos = await controller.getScrollPosition(); // Check scrollTo() - const int X_SCROLL = 123; - const int Y_SCROLL = 321; + const X_SCROLL = 123; + const Y_SCROLL = 321; // Get the initial position; this ensures that scrollTo is actually // changing something, but also gives the native view's scroll position // time to settle. @@ -571,15 +566,15 @@ Future main() async { ); group('NavigationDelegate', () { - const String blankPage = ''; - final String blankPageEncoded = + const blankPage = ''; + final blankPageEncoded = 'data:text/html;charset=utf-8;base64,' '${base64Encode(const Utf8Encoder().convert(blankPage))}'; testWidgets('can allow requests', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate( @@ -607,10 +602,9 @@ Future main() async { }); testWidgets('onWebResourceError', (WidgetTester tester) async { - final Completer errorCompleter = - Completer(); + final errorCompleter = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate( @@ -630,11 +624,10 @@ Future main() async { testWidgets('onWebResourceError is not called with valid url', ( WidgetTester tester, ) async { - final Completer errorCompleter = - Completer(); - final Completer pageFinishCompleter = Completer(); + final errorCompleter = Completer(); + final pageFinishCompleter = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate( @@ -655,9 +648,9 @@ Future main() async { }); testWidgets('can block requests', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate( @@ -693,13 +686,12 @@ Future main() async { }); testWidgets('onHttpError', (WidgetTester tester) async { - final Completer errorCompleter = - Completer(); + final errorCompleter = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - final NavigationDelegate delegate = NavigationDelegate( + final delegate = NavigationDelegate( onHttpError: (HttpResponseError error) { errorCompleter.complete(error); }, @@ -719,7 +711,7 @@ Future main() async { testWidgets('onHttpError is not called when no HTTP error is received', ( WidgetTester tester, ) async { - const String testPage = ''' + const testPage = ''' @@ -727,14 +719,13 @@ Future main() async { '''; - final Completer errorCompleter = - Completer(); - final Completer pageFinishCompleter = Completer(); + final errorCompleter = Completer(); + final pageFinishCompleter = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - final NavigationDelegate delegate = NavigationDelegate( + final delegate = NavigationDelegate( onPageFinished: pageFinishCompleter.complete, onHttpError: (HttpResponseError error) { errorCompleter.complete(error); @@ -751,9 +742,9 @@ Future main() async { }); testWidgets('supports asynchronous decisions', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate( @@ -784,9 +775,9 @@ Future main() async { }); testWidgets('can receive url changes', (WidgetTester tester) async { - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), @@ -797,7 +788,7 @@ Future main() async { await pageLoaded.future; - final Completer urlChangeCompleter = Completer(); + final urlChangeCompleter = Completer(); await controller.setNavigationDelegate( NavigationDelegate( onUrlChange: (UrlChange change) { @@ -814,13 +805,13 @@ Future main() async { testWidgets('can receive updates to history state', ( WidgetTester tester, ) async { - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final NavigationDelegate navigationDelegate = NavigationDelegate( + final navigationDelegate = NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), ); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate(navigationDelegate); await controller.loadRequest(Uri.parse(primaryUrl)); @@ -829,7 +820,7 @@ Future main() async { await pageLoaded.future; - final Completer urlChangeCompleter = Completer(); + final urlChangeCompleter = Completer(); await controller.setNavigationDelegate( NavigationDelegate( onUrlChange: (UrlChange change) { @@ -848,8 +839,8 @@ Future main() async { testWidgets('can receive HTTP basic auth requests', ( WidgetTester tester, ) async { - final Completer authRequested = Completer(); - final WebViewController controller = WebViewController(); + final authRequested = Completer(); + final controller = WebViewController(); await controller.setNavigationDelegate( NavigationDelegate( @@ -868,8 +859,8 @@ Future main() async { testWidgets('can authenticate to HTTP basic auth requests', ( WidgetTester tester, ) async { - final WebViewController controller = WebViewController(); - final Completer pageFinished = Completer(); + final controller = WebViewController(); + final pageFinished = Completer(); await controller.setNavigationDelegate( NavigationDelegate( @@ -892,9 +883,9 @@ Future main() async { testWidgets('target _blank opens in same window', ( WidgetTester tester, ) async { - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), @@ -909,9 +900,9 @@ Future main() async { }); testWidgets('can open new window and go back', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), @@ -936,9 +927,9 @@ Future main() async { }); testWidgets('clearLocalStorage', (WidgetTester tester) async { - Completer pageLoadCompleter = Completer(); + var pageLoadCompleter = Completer(); - final WebViewController controller = WebViewController(); + final controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoadCompleter.complete()), @@ -951,7 +942,7 @@ Future main() async { pageLoadCompleter = Completer(); await controller.runJavaScript('localStorage.setItem("myCat", "Tom");'); - final String myCatItem = + final myCatItem = await controller.runJavaScriptReturningResult( 'localStorage.getItem("myCat");', ) @@ -1089,7 +1080,7 @@ class ResizableWebViewState extends State { Future getTestVideoBase64() async { final ByteData videoData = await rootBundle.load('assets/sample_video.mp4'); final String base64VideoData = base64Encode(Uint8List.view(videoData.buffer)); - final String videoTest = + final videoTest = ''' Video auto play diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart index ebcfe2ac24a..f91602ae2f7 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart @@ -40,15 +40,14 @@ Future main() async { request.response.close(); }), ); - final String prefixUrl = 'http://${server.address.address}:${server.port}'; - final String primaryUrl = '$prefixUrl/hello.txt'; - final String secondaryUrl = '$prefixUrl/secondary.txt'; - final String headersUrl = '$prefixUrl/headers'; + final prefixUrl = 'http://${server.address.address}:${server.port}'; + final primaryUrl = '$prefixUrl/hello.txt'; + final secondaryUrl = '$prefixUrl/secondary.txt'; + final headersUrl = '$prefixUrl/headers'; testWidgets('initialUrl', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final Completer pageFinishedCompleter = Completer(); + final controllerCompleter = Completer(); + final pageFinishedCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -71,9 +70,8 @@ Future main() async { }); testWidgets('loadUrl', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final StreamController pageLoads = StreamController(); + final controllerCompleter = Completer(); + final pageLoads = StreamController(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -99,8 +97,7 @@ Future main() async { }); testWidgets('evaluateJavascript', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -121,10 +118,9 @@ Future main() async { }); testWidgets('loadUrl with headers', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final StreamController pageStarts = StreamController(); - final StreamController pageLoads = StreamController(); + final controllerCompleter = Completer(); + final pageStarts = StreamController(); + final pageLoads = StreamController(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -145,9 +141,7 @@ Future main() async { ), ); final WebViewController controller = await controllerCompleter.future; - final Map headers = { - 'test_header': 'flutter_test_header', - }; + final headers = {'test_header': 'flutter_test_header'}; await controller.loadUrl(headersUrl, headers: headers); await pageStarts.stream.firstWhere((String url) => url == headersUrl); @@ -160,11 +154,10 @@ Future main() async { }); testWidgets('JavascriptChannel', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final Completer pageStarted = Completer(); - final Completer pageLoaded = Completer(); - final Completer channelCompleter = Completer(); + final controllerCompleter = Completer(); + final pageStarted = Completer(); + final pageLoaded = Completer(); + final channelCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -205,11 +198,11 @@ Future main() async { }); testWidgets('resize webview', (WidgetTester tester) async { - final Completer initialResizeCompleter = Completer(); - final Completer buttonTapResizeCompleter = Completer(); - final Completer onPageFinished = Completer(); + final initialResizeCompleter = Completer(); + final buttonTapResizeCompleter = Completer(); + final onPageFinished = Completer(); - bool resizeButtonTapped = false; + var resizeButtonTapped = false; await tester.pumpWidget( ResizableWebView( onResize: (_) { @@ -236,8 +229,7 @@ Future main() async { }); testWidgets('set custom userAgent', (WidgetTester tester) async { - final Completer controllerCompleter1 = - Completer(); + final controllerCompleter1 = Completer(); final GlobalKey globalKey = GlobalKey(); await tester.pumpWidget( Directionality( @@ -276,8 +268,7 @@ Future main() async { testWidgets('use default platform userAgent after webView is rebuilt', ( WidgetTester tester, ) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); final GlobalKey globalKey = GlobalKey(); // Build the webView with no user agent to get the default platform user agent. await tester.pumpWidget( @@ -330,9 +321,8 @@ Future main() async { 'Auto media playback', (WidgetTester tester) async { final String videoTestBase64 = await getTestVideoBase64(); - Completer controllerCompleter = - Completer(); - Completer pageLoaded = Completer(); + var controllerCompleter = Completer(); + var pageLoaded = Completer(); await tester.pumpWidget( Directionality( @@ -396,9 +386,8 @@ Future main() async { 'Changes to initialMediaPlaybackPolicy are ignored', (WidgetTester tester) async { final String videoTestBase64 = await getTestVideoBase64(); - final Completer controllerCompleter = - Completer(); - Completer pageLoaded = Completer(); + final controllerCompleter = Completer(); + var pageLoaded = Completer(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -462,10 +451,9 @@ Future main() async { WidgetTester tester, ) async { final String videoTestBase64 = await getTestVideoBase64(); - final Completer controllerCompleter = - Completer(); - final Completer pageLoaded = Completer(); - final Completer videoPlaying = Completer(); + final controllerCompleter = Completer(); + final pageLoaded = Completer(); + final videoPlaying = Completer(); await tester.pumpWidget( Directionality( @@ -521,7 +509,7 @@ Future main() async { final String base64AudioData = base64Encode( Uint8List.view(audioData.buffer), ); - final String audioTest = + final audioTest = ''' Audio auto play @@ -547,10 +535,9 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { - Completer controllerCompleter = - Completer(); - Completer pageStarted = Completer(); - Completer pageLoaded = Completer(); + var controllerCompleter = Completer(); + var pageStarted = Completer(); + var pageLoaded = Completer(); await tester.pumpWidget( Directionality( @@ -617,10 +604,9 @@ Future main() async { testWidgets('Changes to initialMediaPlaybackPolicy are ignored', ( WidgetTester tester, ) async { - final Completer controllerCompleter = - Completer(); - Completer pageStarted = Completer(); - Completer pageLoaded = Completer(); + final controllerCompleter = Completer(); + var pageStarted = Completer(); + var pageLoaded = Completer(); final GlobalKey key = GlobalKey(); await tester.pumpWidget( @@ -686,7 +672,7 @@ Future main() async { }); testWidgets('getTitle', (WidgetTester tester) async { - const String getTitleTest = ''' + const getTitleTest = ''' Some title @@ -697,10 +683,9 @@ Future main() async { final String getTitleTestBase64 = base64Encode( const Utf8Encoder().convert(getTitleTest), ); - final Completer pageStarted = Completer(); - final Completer pageLoaded = Completer(); - final Completer controllerCompleter = - Completer(); + final pageStarted = Completer(); + final pageLoaded = Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -737,7 +722,7 @@ Future main() async { group('Programmatic Scroll', () { testWidgets('setAndGetScrollPosition', (WidgetTester tester) async { - const String scrollTestPage = ''' + const scrollTestPage = ''' @@ -762,9 +747,8 @@ Future main() async { const Utf8Encoder().convert(scrollTestPage), ); - final Completer pageLoaded = Completer(); - final Completer controllerCompleter = - Completer(); + final pageLoaded = Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -791,8 +775,8 @@ Future main() async { int scrollPosY = await controller.getScrollY(); // Check scrollTo() - const int X_SCROLL = 123; - const int Y_SCROLL = 321; + const X_SCROLL = 123; + const Y_SCROLL = 321; // Get the initial position; this ensures that scrollTo is actually // changing something, but also gives the native view's scroll position // time to settle. @@ -825,9 +809,8 @@ Future main() async { }); testWidgets('initialUrl', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final Completer pageFinishedCompleter = Completer(); + final controllerCompleter = Completer(); + final pageFinishedCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -851,16 +834,14 @@ Future main() async { }, skip: !Platform.isAndroid); group('NavigationDelegate', () { - const String blankPage = ''; - final String blankPageEncoded = + const blankPage = ''; + final blankPageEncoded = 'data:text/html;charset=utf-8;base64,' '${base64Encode(const Utf8Encoder().convert(blankPage))}'; testWidgets('can allow requests', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final StreamController pageLoads = - StreamController.broadcast(); + final controllerCompleter = Completer(); + final pageLoads = StreamController.broadcast(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -891,8 +872,7 @@ Future main() async { }); testWidgets('onWebResourceError', (WidgetTester tester) async { - final Completer errorCompleter = - Completer(); + final errorCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -925,9 +905,8 @@ Future main() async { testWidgets('onWebResourceError is not called with valid url', ( WidgetTester tester, ) async { - final Completer errorCompleter = - Completer(); - final Completer pageFinishCompleter = Completer(); + final errorCompleter = Completer(); + final pageFinishCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -951,7 +930,7 @@ Future main() async { testWidgets('onWebResourceError only called for main frame', ( WidgetTester tester, ) async { - const String iframeTest = ''' + const iframeTest = ''' @@ -966,9 +945,8 @@ Future main() async { const Utf8Encoder().convert(iframeTest), ); - final Completer errorCompleter = - Completer(); - final Completer pageFinishCompleter = Completer(); + final errorCompleter = Completer(); + final pageFinishCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -989,10 +967,8 @@ Future main() async { }); testWidgets('can block requests', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final StreamController pageLoads = - StreamController.broadcast(); + final controllerCompleter = Completer(); + final pageLoads = StreamController.broadcast(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1031,10 +1007,8 @@ Future main() async { }); testWidgets('supports asynchronous decisions', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - final StreamController pageLoads = - StreamController.broadcast(); + final controllerCompleter = Completer(); + final pageLoads = StreamController.broadcast(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1071,8 +1045,7 @@ Future main() async { testWidgets('launches with gestureNavigationEnabled on iOS', ( WidgetTester tester, ) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1098,9 +1071,8 @@ Future main() async { testWidgets('target _blank opens in same window', ( WidgetTester tester, ) async { - final Completer controllerCompleter = - Completer(); - final Completer pageLoaded = Completer(); + final controllerCompleter = Completer(); + final pageLoaded = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1124,9 +1096,8 @@ Future main() async { }); testWidgets('can open new window and go back', (WidgetTester tester) async { - final Completer controllerCompleter = - Completer(); - Completer pageLoaded = Completer(); + final controllerCompleter = Completer(); + var pageLoaded = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, @@ -1162,10 +1133,9 @@ Future main() async { testWidgets('clearCache should clear local storage', ( WidgetTester tester, ) async { - final Completer controllerCompleter = - Completer(); + final controllerCompleter = Completer(); - Completer pageLoadCompleter = Completer(); + var pageLoadCompleter = Completer(); await tester.pumpWidget( Directionality( @@ -1335,7 +1305,7 @@ class ResizableWebViewState extends State { Future getTestVideoBase64() async { final ByteData videoData = await rootBundle.load('assets/sample_video.mp4'); final String base64VideoData = base64Encode(Uint8List.view(videoData.buffer)); - final String videoTest = + final videoTest = ''' Video auto play diff --git a/packages/webview_flutter/webview_flutter/example/lib/main.dart b/packages/webview_flutter/webview_flutter/example/lib/main.dart index 4741122a5e9..9ff1ffc5981 100644 --- a/packages/webview_flutter/webview_flutter/example/lib/main.dart +++ b/packages/webview_flutter/webview_flutter/example/lib/main.dart @@ -135,8 +135,7 @@ class _WebViewExampleState extends State { params = const PlatformWebViewControllerCreationParams(); } - final WebViewController controller = - WebViewController.fromPlatformCreationParams(params); + final controller = WebViewController.fromPlatformCreationParams(params); // #enddocregion platform_features controller @@ -238,10 +237,8 @@ Page resource error: } Future openDialog(HttpAuthRequest httpRequest) async { - final TextEditingController usernameTextController = - TextEditingController(); - final TextEditingController passwordTextController = - TextEditingController(); + final usernameTextController = TextEditingController(); + final passwordTextController = TextEditingController(); return showDialog( context: context, @@ -431,7 +428,7 @@ class SampleMenu extends StatelessWidget { } Future _onListCookies(BuildContext context) async { - final String cookies = + final cookies = await webViewController.runJavaScriptReturningResult('document.cookie') as String; if (context.mounted) { @@ -479,7 +476,7 @@ class SampleMenu extends StatelessWidget { Future _onClearCookies(BuildContext context) async { final bool hadCookies = await cookieManager.clearCookies(); - String message = 'There were cookies. Now, they are gone!'; + var message = 'There were cookies. Now, they are gone!'; if (!hadCookies) { message = 'There are no cookies.'; } @@ -556,7 +553,7 @@ class SampleMenu extends StatelessWidget { static Future _prepareLocalFile() async { final String tmpDir = (await getTemporaryDirectory()).path; - final File indexFile = File( + final indexFile = File( {tmpDir, 'www', 'index.html'}.join(Platform.pathSeparator), ); @@ -579,7 +576,7 @@ class SampleMenu extends StatelessWidget { } Future _promptForUrl(BuildContext context) { - final TextEditingController urlTextController = TextEditingController(); + final urlTextController = TextEditingController(); return showDialog( context: context, diff --git a/packages/webview_flutter/webview_flutter/lib/src/legacy/webview.dart b/packages/webview_flutter/webview_flutter/lib/src/legacy/webview.dart index b9c1512abc7..19b74d5e530 100644 --- a/packages/webview_flutter/webview_flutter/lib/src/legacy/webview.dart +++ b/packages/webview_flutter/webview_flutter/lib/src/legacy/webview.dart @@ -340,7 +340,7 @@ class _WebViewState extends State { } void _onWebViewPlatformCreated(WebViewPlatformController? webViewPlatform) { - final WebViewController controller = WebViewController._( + final controller = WebViewController._( widget, webViewPlatform!, _javascriptChannelRegistry, @@ -406,7 +406,7 @@ WebSettings _clearUnchangedWebSettings( bool? hasNavigationDelegate; bool? hasProgressTracking; bool? debuggingEnabled; - WebSetting userAgent = const WebSetting.absent(); + var userAgent = const WebSetting.absent(); bool? zoomEnabled; if (currentValue.javascriptMode != newValue.javascriptMode) { javascriptMode = newValue.javascriptMode; @@ -454,7 +454,7 @@ class _PlatformCallbacksHandler implements WebViewPlatformCallbacksHandler { required String url, required bool isForMainFrame, }) async { - final NavigationRequest request = NavigationRequest._( + final request = NavigationRequest._( url: url, isForMainFrame: isForMainFrame, ); diff --git a/packages/webview_flutter/webview_flutter/test/legacy/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/test/legacy/webview_flutter_test.dart index 8a8967dc2e1..cafd8dc89a5 100644 --- a/packages/webview_flutter/webview_flutter/test/legacy/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/test/legacy/webview_flutter_test.dart @@ -41,7 +41,7 @@ void main() { gestureRecognizers: anyNamed('gestureRecognizers'), ), ).thenAnswer((Invocation invocation) { - final WebViewPlatformCreatedCallback onWebViewPlatformCreated = + final onWebViewPlatformCreated = invocation.namedArguments[const Symbol('onWebViewPlatformCreated')] as WebViewPlatformCreatedCallback; return TestPlatformWebView( @@ -65,7 +65,7 @@ void main() { testWidgets('Initial url', (WidgetTester tester) async { await tester.pumpWidget(const WebView(initialUrl: 'https://youtube.com')); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -77,7 +77,7 @@ void main() { const WebView(javascriptMode: JavascriptMode.unrestricted), ); - final CreationParams unrestrictedparams = + final unrestrictedparams = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -88,7 +88,7 @@ void main() { await tester.pumpWidget(const WebView()); - final CreationParams disabledparams = + final disabledparams = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -256,7 +256,7 @@ void main() { expect(controller, isNotNull); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -278,9 +278,7 @@ void main() { expect(controller, isNotNull); - final Map headers = { - 'CACHE-CONTROL': 'ABC', - }; + final headers = {'CACHE-CONTROL': 'ABC'}; await controller!.loadUrl('https://flutter.io', headers: headers); verify( @@ -302,7 +300,7 @@ void main() { ); expect(controller, isNotNull); - final WebViewRequest req = WebViewRequest( + final req = WebViewRequest( uri: Uri.parse('https://flutter.dev'), method: WebViewRequestMethod.post, headers: {'foo': 'bar'}, @@ -549,20 +547,20 @@ void main() { testWidgets('Cookies can be cleared once', (WidgetTester tester) async { await tester.pumpWidget(const WebView(initialUrl: 'https://flutter.io')); - final CookieManager cookieManager = CookieManager(); + final cookieManager = CookieManager(); final bool hasCookies = await cookieManager.clearCookies(); expect(hasCookies, true); }); testWidgets('Cookies can be set', (WidgetTester tester) async { - const WebViewCookie cookie = WebViewCookie( + const cookie = WebViewCookie( name: 'foo', value: 'bar', domain: 'flutter.dev', ); await tester.pumpWidget(const WebView(initialUrl: 'https://flutter.io')); - final CookieManager cookieManager = CookieManager(); + final cookieManager = CookieManager(); await cookieManager.setCookie(cookie); expect(mockWebViewCookieManagerPlatform.setCookieCalls, [ cookie, @@ -586,7 +584,7 @@ void main() { ), ); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -671,7 +669,7 @@ void main() { ), ); - final JavascriptChannelRegistry channelRegistry = + final channelRegistry = captureBuildArgs( mockWebViewPlatform, javascriptChannelRegistry: true, @@ -717,7 +715,7 @@ void main() { ), ); - final JavascriptChannelRegistry channelRegistry = + final channelRegistry = captureBuildArgs( mockWebViewPlatform, javascriptChannelRegistry: true, @@ -728,8 +726,8 @@ void main() { }); testWidgets('JavaScript channel messages', (WidgetTester tester) async { - final List ttsMessagesReceived = []; - final List alarmMessagesReceived = []; + final ttsMessagesReceived = []; + final alarmMessagesReceived = []; await tester.pumpWidget( WebView( initialUrl: 'https://youtube.com', @@ -750,7 +748,7 @@ void main() { ), ); - final JavascriptChannelRegistry channelRegistry = + final channelRegistry = captureBuildArgs( mockWebViewPlatform, javascriptChannelRegistry: true, @@ -779,7 +777,7 @@ void main() { ), ); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -794,7 +792,7 @@ void main() { testWidgets('onPageStarted is null', (WidgetTester tester) async { await tester.pumpWidget(const WebView(initialUrl: 'https://youtube.com')); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -825,7 +823,7 @@ void main() { ), ); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -850,7 +848,7 @@ void main() { ), ); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -864,7 +862,7 @@ void main() { testWidgets('onPageFinished is null', (WidgetTester tester) async { await tester.pumpWidget(const WebView(initialUrl: 'https://youtube.com')); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -894,7 +892,7 @@ void main() { ), ); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -919,7 +917,7 @@ void main() { ), ); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -933,7 +931,7 @@ void main() { testWidgets('onLoadingProgress is null', (WidgetTester tester) async { await tester.pumpWidget(const WebView(initialUrl: 'https://youtube.com')); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -963,7 +961,7 @@ void main() { ), ); - final WebViewPlatformCallbacksHandler handler = + final handler = captureBuildArgs( mockWebViewPlatform, webViewPlatformCallbacksHandler: true, @@ -979,7 +977,7 @@ void main() { testWidgets('hasNavigationDelegate', (WidgetTester tester) async { await tester.pumpWidget(const WebView(initialUrl: 'https://youtube.com')); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -993,7 +991,7 @@ void main() { ), ); - final WebSettings updateSettings = + final updateSettings = verify( mockWebViewPlatformController.updateSettings(captureAny), ).captured.single @@ -1003,7 +1001,7 @@ void main() { }); testWidgets('Block navigation', (WidgetTester tester) async { - final List navigationRequests = []; + final navigationRequests = []; await tester.pumpWidget( WebView( @@ -1024,11 +1022,10 @@ void main() { webViewPlatformCallbacksHandler: true, ); - final CreationParams params = args[0] as CreationParams; + final params = args[0] as CreationParams; expect(params.webSettings!.hasNavigationDelegate, true); - final WebViewPlatformCallbacksHandler handler = - args[1] as WebViewPlatformCallbacksHandler; + final handler = args[1] as WebViewPlatformCallbacksHandler; // The navigation delegate only allows navigation to https://flutter.dev // so we should still be in https://youtube.com. @@ -1058,7 +1055,7 @@ void main() { testWidgets('enable debugging', (WidgetTester tester) async { await tester.pumpWidget(const WebView(debuggingEnabled: true)); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -1068,7 +1065,7 @@ void main() { testWidgets('defaults to false', (WidgetTester tester) async { await tester.pumpWidget(const WebView()); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -1081,7 +1078,7 @@ void main() { await tester.pumpWidget(WebView(key: key, debuggingEnabled: true)); - final WebSettings enabledSettings = + final enabledSettings = verify( mockWebViewPlatformController.updateSettings(captureAny), ).captured.last @@ -1090,7 +1087,7 @@ void main() { await tester.pumpWidget(WebView(key: key)); - final WebSettings disabledSettings = + final disabledSettings = verify( mockWebViewPlatformController.updateSettings(captureAny), ).captured.last @@ -1103,7 +1100,7 @@ void main() { testWidgets('Enable zoom', (WidgetTester tester) async { await tester.pumpWidget(const WebView()); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -1113,7 +1110,7 @@ void main() { testWidgets('defaults to true', (WidgetTester tester) async { await tester.pumpWidget(const WebView()); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -1126,7 +1123,7 @@ void main() { await tester.pumpWidget(WebView(key: key)); - final WebSettings enabledSettings = + final enabledSettings = verify( mockWebViewPlatformController.updateSettings(captureAny), ).captured.last @@ -1136,7 +1133,7 @@ void main() { await tester.pumpWidget(WebView(key: key, zoomEnabled: false)); - final WebSettings disabledSettings = + final disabledSettings = verify( mockWebViewPlatformController.updateSettings(captureAny), ).captured.last @@ -1149,7 +1146,7 @@ void main() { testWidgets('Defaults to null', (WidgetTester tester) async { await tester.pumpWidget(const WebView()); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -1157,11 +1154,11 @@ void main() { }); testWidgets('Can be transparent', (WidgetTester tester) async { - const Color transparentColor = Color(0x00000000); + const transparentColor = Color(0x00000000); await tester.pumpWidget(const WebView(backgroundColor: transparentColor)); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -1185,7 +1182,7 @@ void main() { ), ); - final MyWebViewPlatform builder = WebView.platform as MyWebViewPlatform; + final builder = WebView.platform as MyWebViewPlatform; final MyWebViewPlatformController platform = builder.lastPlatformBuilt!; expect( @@ -1217,10 +1214,10 @@ void main() { ), ); - final MyWebViewPlatform builder = WebView.platform as MyWebViewPlatform; + final builder = WebView.platform as MyWebViewPlatform; final MyWebViewPlatformController platform = builder.lastPlatformBuilt!; - final Map headers = {'header': 'value'}; + final headers = {'header': 'value'}; await controller.loadUrl('https://google.com', headers: headers); @@ -1237,7 +1234,7 @@ void main() { ), ); - final CreationParams params = + final params = captureBuildArgs(mockWebViewPlatform, creationParams: true).single as CreationParams; @@ -1251,7 +1248,7 @@ void main() { ), ); - final WebSettings settings = + final settings = verify( mockWebViewPlatformController.updateSettings(captureAny), ).captured.last diff --git a/packages/webview_flutter/webview_flutter/test/navigation_delegate_test.dart b/packages/webview_flutter/webview_flutter/test/navigation_delegate_test.dart index 9ca4f52ab3c..af118174bc9 100644 --- a/packages/webview_flutter/webview_flutter/test/navigation_delegate_test.dart +++ b/packages/webview_flutter/webview_flutter/test/navigation_delegate_test.dart @@ -25,7 +25,7 @@ void main() { return NavigationDecision.navigate; } - final NavigationDelegate delegate = NavigationDelegate( + final delegate = NavigationDelegate( onNavigationRequest: onNavigationRequest, ); @@ -37,9 +37,7 @@ void main() { void onPageStarted(String url) {} - final NavigationDelegate delegate = NavigationDelegate( - onPageStarted: onPageStarted, - ); + final delegate = NavigationDelegate(onPageStarted: onPageStarted); verify(delegate.platform.setOnPageStarted(onPageStarted)); }); @@ -49,9 +47,7 @@ void main() { void onPageFinished(String url) {} - final NavigationDelegate delegate = NavigationDelegate( - onPageFinished: onPageFinished, - ); + final delegate = NavigationDelegate(onPageFinished: onPageFinished); verify(delegate.platform.setOnPageFinished(onPageFinished)); }); @@ -61,9 +57,7 @@ void main() { void onProgress(int progress) {} - final NavigationDelegate delegate = NavigationDelegate( - onProgress: onProgress, - ); + final delegate = NavigationDelegate(onProgress: onProgress); verify(delegate.platform.setOnProgress(onProgress)); }); @@ -73,7 +67,7 @@ void main() { void onWebResourceError(WebResourceError error) {} - final NavigationDelegate delegate = NavigationDelegate( + final delegate = NavigationDelegate( onWebResourceError: onWebResourceError, ); @@ -85,9 +79,7 @@ void main() { void onUrlChange(UrlChange change) {} - final NavigationDelegate delegate = NavigationDelegate( - onUrlChange: onUrlChange, - ); + final delegate = NavigationDelegate(onUrlChange: onUrlChange); verify(delegate.platform.setOnUrlChange(onUrlChange)); }); @@ -97,9 +89,7 @@ void main() { void onHttpAuthRequest(HttpAuthRequest request) {} - final NavigationDelegate delegate = NavigationDelegate( - onHttpAuthRequest: onHttpAuthRequest, - ); + final delegate = NavigationDelegate(onHttpAuthRequest: onHttpAuthRequest); verify(delegate.platform.setOnHttpAuthRequest(onHttpAuthRequest)); }); @@ -109,9 +99,7 @@ void main() { void onHttpError(HttpResponseError error) {} - final NavigationDelegate delegate = NavigationDelegate( - onHttpError: onHttpError, - ); + final delegate = NavigationDelegate(onHttpError: onHttpError); verify(delegate.platform.setOnHttpError(onHttpError)); }); @@ -119,21 +107,20 @@ void main() { test('onSslAuthError', () async { WebViewPlatform.instance = TestWebViewPlatform(); - final NavigationDelegate delegate = NavigationDelegate( + final delegate = NavigationDelegate( onSslAuthError: expectAsync1((SslAuthError error) { error.proceed(); }), ); - final void Function(PlatformSslAuthError) callback = + final callback = verify( (delegate.platform as MockPlatformNavigationDelegate) .setOnSSlAuthError(captureAny), ).captured.single as void Function(PlatformSslAuthError); - final MockPlatformSslAuthError mockPlatformError = - MockPlatformSslAuthError(); + final mockPlatformError = MockPlatformSslAuthError(); callback(mockPlatformError); verify(mockPlatformError.proceed()); diff --git a/packages/webview_flutter/webview_flutter/test/webview_controller_test.dart b/packages/webview_flutter/webview_flutter/test/webview_controller_test.dart index 2dc225ba6bc..bd828d0ac8f 100644 --- a/packages/webview_flutter/webview_flutter/test/webview_controller_test.dart +++ b/packages/webview_flutter/webview_flutter/test/webview_controller_test.dart @@ -16,10 +16,9 @@ import 'webview_controller_test.mocks.dart'; @GenerateMocks([PlatformWebViewController, PlatformNavigationDelegate]) void main() { test('loadFile', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -28,10 +27,9 @@ void main() { }); test('loadFlutterAsset', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -40,10 +38,9 @@ void main() { }); test('loadHtmlString', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -54,10 +51,9 @@ void main() { }); test('loadRequest', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -68,7 +64,7 @@ void main() { body: Uint8List(0), ); - final LoadRequestParams params = + final params = verify( mockPlatformWebViewController.loadRequest(captureAny), ).captured[0] @@ -80,13 +76,12 @@ void main() { }); test('currentUrl', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); when( mockPlatformWebViewController.currentUrl(), ).thenAnswer((_) => Future.value('https://dart.dev')); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -97,13 +92,12 @@ void main() { }); test('canGoBack', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); when( mockPlatformWebViewController.canGoBack(), ).thenAnswer((_) => Future.value(false)); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -111,13 +105,12 @@ void main() { }); test('canGoForward', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); when( mockPlatformWebViewController.canGoForward(), ).thenAnswer((_) => Future.value(true)); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -125,10 +118,9 @@ void main() { }); test('goBack', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -137,10 +129,9 @@ void main() { }); test('goForward', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -149,10 +140,9 @@ void main() { }); test('reload', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -161,10 +151,9 @@ void main() { }); test('clearCache', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -173,10 +162,9 @@ void main() { }); test('clearLocalStorage', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -185,10 +173,9 @@ void main() { }); test('runJavaScript', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -197,13 +184,12 @@ void main() { }); test('runJavaScriptReturningResult', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); when( mockPlatformWebViewController.runJavaScriptReturningResult('1 + 1'), ).thenAnswer((_) => Future.value('2')); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -214,10 +200,9 @@ void main() { }); test('addJavaScriptChannel', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -227,7 +212,7 @@ void main() { onMessageReceived: onMessageReceived, ); - final JavaScriptChannelParams params = + final params = verify( mockPlatformWebViewController.addJavaScriptChannel(captureAny), ).captured[0] @@ -237,10 +222,9 @@ void main() { }); test('removeJavaScriptChannel', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -249,13 +233,12 @@ void main() { }); test('getTitle', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); when( mockPlatformWebViewController.getTitle(), ).thenAnswer((_) => Future.value('myTitle')); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -263,10 +246,9 @@ void main() { }); test('scrollTo', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -275,10 +257,9 @@ void main() { }); test('scrollBy', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -287,10 +268,9 @@ void main() { }); test('setVerticalScrollBarEnabled', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -299,10 +279,9 @@ void main() { }); test('setHorizontalScrollBarEnabled', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -311,13 +290,12 @@ void main() { }); test('supportsSetScrollBarsEnabled', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); when( mockPlatformWebViewController.supportsSetScrollBarsEnabled(), ).thenReturn(true); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -326,13 +304,12 @@ void main() { }); test('getScrollPosition', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); when( mockPlatformWebViewController.getScrollPosition(), ).thenAnswer((_) => Future.value(const Offset(2, 3))); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -343,10 +320,9 @@ void main() { }); test('enableZoom', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -355,10 +331,9 @@ void main() { }); test('setBackgroundColor', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -367,10 +342,9 @@ void main() { }); test('setJavaScriptMode', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -381,10 +355,9 @@ void main() { }); test('setUserAgent', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -393,16 +366,15 @@ void main() { }); test('setNavigationDelegate', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final mockPlatformWebViewController = MockPlatformWebViewController(); + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); - final MockPlatformNavigationDelegate mockPlatformNavigationDelegate = - MockPlatformNavigationDelegate(); - final NavigationDelegate navigationDelegate = - NavigationDelegate.fromPlatform(mockPlatformNavigationDelegate); + final mockPlatformNavigationDelegate = MockPlatformNavigationDelegate(); + final navigationDelegate = NavigationDelegate.fromPlatform( + mockPlatformNavigationDelegate, + ); await webViewController.setNavigationDelegate(navigationDelegate); verify( @@ -413,10 +385,9 @@ void main() { }); test('onPermissionRequest', () async { - bool permissionRequestCallbackCalled = false; + var permissionRequestCallbackCalled = false; - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); WebViewController.fromPlatform( mockPlatformWebViewController, onPermissionRequest: (WebViewPermissionRequest request) { @@ -424,8 +395,7 @@ void main() { }, ); - final void Function(PlatformWebViewPermissionRequest request) - requestCallback = + final requestCallback = verify( mockPlatformWebViewController.setOnPlatformPermissionRequest( captureAny, @@ -438,10 +408,9 @@ void main() { }); test('setConsoleLogCallback', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -453,10 +422,9 @@ void main() { }); test('setOnJavaScriptAlertDialog', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -475,10 +443,9 @@ void main() { }); test('setOnJavaScriptConfirmDialog', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -499,10 +466,9 @@ void main() { }); test('setOnJavaScriptTextInputDialog', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -523,26 +489,24 @@ void main() { }); test('getUserAgent', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - const String userAgent = 'str'; + const userAgent = 'str'; when( mockPlatformWebViewController.getUserAgent(), ).thenAnswer((_) => Future.value(userAgent)); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); await expectLater(webViewController.getUserAgent(), completion(userAgent)); }); test('setOnScrollPositionChange', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); @@ -558,10 +522,9 @@ void main() { }); test('setOverScrollMode', () async { - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); + final mockPlatformWebViewController = MockPlatformWebViewController(); - final WebViewController webViewController = WebViewController.fromPlatform( + final webViewController = WebViewController.fromPlatform( mockPlatformWebViewController, ); diff --git a/packages/webview_flutter/webview_flutter/test/webview_cookie_manager_test.dart b/packages/webview_flutter/webview_flutter/test/webview_cookie_manager_test.dart index 68dc869ae1c..2eff52171ab 100644 --- a/packages/webview_flutter/webview_flutter/test/webview_cookie_manager_test.dart +++ b/packages/webview_flutter/webview_flutter/test/webview_cookie_manager_test.dart @@ -14,26 +14,28 @@ import 'webview_cookie_manager_test.mocks.dart'; void main() { group('WebViewCookieManager', () { test('clearCookies', () async { - final MockPlatformWebViewCookieManager mockPlatformWebViewCookieManager = + final mockPlatformWebViewCookieManager = MockPlatformWebViewCookieManager(); when( mockPlatformWebViewCookieManager.clearCookies(), ).thenAnswer((_) => Future.value(false)); - final WebViewCookieManager cookieManager = - WebViewCookieManager.fromPlatform(mockPlatformWebViewCookieManager); + final cookieManager = WebViewCookieManager.fromPlatform( + mockPlatformWebViewCookieManager, + ); await expectLater(cookieManager.clearCookies(), completion(false)); }); test('setCookie', () async { - final MockPlatformWebViewCookieManager mockPlatformWebViewCookieManager = + final mockPlatformWebViewCookieManager = MockPlatformWebViewCookieManager(); - final WebViewCookieManager cookieManager = - WebViewCookieManager.fromPlatform(mockPlatformWebViewCookieManager); + final cookieManager = WebViewCookieManager.fromPlatform( + mockPlatformWebViewCookieManager, + ); - const WebViewCookie cookie = WebViewCookie( + const cookie = WebViewCookie( name: 'name', value: 'value', domain: 'domain', @@ -41,7 +43,7 @@ void main() { await cookieManager.setCookie(cookie); - final WebViewCookie capturedCookie = + final capturedCookie = verify( mockPlatformWebViewCookieManager.setCookie(captureAny), ).captured.single diff --git a/packages/webview_flutter/webview_flutter/test/webview_widget_test.dart b/packages/webview_flutter/webview_flutter/test/webview_widget_test.dart index fba3a56ff95..4ec61548316 100644 --- a/packages/webview_flutter/webview_flutter/test/webview_widget_test.dart +++ b/packages/webview_flutter/webview_flutter/test/webview_widget_test.dart @@ -19,8 +19,7 @@ void main() { group('WebViewWidget', () { testWidgets('build', (WidgetTester tester) async { - final MockPlatformWebViewWidget mockPlatformWebViewWidget = - MockPlatformWebViewWidget(); + final mockPlatformWebViewWidget = MockPlatformWebViewWidget(); when(mockPlatformWebViewWidget.build(any)).thenReturn(Container()); await tester.pumpWidget( @@ -35,12 +34,12 @@ void main() { (WidgetTester tester) async { WebViewPlatform.instance = TestWebViewPlatform(); - final MockPlatformWebViewController mockPlatformWebViewController = - MockPlatformWebViewController(); - final WebViewController webViewController = - WebViewController.fromPlatform(mockPlatformWebViewController); + final mockPlatformWebViewController = MockPlatformWebViewController(); + final webViewController = WebViewController.fromPlatform( + mockPlatformWebViewController, + ); - final WebViewWidget webViewWidget = WebViewWidget( + final webViewWidget = WebViewWidget( key: GlobalKey(), controller: webViewController, layoutDirection: TextDirection.rtl, diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart index 1579e6a8d0c..76242d290be 100644 --- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart @@ -41,7 +41,7 @@ Future main() async { } else if (request.uri.path == '/favicon.ico') { request.response.statusCode = HttpStatus.notFound; } else if (request.uri.path == '/http-basic-authentication') { - final bool isAuthenticating = request.headers['Authorization'] != null; + final isAuthenticating = request.headers['Authorization'] != null; if (isAuthenticating) { request.response.writeln('Authorized'); } else { @@ -57,19 +57,19 @@ Future main() async { request.response.close(); }), ); - final String prefixUrl = 'http://${server.address.address}:${server.port}'; - final String primaryUrl = '$prefixUrl/hello.txt'; - final String secondaryUrl = '$prefixUrl/secondary.txt'; - final String headersUrl = '$prefixUrl/headers'; - final String basicAuthUrl = '$prefixUrl/http-basic-authentication'; + final prefixUrl = 'http://${server.address.address}:${server.port}'; + final primaryUrl = '$prefixUrl/hello.txt'; + final secondaryUrl = '$prefixUrl/secondary.txt'; + final headersUrl = '$prefixUrl/headers'; + final basicAuthUrl = '$prefixUrl/http-basic-authentication'; testWidgets('loadRequest', (WidgetTester tester) async { - final Completer pageFinished = Completer(); + final pageFinished = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageFinished.complete()); @@ -95,11 +95,10 @@ Future main() async { testWidgets( 'withWeakRefenceTo allows encapsulating class to be garbage collected', (WidgetTester tester) async { - final Completer gcCompleter = Completer(); - final android_webkit.PigeonInstanceManager instanceManager = - android_webkit.PigeonInstanceManager( - onWeakReferenceRemoved: gcCompleter.complete, - ); + final gcCompleter = Completer(); + final instanceManager = android_webkit.PigeonInstanceManager( + onWeakReferenceRemoved: gcCompleter.complete, + ); ClassWithCallbackClass? instance = ClassWithCallbackClass(); instanceManager.addHostCreatedInstance(instance.callbackClass, 0); @@ -122,10 +121,10 @@ Future main() async { testWidgets( 'WebView is released by garbage collection', (WidgetTester tester) async { - final Completer webViewGCCompleter = Completer(); + final webViewGCCompleter = Completer(); - const int webViewToken = -1; - final Finalizer finalizer = Finalizer((int token) { + const webViewToken = -1; + final finalizer = Finalizer((int token) { if (token == webViewToken) { webViewGCCompleter.complete(); } @@ -150,10 +149,9 @@ Future main() async { )? onScrollChanged, }) { - final android_webkit.WebView webView = - android_webkit.WebView( - onScrollChanged: onScrollChanged, - ); + final webView = android_webkit.WebView( + onScrollChanged: onScrollChanged, + ); finalizer.attach(webView, webViewToken); return webView; }, @@ -197,13 +195,13 @@ Future main() async { ); testWidgets('runJavaScriptReturningResult', (WidgetTester tester) async { - final Completer pageFinished = Completer(); + final pageFinished = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageFinished.complete()); @@ -229,17 +227,15 @@ Future main() async { }); testWidgets('loadRequest with headers', (WidgetTester tester) async { - final Map headers = { - 'test_header': 'flutter_test_header', - }; + final headers = {'test_header': 'flutter_test_header'}; - final StreamController pageLoads = StreamController(); + final pageLoads = StreamController(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((String url) => pageLoads.add(url)); @@ -260,7 +256,7 @@ Future main() async { await pageLoads.stream.firstWhere((String url) => url == headersUrl); - final String content = + final content = await controller.runJavaScriptReturningResult( 'document.documentElement.innerText', ) @@ -269,19 +265,19 @@ Future main() async { }); testWidgets('JavascriptChannel', (WidgetTester tester) async { - final Completer pageFinished = Completer(); + final pageFinished = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageFinished.complete()); await controller.setPlatformNavigationDelegate(delegate); - final Completer channelCompleter = Completer(); + final channelCompleter = Completer(); await controller.addJavaScriptChannel( JavaScriptChannelParams( name: 'Echo', @@ -312,11 +308,11 @@ Future main() async { }); testWidgets('resize webview', (WidgetTester tester) async { - final Completer initialResizeCompleter = Completer(); - final Completer buttonTapResizeCompleter = Completer(); - final Completer onPageFinished = Completer(); + final initialResizeCompleter = Completer(); + final buttonTapResizeCompleter = Completer(); + final onPageFinished = Completer(); - bool resizeButtonTapped = false; + var resizeButtonTapped = false; await tester.pumpWidget( ResizableWebView( onResize: () { @@ -346,14 +342,14 @@ Future main() async { }); testWidgets('set custom userAgent', (WidgetTester tester) async { - final Completer pageFinished = Completer(); + final pageFinished = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setUserAgent('Custom_User_Agent1'); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageFinished.complete()); @@ -388,7 +384,7 @@ Future main() async { final String base64VideoData = base64Encode( Uint8List.view(videoData.buffer), ); - final String videoTest = + final videoTest = ''' Video auto play @@ -448,14 +444,14 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - AndroidWebViewController controller = AndroidWebViewController( + var controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setMediaPlaybackRequiresUserGesture(false); - AndroidNavigationDelegate delegate = AndroidNavigationDelegate( + var delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -481,7 +477,7 @@ Future main() async { await pageLoaded.future; - bool isPaused = + var isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; expect(isPaused, false); @@ -522,15 +518,15 @@ Future main() async { }); testWidgets('Video plays inline', (WidgetTester tester) async { - final Completer pageLoaded = Completer(); - final Completer videoPlaying = Completer(); + final pageLoaded = Completer(); + final videoPlaying = Completer(); - final AndroidWebViewController controller = AndroidWebViewController( + final controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setMediaPlaybackRequiresUserGesture(false); - final AndroidNavigationDelegate delegate = AndroidNavigationDelegate( + final delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -584,16 +580,16 @@ Future main() async { }); testWidgets('Video plays fullscreen', (WidgetTester tester) async { - final Completer fullscreenEntered = Completer(); - final Completer fullscreenExited = Completer(); - final Completer pageLoaded = Completer(); + final fullscreenEntered = Completer(); + final fullscreenExited = Completer(); + final pageLoaded = Completer(); - final AndroidWebViewController controller = AndroidWebViewController( + final controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setMediaPlaybackRequiresUserGesture(false); - final AndroidNavigationDelegate delegate = AndroidNavigationDelegate( + final delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -656,7 +652,7 @@ Future main() async { final String base64AudioData = base64Encode( Uint8List.view(audioData.buffer), ); - final String audioTest = + final audioTest = ''' Audio auto play @@ -682,14 +678,14 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - AndroidWebViewController controller = AndroidWebViewController( + var controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setMediaPlaybackRequiresUserGesture(false); - AndroidNavigationDelegate delegate = AndroidNavigationDelegate( + var delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -715,7 +711,7 @@ Future main() async { await pageLoaded.future; - bool isPaused = + var isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; expect(isPaused, false); @@ -756,7 +752,7 @@ Future main() async { }); testWidgets('getTitle', (WidgetTester tester) async { - const String getTitleTest = ''' + const getTitleTest = ''' Some title @@ -767,13 +763,13 @@ Future main() async { final String getTitleTestBase64 = base64Encode( const Utf8Encoder().convert(getTitleTest), ); - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -813,7 +809,7 @@ Future main() async { testWidgets('setAndGetAndListenScrollPosition', ( WidgetTester tester, ) async { - const String scrollTestPage = ''' + const scrollTestPage = ''' @@ -838,13 +834,13 @@ Future main() async { const Utf8Encoder().convert(scrollTestPage), ); - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); ScrollPositionChange? recordedPosition; - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -880,8 +876,8 @@ Future main() async { Offset scrollPos = await controller.getScrollPosition(); // Check scrollTo() - const int X_SCROLL = 123; - const int Y_SCROLL = 321; + const X_SCROLL = 123; + const Y_SCROLL = 321; // Get the initial position; this ensures that scrollTo is actually // changing something, but also gives the native view's scroll position // time to settle. @@ -907,19 +903,19 @@ Future main() async { }); group('NavigationDelegate', () { - const String blankPage = ''; - final String blankPageEncoded = + const blankPage = ''; + final blankPageEncoded = 'data:text/html;charset=utf-8;base64,' '${base64Encode(const Utf8Encoder().convert(blankPage))}'; testWidgets('can allow requests', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -957,14 +953,13 @@ Future main() async { }); testWidgets('onWebResourceError', (WidgetTester tester) async { - final Completer errorCompleter = - Completer(); + final errorCompleter = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnWebResourceError((WebResourceError error) { @@ -996,15 +991,14 @@ Future main() async { testWidgets('onWebResourceError is not called with valid url', ( WidgetTester tester, ) async { - final Completer errorCompleter = - Completer(); - final Completer pageFinishCompleter = Completer(); + final errorCompleter = Completer(); + final pageFinishCompleter = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageFinishCompleter.complete()); @@ -1035,14 +1029,13 @@ Future main() async { }); testWidgets('onHttpError', (WidgetTester tester) async { - final Completer errorCompleter = - Completer(); + final errorCompleter = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnHttpError((HttpResponseError error) { @@ -1072,7 +1065,7 @@ Future main() async { testWidgets('onHttpError is not called when no HTTP error is received', ( WidgetTester tester, ) async { - const String testPage = ''' + const testPage = ''' @@ -1080,15 +1073,14 @@ Future main() async { '''; - final Completer errorCompleter = - Completer(); - final Completer pageFinishCompleter = Completer(); + final errorCompleter = Completer(); + final pageFinishCompleter = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnHttpError((HttpResponseError error) { @@ -1113,13 +1105,13 @@ Future main() async { }); testWidgets('can block requests', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -1165,13 +1157,13 @@ Future main() async { }); testWidgets('supports asynchronous decisions', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -1211,13 +1203,13 @@ Future main() async { }); testWidgets('can receive url changes', (WidgetTester tester) async { - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -1239,7 +1231,7 @@ Future main() async { await pageLoaded.future; await delegate.setOnPageFinished((_) {}); - final Completer urlChangeCompleter = Completer(); + final urlChangeCompleter = Completer(); await delegate.setOnUrlChange((UrlChange change) { urlChangeCompleter.complete(change.url); }); @@ -1252,13 +1244,13 @@ Future main() async { testWidgets('can receive updates to history state', ( WidgetTester tester, ) async { - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -1280,7 +1272,7 @@ Future main() async { await pageLoaded.future; await delegate.setOnPageFinished((_) {}); - final Completer urlChangeCompleter = Completer(); + final urlChangeCompleter = Completer(); await delegate.setOnUrlChange((UrlChange change) { urlChangeCompleter.complete(change.url); }); @@ -1296,15 +1288,14 @@ Future main() async { testWidgets('can receive HTTP basic auth requests', ( WidgetTester tester, ) async { - final Completer authRequested = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final authRequested = Completer(); + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - final PlatformNavigationDelegate navigationDelegate = - PlatformNavigationDelegate( - const PlatformNavigationDelegateCreationParams(), - ); + final navigationDelegate = PlatformNavigationDelegate( + const PlatformNavigationDelegateCreationParams(), + ); await navigationDelegate.setOnHttpAuthRequest( (HttpAuthRequest request) => authRequested.complete(), ); @@ -1334,15 +1325,14 @@ Future main() async { testWidgets('can reply to HTTP basic auth requests', ( WidgetTester tester, ) async { - final Completer pageFinished = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final pageFinished = Completer(); + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - final PlatformNavigationDelegate navigationDelegate = - PlatformNavigationDelegate( - const PlatformNavigationDelegateCreationParams(), - ); + final navigationDelegate = PlatformNavigationDelegate( + const PlatformNavigationDelegateCreationParams(), + ); await navigationDelegate.setOnPageFinished((_) => pageFinished.complete()); await navigationDelegate.setOnHttpAuthRequest( (HttpAuthRequest request) => request.onProceed( @@ -1375,13 +1365,13 @@ Future main() async { testWidgets('target _blank opens in same window', ( WidgetTester tester, ) async { - final Completer pageLoaded = Completer(); + final pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -1404,13 +1394,13 @@ Future main() async { }); testWidgets('can open new window and go back', (WidgetTester tester) async { - Completer pageLoaded = Completer(); + var pageLoaded = Completer(); - final PlatformWebViewController controller = PlatformWebViewController( + final controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( + final delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); @@ -1445,7 +1435,7 @@ Future main() async { testWidgets('JavaScript does not run in parent window', ( WidgetTester tester, ) async { - const String iframe = ''' + const iframe = '''