From 1fc43d933035d43fcee0b8564ef24d95eac516ff Mon Sep 17 00:00:00 2001 From: Alexandre Ardhuin Date: Mon, 6 Jan 2020 17:41:54 +0100 Subject: [PATCH] add key to constructors of public widgets (#47884) * add key to constructors of public widgets * fix a test * fix a test --- .../lib/src/cupertino/action_sheet.dart | 4 +++- .../lib/src/cupertino/date_picker.dart | 4 +++- .../flutter/lib/src/cupertino/nav_bar.dart | 4 +++- .../lib/src/cupertino/page_scaffold.dart | 2 +- .../lib/src/material/reorderable_list.dart | 4 +++- .../lib/src/widgets/platform_view.dart | 4 +++- packages/flutter/lib/src/widgets/text.dart | 5 ++-- .../src/widgets/value_listenable_builder.dart | 4 +++- .../test/material/bottom_app_bar_test.dart | 2 +- .../material/dropdown_form_field_test.dart | 9 +++++++- .../flutter/test/material/dropdown_test.dart | 9 +++++++- .../test/material/expansion_panel_test.dart | 2 +- .../flutter/test/material/feedback_test.dart | 4 ++-- .../flutter/test/material/material_test.dart | 3 ++- .../test/material/popup_menu_test.dart | 8 ++++++- .../flutter/test/material/search_test.dart | 3 ++- .../material/tabbed_scrollview_warp_test.dart | 4 +++- packages/flutter/test/material/tabs_test.dart | 7 +++++- .../flutter/test/material/theme_test.dart | 2 +- .../flutter/test/material/will_pop_test.dart | 3 ++- .../flutter/test/widgets/baseline_test.dart | 2 +- .../test/widgets/build_scope_test.dart | 15 +++++++----- .../test/widgets/dismissible_test.dart | 2 +- .../widgets/dispose_ancestor_lookup_test.dart | 2 +- .../test/widgets/editable_text_test.dart | 8 ++++++- .../flutter/test/widgets/framework_test.dart | 3 ++- .../test/widgets/global_keys_moving_test.dart | 2 +- .../widgets/implicit_animations_test.dart | 7 +++++- .../independent_widget_layout_test.dart | 8 ++++++- .../flutter/test/widgets/inherited_test.dart | 2 +- .../test/widgets/inherited_theme_test.dart | 2 +- .../flutter/test/widgets/init_state_test.dart | 3 ++- .../test/widgets/linked_scroll_view_test.dart | 5 ++-- .../flutter/test/widgets/list_view_test.dart | 2 +- .../test/widgets/modal_barrier_test.dart | 23 +++++++++++-------- .../flutter/test/widgets/navigator_test.dart | 8 ++++--- .../widgets/render_object_widget_test.dart | 5 +++- .../widgets/reparent_state_harder_test.dart | 6 ++++- ...parent_state_with_layout_builder_test.dart | 3 ++- .../test/widgets/scroll_position_test.dart | 5 +++- .../test/widgets/set_state_1_test.dart | 11 ++++++--- .../test/widgets/set_state_3_test.dart | 9 ++++---- .../test/widgets/set_state_4_test.dart | 3 ++- .../test/widgets/set_state_5_test.dart | 4 ++-- ...size_changed_layout_notification_test.dart | 8 ------- .../slivers_block_global_key_test.dart | 2 +- .../flutter/test/widgets/slivers_test.dart | 6 ++--- .../state_setting_in_scrollables_test.dart | 3 ++- .../test/widgets/stateful_component_test.dart | 6 ++--- .../flutter/test/widgets/syncing_test.dart | 7 +++++- .../flutter/test/widgets/test_widgets.dart | 2 ++ .../test/widgets/ticker_provider_test.dart | 3 ++- .../test/widgets/widget_inspector_test.dart | 13 ++++++----- 53 files changed, 184 insertions(+), 93 deletions(-) diff --git a/packages/flutter/lib/src/cupertino/action_sheet.dart b/packages/flutter/lib/src/cupertino/action_sheet.dart index 914c72f900..c35290122b 100644 --- a/packages/flutter/lib/src/cupertino/action_sheet.dart +++ b/packages/flutter/lib/src/cupertino/action_sheet.dart @@ -265,12 +265,14 @@ class CupertinoActionSheetAction extends StatelessWidget { /// /// The [child] and [onPressed] arguments must not be null. const CupertinoActionSheetAction({ + Key key, @required this.onPressed, this.isDefaultAction = false, this.isDestructiveAction = false, @required this.child, }) : assert(child != null), - assert(onPressed != null); + assert(onPressed != null), + super(key: key); /// The callback that is called when the button is tapped. /// diff --git a/packages/flutter/lib/src/cupertino/date_picker.dart b/packages/flutter/lib/src/cupertino/date_picker.dart index 3d89d7427d..fab27b4057 100644 --- a/packages/flutter/lib/src/cupertino/date_picker.dart +++ b/packages/flutter/lib/src/cupertino/date_picker.dart @@ -230,6 +230,7 @@ class CupertinoDatePicker extends StatefulWidget { /// /// [use24hFormat] decides whether 24 hour format is used. Defaults to false. CupertinoDatePicker({ + Key key, this.mode = CupertinoDatePickerMode.dateAndTime, @required this.onDateTimeChanged, DateTime initialDateTime, @@ -247,7 +248,8 @@ class CupertinoDatePicker extends StatefulWidget { assert( minuteInterval > 0 && 60 % minuteInterval == 0, 'minute interval is not a positive integer factor of 60', - ) { + ), + super(key: key) { assert(this.initialDateTime != null); assert( mode != CupertinoDatePickerMode.dateAndTime || minimumDate == null || !this.initialDateTime.isBefore(minimumDate), diff --git a/packages/flutter/lib/src/cupertino/nav_bar.dart b/packages/flutter/lib/src/cupertino/nav_bar.dart index d5776ee8a0..3b49be9356 100644 --- a/packages/flutter/lib/src/cupertino/nav_bar.dart +++ b/packages/flutter/lib/src/cupertino/nav_bar.dart @@ -1270,11 +1270,13 @@ class CupertinoNavigationBarBackButton extends StatelessWidget { /// /// The [color] parameter must not be null. const CupertinoNavigationBarBackButton({ + Key key, this.color, this.previousPageTitle, this.onPressed, }) : _backChevron = null, - _backLabel = null; + _backLabel = null, + super(key: key); // Allow the back chevron and label to be separately created (and keyed) // because they animate separately during page transitions. diff --git a/packages/flutter/lib/src/cupertino/page_scaffold.dart b/packages/flutter/lib/src/cupertino/page_scaffold.dart index c389bc1db1..82380f2d62 100644 --- a/packages/flutter/lib/src/cupertino/page_scaffold.dart +++ b/packages/flutter/lib/src/cupertino/page_scaffold.dart @@ -200,7 +200,7 @@ class _CupertinoPageScaffoldState extends State { /// /// Used by [CupertinoPageScaffold] to either shift away fully obstructed content /// or provide a padding guide to partially obstructed content. -abstract class ObstructingPreferredSizeWidget extends PreferredSizeWidget { +abstract class ObstructingPreferredSizeWidget implements PreferredSizeWidget { /// If true, this widget fully obstructs widgets behind it by the specified /// size. /// diff --git a/packages/flutter/lib/src/material/reorderable_list.dart b/packages/flutter/lib/src/material/reorderable_list.dart index 6b261cf56e..663644eb32 100644 --- a/packages/flutter/lib/src/material/reorderable_list.dart +++ b/packages/flutter/lib/src/material/reorderable_list.dart @@ -58,6 +58,7 @@ class ReorderableListView extends StatefulWidget { /// Creates a reorderable list. ReorderableListView({ + Key key, this.header, @required this.children, @required this.onReorder, @@ -70,7 +71,8 @@ class ReorderableListView extends StatefulWidget { assert( children.every((Widget w) => w.key != null), 'All children of this widget must have a key.', - ); + ), + super(key: key); /// A non-reorderable header widget to show before the list. /// diff --git a/packages/flutter/lib/src/widgets/platform_view.dart b/packages/flutter/lib/src/widgets/platform_view.dart index 79d79eb132..2f7600779a 100644 --- a/packages/flutter/lib/src/widgets/platform_view.dart +++ b/packages/flutter/lib/src/widgets/platform_view.dart @@ -922,12 +922,14 @@ class PlatformViewSurface extends LeafRenderObjectWidget { /// /// The [controller] must not be null. const PlatformViewSurface({ + Key key, @required this.controller, @required this.hitTestBehavior, @required this.gestureRecognizers, }) : assert(controller != null), assert(hitTestBehavior != null), - assert(gestureRecognizers != null); + assert(gestureRecognizers != null), + super(key: key); /// The controller for the platform view integrated by this [PlatformViewSurface]. /// diff --git a/packages/flutter/lib/src/widgets/text.dart b/packages/flutter/lib/src/widgets/text.dart index 7b3344dc51..f97de8657b 100644 --- a/packages/flutter/lib/src/widgets/text.dart +++ b/packages/flutter/lib/src/widgets/text.dart @@ -58,13 +58,14 @@ class DefaultTextStyle extends InheritedTheme { /// /// This constructor creates a [DefaultTextStyle] that lacks a [child], which /// means the constructed value cannot be incorporated into the tree. - const DefaultTextStyle.fallback() + const DefaultTextStyle.fallback({ Key key }) : style = const TextStyle(), textAlign = null, softWrap = true, maxLines = null, overflow = TextOverflow.clip, - textWidthBasis = TextWidthBasis.parent; + textWidthBasis = TextWidthBasis.parent, + super(key: key, child: null); /// Creates a default text style that overrides the text styles in scope at /// this point in the widget tree. diff --git a/packages/flutter/lib/src/widgets/value_listenable_builder.dart b/packages/flutter/lib/src/widgets/value_listenable_builder.dart index 19a705754d..08e9ced1f4 100644 --- a/packages/flutter/lib/src/widgets/value_listenable_builder.dart +++ b/packages/flutter/lib/src/widgets/value_listenable_builder.dart @@ -115,11 +115,13 @@ class ValueListenableBuilder extends StatefulWidget { /// The [child] is optional but is good practice to use if part of the widget /// subtree does not depend on the value of the [valueListenable]. const ValueListenableBuilder({ + Key key, @required this.valueListenable, @required this.builder, this.child, }) : assert(valueListenable != null), - assert(builder != null); + assert(builder != null), + super(key: key); /// The [ValueListenable] whose value you depend on in order to build. /// diff --git a/packages/flutter/test/material/bottom_app_bar_test.dart b/packages/flutter/test/material/bottom_app_bar_test.dart index f9f8063186..582ac0c589 100644 --- a/packages/flutter/test/material/bottom_app_bar_test.dart +++ b/packages/flutter/test/material/bottom_app_bar_test.dart @@ -419,7 +419,7 @@ class ClipCachePainter extends CustomPainter { } class ShapeListener extends StatefulWidget { - const ShapeListener(this.child); + const ShapeListener(this.child, { Key key }) : super(key: key); final Widget child; diff --git a/packages/flutter/test/material/dropdown_form_field_test.dart b/packages/flutter/test/material/dropdown_form_field_test.dart index 41ba8c85f9..ef98d30f58 100644 --- a/packages/flutter/test/material/dropdown_form_field_test.dart +++ b/packages/flutter/test/material/dropdown_form_field_test.dart @@ -107,10 +107,17 @@ class _TestAppState extends State { } class TestApp extends StatefulWidget { - const TestApp({ this.textDirection, this.child, this.mediaSize }); + const TestApp({ + Key key, + this.textDirection, + this.child, + this.mediaSize, + }) : super(key: key); + final TextDirection textDirection; final Widget child; final Size mediaSize; + @override _TestAppState createState() => _TestAppState(); } diff --git a/packages/flutter/test/material/dropdown_test.dart b/packages/flutter/test/material/dropdown_test.dart index ee1c02e745..b8c6e81d04 100644 --- a/packages/flutter/test/material/dropdown_test.dart +++ b/packages/flutter/test/material/dropdown_test.dart @@ -93,10 +93,17 @@ Widget buildFrame({ } class TestApp extends StatefulWidget { - const TestApp({ this.textDirection, this.child, this.mediaSize }); + const TestApp({ + Key key, + this.textDirection, + this.child, + this.mediaSize, + }) : super(key: key); + final TextDirection textDirection; final Widget child; final Size mediaSize; + @override _TestAppState createState() => _TestAppState(); } diff --git a/packages/flutter/test/material/expansion_panel_test.dart b/packages/flutter/test/material/expansion_panel_test.dart index 9075d6c298..98b94d9ee6 100644 --- a/packages/flutter/test/material/expansion_panel_test.dart +++ b/packages/flutter/test/material/expansion_panel_test.dart @@ -55,7 +55,7 @@ class _SimpleExpansionPanelListTestWidgetState extends State _TestAppState(); } diff --git a/packages/flutter/test/material/search_test.dart b/packages/flutter/test/material/search_test.dart index cc6fdd8815..2c4b705f69 100644 --- a/packages/flutter/test/material/search_test.dart +++ b/packages/flutter/test/material/search_test.dart @@ -644,11 +644,12 @@ void main() { class TestHomePage extends StatelessWidget { const TestHomePage({ + Key key, this.results, this.delegate, this.passInInitialQuery = false, this.initialQuery, - }); + }) : super(key: key); final List results; final SearchDelegate delegate; diff --git a/packages/flutter/test/material/tabbed_scrollview_warp_test.dart b/packages/flutter/test/material/tabbed_scrollview_warp_test.dart index 2e3673833a..ce0f19f76e 100644 --- a/packages/flutter/test/material/tabbed_scrollview_warp_test.dart +++ b/packages/flutter/test/material/tabbed_scrollview_warp_test.dart @@ -24,6 +24,8 @@ class MySliverPersistentHeaderDelegate extends SliverPersistentHeaderDelegate { } class MyHomePage extends StatefulWidget { + const MyHomePage({ Key key }) : super(key: key); + @override _MyHomePageState createState() => _MyHomePageState(); } @@ -73,7 +75,7 @@ class _MyHomePageState extends State with TickerProviderStateMixin { void main() { testWidgets('Tabbed CustomScrollViews, warp from tab 1 to 3', (WidgetTester tester) async { - await tester.pumpWidget(MaterialApp(home: MyHomePage())); + await tester.pumpWidget(const MaterialApp(home: MyHomePage())); // should not crash. await tester.tap(find.text('Tab 2')); diff --git a/packages/flutter/test/material/tabs_test.dart b/packages/flutter/test/material/tabs_test.dart index 5257aa3125..6eff6637f1 100644 --- a/packages/flutter/test/material/tabs_test.dart +++ b/packages/flutter/test/material/tabs_test.dart @@ -127,7 +127,12 @@ Widget buildFrame({ typedef TabControllerFrameBuilder = Widget Function(BuildContext context, TabController controller); class TabControllerFrame extends StatefulWidget { - const TabControllerFrame({ this.length, this.initialIndex = 0, this.builder }); + const TabControllerFrame({ + Key key, + this.length, + this.initialIndex = 0, + this.builder, + }) : super(key: key); final int length; final int initialIndex; diff --git a/packages/flutter/test/material/theme_test.dart b/packages/flutter/test/material/theme_test.dart index 25e079c240..dd9513c175 100644 --- a/packages/flutter/test/material/theme_test.dart +++ b/packages/flutter/test/material/theme_test.dart @@ -650,7 +650,7 @@ void main() { int testBuildCalled; class Test extends StatefulWidget { - const Test(); + const Test({ Key key }) : super(key: key); @override _TestState createState() => _TestState(); diff --git a/packages/flutter/test/material/will_pop_test.dart b/packages/flutter/test/material/will_pop_test.dart index d88c631df1..f41df053b7 100644 --- a/packages/flutter/test/material/will_pop_test.dart +++ b/packages/flutter/test/material/will_pop_test.dart @@ -8,6 +8,7 @@ import 'package:flutter/material.dart'; bool willPopValue = false; class SamplePage extends StatefulWidget { + const SamplePage({ Key key }) : super(key: key); @override SamplePageState createState() => SamplePageState(); } @@ -86,7 +87,7 @@ void main() { onPressed: () { showDialog( context: context, - builder: (BuildContext context) => SamplePage(), + builder: (BuildContext context) => const SamplePage(), ); }, ), diff --git a/packages/flutter/test/widgets/baseline_test.dart b/packages/flutter/test/widgets/baseline_test.dart index ae376f5e94..669aaaeef4 100644 --- a/packages/flutter/test/widgets/baseline_test.dart +++ b/packages/flutter/test/widgets/baseline_test.dart @@ -94,7 +94,7 @@ void main() { } class BaselineDetector extends LeafRenderObjectWidget { - const BaselineDetector(this.callback); + const BaselineDetector(this.callback, { Key key }) : super(key: key); final VoidCallback callback; diff --git a/packages/flutter/test/widgets/build_scope_test.dart b/packages/flutter/test/widgets/build_scope_test.dart index 273cc511e1..5ab5d2c199 100644 --- a/packages/flutter/test/widgets/build_scope_test.dart +++ b/packages/flutter/test/widgets/build_scope_test.dart @@ -8,6 +8,7 @@ import 'package:flutter/widgets.dart'; import 'test_widgets.dart'; class ProbeWidget extends StatefulWidget { + const ProbeWidget({ Key key }) : super(key: key); @override ProbeWidgetState createState() => ProbeWidgetState(); } @@ -36,7 +37,7 @@ class ProbeWidgetState extends State { } class BadWidget extends StatelessWidget { - const BadWidget(this.parentState); + const BadWidget(this.parentState, { Key key }) : super(key: key); final BadWidgetParentState parentState; @@ -48,6 +49,7 @@ class BadWidget extends StatelessWidget { } class BadWidgetParent extends StatefulWidget { + const BadWidgetParent({ Key key }) : super(key: key); @override BadWidgetParentState createState() => BadWidgetParentState(); } @@ -67,6 +69,7 @@ class BadWidgetParentState extends State { } class BadDisposeWidget extends StatefulWidget { + const BadDisposeWidget({ Key key }) : super(key: key); @override BadDisposeWidgetState createState() => BadDisposeWidgetState(); } @@ -133,14 +136,14 @@ void main() { testWidgets('Legal times for setState', (WidgetTester tester) async { final GlobalKey flipKey = GlobalKey(); expect(ProbeWidgetState.buildCount, equals(0)); - await tester.pumpWidget(ProbeWidget()); + await tester.pumpWidget(const ProbeWidget(key: Key('a'))); expect(ProbeWidgetState.buildCount, equals(1)); - await tester.pumpWidget(ProbeWidget()); + await tester.pumpWidget(const ProbeWidget(key: Key('b'))); expect(ProbeWidgetState.buildCount, equals(2)); await tester.pumpWidget(FlipWidget( key: flipKey, left: Container(), - right: ProbeWidget(), + right: const ProbeWidget(key: Key('c')), )); expect(ProbeWidgetState.buildCount, equals(2)); final FlipWidgetState flipState1 = flipKey.currentState as FlipWidgetState; @@ -156,13 +159,13 @@ void main() { }); testWidgets('Setting parent state during build is forbidden', (WidgetTester tester) async { - await tester.pumpWidget(BadWidgetParent()); + await tester.pumpWidget(const BadWidgetParent()); expect(tester.takeException(), isFlutterError); await tester.pumpWidget(Container()); }); testWidgets('Setting state during dispose is forbidden', (WidgetTester tester) async { - await tester.pumpWidget(BadDisposeWidget()); + await tester.pumpWidget(const BadDisposeWidget()); expect(tester.takeException(), isNull); await tester.pumpWidget(Container()); expect(tester.takeException(), isNotNull); diff --git a/packages/flutter/test/widgets/dismissible_test.dart b/packages/flutter/test/widgets/dismissible_test.dart index a9f966fa9c..098ccd57ce 100644 --- a/packages/flutter/test/widgets/dismissible_test.dart +++ b/packages/flutter/test/widgets/dismissible_test.dart @@ -208,7 +208,7 @@ Future rollbackElement(WidgetTester tester, Finder finder, { @required Axi } class Test1215DismissibleWidget extends StatelessWidget { - const Test1215DismissibleWidget(this.text); + const Test1215DismissibleWidget(this.text, { Key key }) : super(key: key); final String text; diff --git a/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart b/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart index 3d12d59a12..ca4c79d1ac 100644 --- a/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart +++ b/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart @@ -8,7 +8,7 @@ import 'package:flutter/widgets.dart'; typedef TestCallback = void Function(BuildContext context); class TestWidget extends StatefulWidget { - const TestWidget(this.callback); + const TestWidget(this.callback, { Key key }) : super(key: key); final TestCallback callback; diff --git a/packages/flutter/test/widgets/editable_text_test.dart b/packages/flutter/test/widgets/editable_text_test.dart index 3d6bce3247..638d47f3cc 100644 --- a/packages/flutter/test/widgets/editable_text_test.dart +++ b/packages/flutter/test/widgets/editable_text_test.dart @@ -4153,11 +4153,13 @@ class MockTextSelectionControls extends Mock implements TextSelectionControls { class CustomStyleEditableText extends EditableText { CustomStyleEditableText({ + Key key, TextEditingController controller, Color cursorColor, FocusNode focusNode, TextStyle style, }) : super( + key: key, controller: controller, cursorColor: cursorColor, backgroundCursorColor: Colors.grey, @@ -4180,7 +4182,11 @@ class CustomStyleEditableTextState extends EditableTextState { } class TransformedEditableText extends StatefulWidget { - const TransformedEditableText({ this.offset, this.transformButtonKey }); + const TransformedEditableText({ + Key key, + this.offset, + this.transformButtonKey, + }) : super(key: key); final Offset offset; final Key transformButtonKey; diff --git a/packages/flutter/test/widgets/framework_test.dart b/packages/flutter/test/widgets/framework_test.dart index 72354bddbb..e00068004d 100644 --- a/packages/flutter/test/widgets/framework_test.dart +++ b/packages/flutter/test/widgets/framework_test.dart @@ -644,7 +644,7 @@ void main() { }); testWidgets('Element diagnostics with null child', (WidgetTester tester) async { - await tester.pumpWidget(NullChildTest()); + await tester.pumpWidget(const NullChildTest()); final NullChildElement test = tester.element(find.byType(NullChildTest)); test.includeChild = true; expect( @@ -713,6 +713,7 @@ void main() { } class NullChildTest extends Widget { + const NullChildTest({ Key key }) : super(key: key); @override Element createElement() => NullChildElement(this); } diff --git a/packages/flutter/test/widgets/global_keys_moving_test.dart b/packages/flutter/test/widgets/global_keys_moving_test.dart index dac00de1ec..c7c4cb3606 100644 --- a/packages/flutter/test/widgets/global_keys_moving_test.dart +++ b/packages/flutter/test/widgets/global_keys_moving_test.dart @@ -29,7 +29,7 @@ class StatefulLeafState extends State { } class KeyedWrapper extends StatelessWidget { - const KeyedWrapper(this.key1, this.key2); + const KeyedWrapper(this.key1, this.key2, { Key key }) : super(key: key); final Key key1; final GlobalKey key2; diff --git a/packages/flutter/test/widgets/implicit_animations_test.dart b/packages/flutter/test/widgets/implicit_animations_test.dart index 78c16bbe9e..7310eccf56 100644 --- a/packages/flutter/test/widgets/implicit_animations_test.dart +++ b/packages/flutter/test/widgets/implicit_animations_test.dart @@ -248,7 +248,12 @@ Widget wrap({Widget child}) { } class TestAnimatedWidget extends StatefulWidget { - const TestAnimatedWidget({this.callback, this.switchKey, this.state}); + const TestAnimatedWidget({ + Key key, + this.callback, + this.switchKey, + this.state, + }) : super(key: key); @required final VoidCallback callback; @required diff --git a/packages/flutter/test/widgets/independent_widget_layout_test.dart b/packages/flutter/test/widgets/independent_widget_layout_test.dart index f5444b048b..f62ba2d664 100644 --- a/packages/flutter/test/widgets/independent_widget_layout_test.dart +++ b/packages/flutter/test/widgets/independent_widget_layout_test.dart @@ -66,9 +66,15 @@ class Trigger { } class TriggerableWidget extends StatefulWidget { - const TriggerableWidget({ this.trigger, this.counter }); + const TriggerableWidget({ + Key key, + this.trigger, + this.counter, + }) : super(key: key); + final Trigger trigger; final Counter counter; + @override TriggerableState createState() => TriggerableState(); } diff --git a/packages/flutter/test/widgets/inherited_test.dart b/packages/flutter/test/widgets/inherited_test.dart index 89c81e2533..f73e3dcdcd 100644 --- a/packages/flutter/test/widgets/inherited_test.dart +++ b/packages/flutter/test/widgets/inherited_test.dart @@ -30,7 +30,7 @@ class ValueInherited extends InheritedWidget { } class ExpectFail extends StatefulWidget { - const ExpectFail(this.onError); + const ExpectFail(this.onError, { Key key }) : super(key: key); final VoidCallback onError; @override diff --git a/packages/flutter/test/widgets/inherited_theme_test.dart b/packages/flutter/test/widgets/inherited_theme_test.dart index 3458734b30..ade4261ca6 100644 --- a/packages/flutter/test/widgets/inherited_theme_test.dart +++ b/packages/flutter/test/widgets/inherited_theme_test.dart @@ -12,7 +12,7 @@ class TestRoute extends PageRouteBuilder { } class IconTextBox extends StatelessWidget { - const IconTextBox(this.text); + const IconTextBox(this.text, { Key key }) : super(key: key); final String text; @override Widget build(BuildContext context) { diff --git a/packages/flutter/test/widgets/init_state_test.dart b/packages/flutter/test/widgets/init_state_test.dart index 6786c20ae8..9ff423cd2c 100644 --- a/packages/flutter/test/widgets/init_state_test.dart +++ b/packages/flutter/test/widgets/init_state_test.dart @@ -8,6 +8,7 @@ import 'package:flutter/widgets.dart'; List ancestors = []; class TestWidget extends StatefulWidget { + const TestWidget({ Key key }) : super(key: key); @override TestWidgetState createState() => TestWidgetState(); } @@ -28,7 +29,7 @@ class TestWidgetState extends State { void main() { testWidgets('initState() is called when we are in the tree', (WidgetTester tester) async { - await tester.pumpWidget(Container(child: TestWidget())); + await tester.pumpWidget(Container(child: const TestWidget())); expect(ancestors, equals(['Container', 'RenderObjectToWidgetAdapter'])); }); } diff --git a/packages/flutter/test/widgets/linked_scroll_view_test.dart b/packages/flutter/test/widgets/linked_scroll_view_test.dart index de2de51c9a..7517cbf003 100644 --- a/packages/flutter/test/widgets/linked_scroll_view_test.dart +++ b/packages/flutter/test/widgets/linked_scroll_view_test.dart @@ -257,6 +257,7 @@ class LinkedScrollActivity extends ScrollActivity { } class Test extends StatefulWidget { + const Test({ Key key }) : super(key: key); @override _TestState createState() => _TestState(); } @@ -372,7 +373,7 @@ class _TestState extends State { void main() { testWidgets('LinkedScrollController - 1', (WidgetTester tester) async { - await tester.pumpWidget(Test()); + await tester.pumpWidget(const Test()); expect(find.text('Hello A'), findsOneWidget); expect(find.text('Hello 1'), findsOneWidget); expect(find.text('Hello D'), findsNothing); @@ -450,7 +451,7 @@ void main() { expect(find.text('Hello 4'), findsOneWidget); }); testWidgets('LinkedScrollController - 2', (WidgetTester tester) async { - await tester.pumpWidget(Test()); + await tester.pumpWidget(const Test()); expect(find.text('Hello A'), findsOneWidget); expect(find.text('Hello B'), findsOneWidget); expect(find.text('Hello C'), findsNothing); diff --git a/packages/flutter/test/widgets/list_view_test.dart b/packages/flutter/test/widgets/list_view_test.dart index 44de7cec11..a4f3c8533f 100644 --- a/packages/flutter/test/widgets/list_view_test.dart +++ b/packages/flutter/test/widgets/list_view_test.dart @@ -19,7 +19,7 @@ class TestSliverChildListDelegate extends SliverChildListDelegate { } class Alive extends StatefulWidget { - const Alive(this.alive, this.index); + const Alive(this.alive, this.index, { Key key }) : super(key: key); final bool alive; final int index; diff --git a/packages/flutter/test/widgets/modal_barrier_test.dart b/packages/flutter/test/widgets/modal_barrier_test.dart index f8171cafd1..1a29f7ec0f 100644 --- a/packages/flutter/test/widgets/modal_barrier_test.dart +++ b/packages/flutter/test/widgets/modal_barrier_test.dart @@ -165,8 +165,8 @@ void main() { testWidgets('ModalBarrier pops the Navigator when dismissed by primay tap', (WidgetTester tester) async { final Map routes = { - '/': (BuildContext context) => FirstWidget(), - '/modal': (BuildContext context) => SecondWidget(), + '/': (BuildContext context) => const FirstWidget(), + '/modal': (BuildContext context) => const SecondWidget(), }; await tester.pumpWidget(MaterialApp(routes: routes)); @@ -195,8 +195,8 @@ void main() { testWidgets('ModalBarrier pops the Navigator when dismissed by non-primary tap', (WidgetTester tester) async { final Map routes = { - '/': (BuildContext context) => FirstWidget(), - '/modal': (BuildContext context) => SecondWidget(), + '/': (BuildContext context) => const FirstWidget(), + '/modal': (BuildContext context) => const SecondWidget(), }; await tester.pumpWidget(MaterialApp(routes: routes)); @@ -226,8 +226,8 @@ void main() { testWidgets('ModalBarrier may pop the Navigator when competing with other gestures', (WidgetTester tester) async { final Map routes = { - '/': (BuildContext context) => FirstWidget(), - '/modal': (BuildContext context) => SecondWidgetWithCompetence (), + '/': (BuildContext context) => const FirstWidget(), + '/modal': (BuildContext context) => const SecondWidgetWithCompetence(), }; await tester.pumpWidget(MaterialApp(routes: routes)); @@ -252,10 +252,10 @@ void main() { testWidgets('ModalBarrier does not pop the Navigator with a WillPopScope that returns false', (WidgetTester tester) async { bool willPopCalled = false; final Map routes = { - '/': (BuildContext context) => FirstWidget(), + '/': (BuildContext context) => const FirstWidget(), '/modal': (BuildContext context) => Stack( children: [ - SecondWidget(), + const SecondWidget(), WillPopScope( child: const SizedBox(), onWillPop: () async { @@ -292,10 +292,10 @@ void main() { testWidgets('ModalBarrier pops the Navigator with a WillPopScope that returns true', (WidgetTester tester) async { bool willPopCalled = false; final Map routes = { - '/': (BuildContext context) => FirstWidget(), + '/': (BuildContext context) => const FirstWidget(), '/modal': (BuildContext context) => Stack( children: [ - SecondWidget(), + const SecondWidget(), WillPopScope( child: const SizedBox(), onWillPop: () async { @@ -379,6 +379,7 @@ void main() { } class FirstWidget extends StatelessWidget { + const FirstWidget({ Key key }) : super(key: key); @override Widget build(BuildContext context) { return GestureDetector( @@ -393,6 +394,7 @@ class FirstWidget extends StatelessWidget { } class SecondWidget extends StatelessWidget { + const SecondWidget({ Key key }) : super(key: key); @override Widget build(BuildContext context) { return const ModalBarrier( @@ -403,6 +405,7 @@ class SecondWidget extends StatelessWidget { } class SecondWidgetWithCompetence extends StatelessWidget { + const SecondWidgetWithCompetence({ Key key }) : super(key: key); @override Widget build(BuildContext context) { return Stack( diff --git a/packages/flutter/test/widgets/navigator_test.dart b/packages/flutter/test/widgets/navigator_test.dart index a68b21171c..5522c1179d 100644 --- a/packages/flutter/test/widgets/navigator_test.dart +++ b/packages/flutter/test/widgets/navigator_test.dart @@ -12,6 +12,7 @@ import 'observer_tester.dart'; import 'semantics_tester.dart'; class FirstWidget extends StatelessWidget { + const FirstWidget({ Key key }) : super(key: key); @override Widget build(BuildContext context) { return GestureDetector( @@ -27,6 +28,7 @@ class FirstWidget extends StatelessWidget { } class SecondWidget extends StatefulWidget { + const SecondWidget({ Key key }) : super(key: key); @override SecondWidgetState createState() => SecondWidgetState(); } @@ -47,7 +49,7 @@ class SecondWidgetState extends State { typedef ExceptionCallback = void Function(dynamic exception); class ThirdWidget extends StatelessWidget { - const ThirdWidget({ this.targetKey, this.onException }); + const ThirdWidget({ Key key, this.targetKey, this.onException }) : super(key: key); final Key targetKey; final ExceptionCallback onException; @@ -94,8 +96,8 @@ class OnTapPage extends StatelessWidget { void main() { testWidgets('Can navigator navigate to and from a stateful widget', (WidgetTester tester) async { final Map routes = { - '/': (BuildContext context) => FirstWidget(), // X - '/second': (BuildContext context) => SecondWidget(), // Y + '/': (BuildContext context) => const FirstWidget(), // X + '/second': (BuildContext context) => const SecondWidget(), // Y }; await tester.pumpWidget(MaterialApp(routes: routes)); diff --git a/packages/flutter/test/widgets/render_object_widget_test.dart b/packages/flutter/test/widgets/render_object_widget_test.dart index b314a682b7..d1222906cc 100644 --- a/packages/flutter/test/widgets/render_object_widget_test.dart +++ b/packages/flutter/test/widgets/render_object_widget_test.dart @@ -11,7 +11,10 @@ final BoxDecoration kBoxDecorationB = BoxDecoration(border: nonconst(null)); final BoxDecoration kBoxDecorationC = BoxDecoration(border: nonconst(null)); class TestWidget extends StatelessWidget { - const TestWidget({ this.child }); + const TestWidget({ + Key key, + this.child, + }) : super(key: key); final Widget child; diff --git a/packages/flutter/test/widgets/reparent_state_harder_test.dart b/packages/flutter/test/widgets/reparent_state_harder_test.dart index 5f20c503e2..ad3a94372f 100644 --- a/packages/flutter/test/widgets/reparent_state_harder_test.dart +++ b/packages/flutter/test/widgets/reparent_state_harder_test.dart @@ -57,7 +57,11 @@ class DummyStatefulWidgetState extends State { } class RekeyableDummyStatefulWidgetWrapper extends StatefulWidget { - const RekeyableDummyStatefulWidgetWrapper({ this.child, this.initialKey }); + const RekeyableDummyStatefulWidgetWrapper({ + Key key, + this.child, + this.initialKey, + }) : super(key: key); final Widget child; final GlobalKey initialKey; @override diff --git a/packages/flutter/test/widgets/reparent_state_with_layout_builder_test.dart b/packages/flutter/test/widgets/reparent_state_with_layout_builder_test.dart index bb30d3f4e5..f5e4c92c8b 100644 --- a/packages/flutter/test/widgets/reparent_state_with_layout_builder_test.dart +++ b/packages/flutter/test/widgets/reparent_state_with_layout_builder_test.dart @@ -10,6 +10,7 @@ import 'package:flutter_test/flutter_test.dart'; // This is a regression test for https://github.com/flutter/flutter/issues/5840. class Bar extends StatefulWidget { + const Bar({ Key key }) : super(key: key); @override BarState createState() => BarState(); } @@ -68,7 +69,7 @@ class StatefulCreationCounterState extends State { void main() { testWidgets('reparent state with layout builder', (WidgetTester tester) async { expect(StatefulCreationCounterState.creationCount, 0); - await tester.pumpWidget(Bar()); + await tester.pumpWidget(const Bar()); expect(StatefulCreationCounterState.creationCount, 1); final BarState s = tester.state(find.byType(Bar)); s.trigger(); diff --git a/packages/flutter/test/widgets/scroll_position_test.dart b/packages/flutter/test/widgets/scroll_position_test.dart index 268fe16279..7771ffec64 100644 --- a/packages/flutter/test/widgets/scroll_position_test.dart +++ b/packages/flutter/test/widgets/scroll_position_test.dart @@ -14,7 +14,10 @@ ScrollController _controller = ScrollController( ); class ThePositiveNumbers extends StatelessWidget { - const ThePositiveNumbers({@required this.from}); + const ThePositiveNumbers({ + Key key, + @required this.from, + }) : super(key: key); final int from; @override Widget build(BuildContext context) { diff --git a/packages/flutter/test/widgets/set_state_1_test.dart b/packages/flutter/test/widgets/set_state_1_test.dart index adf77051d0..e38629e4ef 100644 --- a/packages/flutter/test/widgets/set_state_1_test.dart +++ b/packages/flutter/test/widgets/set_state_1_test.dart @@ -6,6 +6,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; class Inside extends StatefulWidget { + const Inside({ Key key }) : super(key: key); @override InsideState createState() => InsideState(); } @@ -25,7 +26,10 @@ class InsideState extends State { } class Middle extends StatefulWidget { - const Middle({ this.child }); + const Middle({ + Key key, + this.child, + }) : super(key: key); final Inside child; @@ -48,6 +52,7 @@ class MiddleState extends State { } class Outside extends StatefulWidget { + const Outside({ Key key }) : super(key: key); @override OutsideState createState() => OutsideState(); } @@ -55,13 +60,13 @@ class Outside extends StatefulWidget { class OutsideState extends State { @override Widget build(BuildContext context) { - return Middle(child: Inside()); + return const Middle(child: Inside()); } } void main() { testWidgets('setState() smoke test', (WidgetTester tester) async { - await tester.pumpWidget(Outside()); + await tester.pumpWidget(const Outside()); final Offset location = tester.getCenter(find.text('INSIDE')); final TestGesture gesture = await tester.startGesture(location); await tester.pump(); diff --git a/packages/flutter/test/widgets/set_state_3_test.dart b/packages/flutter/test/widgets/set_state_3_test.dart index 2d00cff12a..d391225e60 100644 --- a/packages/flutter/test/widgets/set_state_3_test.dart +++ b/packages/flutter/test/widgets/set_state_3_test.dart @@ -8,7 +8,7 @@ import 'package:flutter/widgets.dart'; ChangerState changer; class Changer extends StatefulWidget { - const Changer(this.child); + const Changer(this.child, { Key key }) : super(key: key); final Widget child; @@ -32,7 +32,7 @@ class ChangerState extends State { } class Wrapper extends StatelessWidget { - const Wrapper(this.child); + const Wrapper(this.child, { Key key }) : super(key: key); final Widget child; @@ -41,6 +41,7 @@ class Wrapper extends StatelessWidget { } class Leaf extends StatefulWidget { + const Leaf({ Key key }) : super(key: key); @override LeafState createState() => LeafState(); } @@ -52,8 +53,8 @@ class LeafState extends State { void main() { testWidgets('three-way setState() smoke test', (WidgetTester tester) async { - await tester.pumpWidget(Changer(Wrapper(Leaf()))); - await tester.pumpWidget(Changer(Wrapper(Leaf()))); + await tester.pumpWidget(const Changer(Wrapper(Leaf()))); + await tester.pumpWidget(const Changer(Wrapper(Leaf()))); changer.test(); await tester.pump(); }); diff --git a/packages/flutter/test/widgets/set_state_4_test.dart b/packages/flutter/test/widgets/set_state_4_test.dart index b078b7a06c..843cdd0b0d 100644 --- a/packages/flutter/test/widgets/set_state_4_test.dart +++ b/packages/flutter/test/widgets/set_state_4_test.dart @@ -6,6 +6,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; class Changer extends StatefulWidget { + const Changer({ Key key }) : super(key: key); @override ChangerState createState() => ChangerState(); } @@ -21,7 +22,7 @@ class ChangerState extends State { void main() { testWidgets('setState() catches being used with an async callback', (WidgetTester tester) async { - await tester.pumpWidget(Changer()); + await tester.pumpWidget(const Changer()); final ChangerState s = tester.state(find.byType(Changer)); expect(s.test0, isNot(throwsFlutterError)); expect(s.test1, isNot(throwsFlutterError)); diff --git a/packages/flutter/test/widgets/set_state_5_test.dart b/packages/flutter/test/widgets/set_state_5_test.dart index b910bfd6d9..cec26cc291 100644 --- a/packages/flutter/test/widgets/set_state_5_test.dart +++ b/packages/flutter/test/widgets/set_state_5_test.dart @@ -6,9 +6,9 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; class BadWidget extends StatefulWidget { + const BadWidget({ Key key }) : super(key: key); @override State createState() => BadWidgetState(); - } class BadWidgetState extends State { @@ -28,7 +28,7 @@ class BadWidgetState extends State { void main() { testWidgets('setState() catches being used inside a constructor', (WidgetTester tester) async { - await tester.pumpWidget(BadWidget()); + await tester.pumpWidget(const BadWidget()); expect(tester.takeException(), isInstanceOf()); }); } diff --git a/packages/flutter/test/widgets/size_changed_layout_notification_test.dart b/packages/flutter/test/widgets/size_changed_layout_notification_test.dart index 87e452842c..ff24f87653 100644 --- a/packages/flutter/test/widgets/size_changed_layout_notification_test.dart +++ b/packages/flutter/test/widgets/size_changed_layout_notification_test.dart @@ -5,14 +5,6 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; -class NotifyMaterial extends StatelessWidget { - @override - Widget build(BuildContext context) { - LayoutChangedNotification().dispatch(context); - return Container(); - } -} - void main() { testWidgets('SizeChangedLayoutNotification test', (WidgetTester tester) async { bool notified = false; diff --git a/packages/flutter/test/widgets/slivers_block_global_key_test.dart b/packages/flutter/test/widgets/slivers_block_global_key_test.dart index 0bf8b3b7a5..3975559bca 100644 --- a/packages/flutter/test/widgets/slivers_block_global_key_test.dart +++ b/packages/flutter/test/widgets/slivers_block_global_key_test.dart @@ -9,7 +9,7 @@ import 'package:flutter/widgets.dart'; int globalGeneration = 0; class GenerationText extends StatefulWidget { - const GenerationText(this.value); + const GenerationText(this.value, { Key key }) : super(key: key); final int value; @override _GenerationTextState createState() => _GenerationTextState(); diff --git a/packages/flutter/test/widgets/slivers_test.dart b/packages/flutter/test/widgets/slivers_test.dart index 93503d7c29..cb69542b1c 100644 --- a/packages/flutter/test/widgets/slivers_test.dart +++ b/packages/flutter/test/widgets/slivers_test.dart @@ -701,7 +701,7 @@ bool sameHorizontal(Offset a, Offset b) => b.dy == a.dy; bool sameVertical(Offset a, Offset b) => b.dx == a.dx; class TestSliverGrid extends StatelessWidget { - const TestSliverGrid(this.children); + const TestSliverGrid(this.children, { Key key }) : super(key: key); final List children; @@ -726,7 +726,7 @@ class TestSliverGrid extends StatelessWidget { } class TestSliverFixedExtentList extends StatelessWidget { - const TestSliverFixedExtentList(this.children); + const TestSliverFixedExtentList(this.children, { Key key }) : super(key: key); final List children; @@ -749,7 +749,7 @@ class TestSliverFixedExtentList extends StatelessWidget { } class KeepAlive extends StatefulWidget { - const KeepAlive(this.data); + const KeepAlive(this.data, { Key key }) : super(key: key); final String data; diff --git a/packages/flutter/test/widgets/state_setting_in_scrollables_test.dart b/packages/flutter/test/widgets/state_setting_in_scrollables_test.dart index df0193341f..8855579e86 100644 --- a/packages/flutter/test/widgets/state_setting_in_scrollables_test.dart +++ b/packages/flutter/test/widgets/state_setting_in_scrollables_test.dart @@ -6,6 +6,7 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; class Foo extends StatefulWidget { + const Foo({ Key key }) : super(key: key); @override FooState createState() => FooState(); } @@ -80,7 +81,7 @@ class FooScrollBehavior extends ScrollBehavior { void main() { testWidgets('Can animate scroll after setState', (WidgetTester tester) async { await tester.pumpWidget( - Directionality( + const Directionality( textDirection: TextDirection.ltr, child: Foo(), ), diff --git a/packages/flutter/test/widgets/stateful_component_test.dart b/packages/flutter/test/widgets/stateful_component_test.dart index 5297be022a..365fc324d5 100644 --- a/packages/flutter/test/widgets/stateful_component_test.dart +++ b/packages/flutter/test/widgets/stateful_component_test.dart @@ -57,10 +57,10 @@ void main() { testWidgets('Don\'t rebuild subwidgets', (WidgetTester tester) async { await tester.pumpWidget( - FlipWidget( - key: const Key('rebuild test'), + const FlipWidget( + key: Key('rebuild test'), left: TestBuildCounter(), - right: const DecoratedBox(decoration: kBoxDecorationB), + right: DecoratedBox(decoration: kBoxDecorationB), ), ); diff --git a/packages/flutter/test/widgets/syncing_test.dart b/packages/flutter/test/widgets/syncing_test.dart index 93ccc0b61a..7a947e2c39 100644 --- a/packages/flutter/test/widgets/syncing_test.dart +++ b/packages/flutter/test/widgets/syncing_test.dart @@ -6,7 +6,12 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; class TestWidget extends StatefulWidget { - const TestWidget({ this.child, this.persistentState, this.syncedState }); + const TestWidget({ + Key key, + this.child, + this.persistentState, + this.syncedState, + }) : super(key: key); final Widget child; final int persistentState; diff --git a/packages/flutter/test/widgets/test_widgets.dart b/packages/flutter/test/widgets/test_widgets.dart index b1aa37660b..c847ff4d80 100644 --- a/packages/flutter/test/widgets/test_widgets.dart +++ b/packages/flutter/test/widgets/test_widgets.dart @@ -19,6 +19,8 @@ const BoxDecoration kBoxDecorationC = BoxDecoration( ); class TestBuildCounter extends StatelessWidget { + const TestBuildCounter({ Key key }) : super(key: key); + static int buildCount = 0; @override diff --git a/packages/flutter/test/widgets/ticker_provider_test.dart b/packages/flutter/test/widgets/ticker_provider_test.dart index 6cb798715b..b4dd6f4ff4 100644 --- a/packages/flutter/test/widgets/ticker_provider_test.dart +++ b/packages/flutter/test/widgets/ticker_provider_test.dart @@ -57,7 +57,7 @@ void main() { }); testWidgets('SingleTickerProviderStateMixin can handle not being used', (WidgetTester tester) async { - final Widget widget = BoringTickerTest(); + const Widget widget = BoringTickerTest(); expect(widget.toString, isNot(throwsException)); await tester.pumpWidget(widget); @@ -228,6 +228,7 @@ void main() { } class BoringTickerTest extends StatefulWidget { + const BoringTickerTest({ Key key }) : super(key: key); @override _BoringTickerTestState createState() => _BoringTickerTestState(); } diff --git a/packages/flutter/test/widgets/widget_inspector_test.dart b/packages/flutter/test/widgets/widget_inspector_test.dart index a212a8ea64..638757ddcb 100644 --- a/packages/flutter/test/widgets/widget_inspector_test.dart +++ b/packages/flutter/test/widgets/widget_inspector_test.dart @@ -18,6 +18,7 @@ import 'package:flutter_test/flutter_test.dart'; // columns will impact whether tests pass. class ClockDemo extends StatefulWidget { + const ClockDemo({ Key key }) : super(key: key); @override _ClockDemoState createState() => _ClockDemoState(); } @@ -1634,7 +1635,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { testWidgets('ext.flutter.inspector.trackRebuildDirtyWidgets', (WidgetTester tester) async { service.rebuildCount = 0; - await tester.pumpWidget(ClockDemo()); + await tester.pumpWidget(const ClockDemo()); final Element clockDemoElement = find.byType(ClockDemo).evaluate().first; @@ -1724,7 +1725,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { _CreationLocation location = knownLocations[id]; expect(location.file, equals(file)); // ClockText widget. - expect(location.line, equals(50)); + expect(location.line, equals(51)); expect(location.column, equals(9)); expect(count, equals(1)); @@ -1733,7 +1734,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { location = knownLocations[id]; expect(location.file, equals(file)); // Text widget in _ClockTextState build method. - expect(location.line, equals(88)); + expect(location.line, equals(89)); expect(location.column, equals(12)); expect(count, equals(1)); @@ -1758,7 +1759,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { location = knownLocations[id]; expect(location.file, equals(file)); // ClockText widget. - expect(location.line, equals(50)); + expect(location.line, equals(51)); expect(location.column, equals(9)); expect(count, equals(3)); // 3 clock widget instances rebuilt. @@ -1767,7 +1768,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { location = knownLocations[id]; expect(location.file, equals(file)); // Text widget in _ClockTextState build method. - expect(location.line, equals(88)); + expect(location.line, equals(89)); expect(location.column, equals(12)); expect(count, equals(3)); // 3 clock widget instances rebuilt. @@ -1833,7 +1834,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { testWidgets('ext.flutter.inspector.trackRepaintWidgets', (WidgetTester tester) async { service.rebuildCount = 0; - await tester.pumpWidget(ClockDemo()); + await tester.pumpWidget(const ClockDemo()); final Element clockDemoElement = find.byType(ClockDemo).evaluate().first;