From 7181c7a86af164af24e27fe50bc8a4753857485e Mon Sep 17 00:00:00 2001 From: Greg Spencer Date: Thu, 15 Oct 2020 14:27:04 -0700 Subject: [PATCH] Convert some more widget tests to NNBD (#68160) --- .../test/widgets/slivers_evil_test.dart | 12 +++-- .../test/widgets/slivers_keepalive_test.dart | 34 +++++++------- .../test/widgets/slivers_padding_test.dart | 4 +- .../test/widgets/slivers_protocol_test.dart | 14 +++--- .../flutter/test/widgets/slivers_test.dart | 24 +++++----- .../flutter/test/widgets/spacer_test.dart | 2 - packages/flutter/test/widgets/stack_test.dart | 32 +++++++------- .../state_setting_in_scrollables_test.dart | 4 +- .../test/widgets/stateful_component_test.dart | 2 - .../widgets/stateful_components_test.dart | 12 +++-- .../test/widgets/status_transitions_test.dart | 8 ++-- .../flutter/test/widgets/syncing_test.dart | 18 ++++---- packages/flutter/test/widgets/table_test.dart | 12 +++-- .../test/widgets/text_golden_test.dart | 2 - .../test/widgets/text_selection_test.dart | 44 +++++++++---------- .../test/widgets/text_semantics_test.dart | 2 - packages/flutter/test/widgets/text_test.dart | 10 +++-- .../flutter/test/widgets/texture_test.dart | 8 ++-- .../test/widgets/ticker_mode_test.dart | 8 ++-- .../test/widgets/ticker_provider_test.dart | 40 ++++++++--------- packages/flutter/test/widgets/title_test.dart | 14 ------ .../tracking_scroll_controller_test.dart | 2 - .../flutter/test/widgets/transform_test.dart | 12 +++-- .../widgets/transformed_scrollable_test.dart | 2 - 24 files changed, 134 insertions(+), 188 deletions(-) diff --git a/packages/flutter/test/widgets/slivers_evil_test.dart b/packages/flutter/test/widgets/slivers_evil_test.dart index d4b22e9e6f..ea24c54909 100644 --- a/packages/flutter/test/widgets/slivers_evil_test.dart +++ b/packages/flutter/test/widgets/slivers_evil_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/physics.dart'; @@ -46,10 +44,10 @@ class TestBehavior extends ScrollBehavior { } class TestScrollPhysics extends ClampingScrollPhysics { - const TestScrollPhysics({ ScrollPhysics parent }) : super(parent: parent); + const TestScrollPhysics({ ScrollPhysics? parent }) : super(parent: parent); @override - TestScrollPhysics applyTo(ScrollPhysics ancestor) { + TestScrollPhysics applyTo(ScrollPhysics? ancestor) { return TestScrollPhysics(parent: parent?.applyTo(ancestor) ?? ancestor); } @@ -59,9 +57,9 @@ class TestScrollPhysics extends ClampingScrollPhysics { class TestViewportScrollPosition extends ScrollPositionWithSingleContext { TestViewportScrollPosition({ - ScrollPhysics physics, - ScrollContext context, - ScrollPosition oldPosition, + required ScrollPhysics physics, + required ScrollContext context, + ScrollPosition? oldPosition, }) : super(physics: physics, context: context, oldPosition: oldPosition); @override diff --git a/packages/flutter/test/widgets/slivers_keepalive_test.dart b/packages/flutter/test/widgets/slivers_keepalive_test.dart index c0e58acdf5..da1101fa2b 100644 --- a/packages/flutter/test/widgets/slivers_keepalive_test.dart +++ b/packages/flutter/test/widgets/slivers_keepalive_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter/rendering.dart'; @@ -404,8 +402,8 @@ List createSwitchedChildList(List childList, int i, int j) { class SwitchingChildBuilderTest extends StatefulWidget { const SwitchingChildBuilderTest({ - this.children, - Key key, + required this.children, + Key? key, }) : super(key: key); final List children; @@ -415,8 +413,8 @@ class SwitchingChildBuilderTest extends StatefulWidget { } class _SwitchingChildBuilderTest extends State { - List children; - Map _mapKeyToIndex; + late List children; + late Map _mapKeyToIndex; @override void initState() { @@ -424,7 +422,7 @@ class _SwitchingChildBuilderTest extends State { children = widget.children; _mapKeyToIndex = {}; for (int index = 0; index < children.length; index += 1) { - final Key key = children[index].key; + final Key? key = children[index].key; if (key != null) { _mapKeyToIndex[key] = index; } @@ -438,7 +436,7 @@ class _SwitchingChildBuilderTest extends State { children = widget.children; _mapKeyToIndex = {}; for (int index = 0; index < children.length; index += 1) { - final Key key = children[index].key; + final Key? key = children[index].key; if (key != null) { _mapKeyToIndex[key] = index; } @@ -475,9 +473,9 @@ class _SwitchingChildBuilderTest extends State { class SwitchingChildListTest extends StatefulWidget { const SwitchingChildListTest({ - this.children, + required this.children, this.viewportFraction = 1.0, - Key key, + Key? key, }) : super(key: key); final List children; @@ -512,9 +510,9 @@ class _SwitchingChildListTest extends State { class SwitchingSliverListTest extends StatefulWidget { const SwitchingSliverListTest({ - this.children, + required this.children, this.viewportFraction = 1.0, - Key key, + Key? key, }) : super(key: key); final List children; @@ -548,9 +546,9 @@ class _SwitchingSliverListTest extends State { class WidgetTest0 extends StatefulWidget { const WidgetTest0({ - this.text, + required this.text, this.keepAlive = false, - Key key, + Key? key, }) : super(key: key); final String text; @@ -581,9 +579,9 @@ class _WidgetTest0State extends State with AutomaticKeepAliveClient class WidgetTest1 extends StatefulWidget { const WidgetTest1({ - this.text, + required this.text, this.keepAlive = false, - Key key, + Key? key, }) : super(key: key); final String text; @@ -614,9 +612,9 @@ class _WidgetTest1State extends State with AutomaticKeepAliveClient class WidgetTest2 extends StatefulWidget { const WidgetTest2({ - this.text, + required this.text, this.keepAlive = false, - Key key, + Key? key, }) : super(key: key); final String text; diff --git a/packages/flutter/test/widgets/slivers_padding_test.dart b/packages/flutter/test/widgets/slivers_padding_test.dart index 7f4a2f743f..44444e6166 100644 --- a/packages/flutter/test/widgets/slivers_padding_test.dart +++ b/packages/flutter/test/widgets/slivers_padding_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/rendering.dart'; @@ -544,6 +542,6 @@ void main() { ), parentUsesSize: true, ); - expect(renderObject.geometry.paintOrigin, 10.0); + expect(renderObject.geometry!.paintOrigin, 10.0); }); } diff --git a/packages/flutter/test/widgets/slivers_protocol_test.dart b/packages/flutter/test/widgets/slivers_protocol_test.dart index 983329e1c6..9e2b45df3d 100644 --- a/packages/flutter/test/widgets/slivers_protocol_test.dart +++ b/packages/flutter/test/widgets/slivers_protocol_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'dart:math' as math; import 'package:flutter_test/flutter_test.dart'; @@ -11,9 +9,9 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; void verifyPaintPosition(GlobalKey key, Offset ideal) { - final RenderObject target = key.currentContext.findRenderObject(); + final RenderObject target = key.currentContext!.findRenderObject()!; expect(target.parent, isA()); - final SliverPhysicalParentData parentData = target.parentData as SliverPhysicalParentData; + final SliverPhysicalParentData parentData = target.parentData! as SliverPhysicalParentData; final Offset actual = parentData.paintOffset; expect(actual, ideal); } @@ -57,7 +55,7 @@ void main() { class RenderBigSliver extends RenderSliver { static const double height = 550.0; - double get paintExtent => (height - constraints.scrollOffset).clamp(0.0, constraints.remainingPaintExtent) as double; + double get paintExtent => (height - constraints.scrollOffset).clamp(0.0, constraints.remainingPaintExtent); @override void performLayout() { @@ -70,7 +68,7 @@ class RenderBigSliver extends RenderSliver { } class BigSliver extends LeafRenderObjectWidget { - const BigSliver({ Key key }) : super(key: key); + const BigSliver({ Key? key }) : super(key: key); @override RenderBigSliver createRenderObject(BuildContext context) { return RenderBigSliver(); @@ -92,7 +90,7 @@ class RenderOverlappingSliver extends RenderSliver { } double get layoutExtent { - return (totalHeight - constraints.scrollOffset).clamp(0.0, constraints.remainingPaintExtent) as double; + return (totalHeight - constraints.scrollOffset).clamp(0.0, constraints.remainingPaintExtent); } @override @@ -107,7 +105,7 @@ class RenderOverlappingSliver extends RenderSliver { } class OverlappingSliver extends LeafRenderObjectWidget { - const OverlappingSliver({ Key key }) : super(key: key); + const OverlappingSliver({ Key? key }) : super(key: key); @override RenderOverlappingSliver createRenderObject(BuildContext context) { return RenderOverlappingSliver(); diff --git a/packages/flutter/test/widgets/slivers_test.dart b/packages/flutter/test/widgets/slivers_test.dart index 59b4258630..17bb093061 100644 --- a/packages/flutter/test/widgets/slivers_test.dart +++ b/packages/flutter/test/widgets/slivers_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; @@ -51,9 +49,7 @@ Future testSliverFixedExtentList(WidgetTester tester, List items) childCount : items.length, findChildIndexCallback: (Key key) { final ValueKey valueKey = key as ValueKey; - final String data = valueKey.value; - final int index = items.indexOf(data); - return index == -1 ? null : index; + return items.indexOf(valueKey.value); }, ), ), @@ -68,7 +64,7 @@ void verify(WidgetTester tester, List idealPositions, List idealVi (RenderBox target) => target.localToGlobal(const Offset(0.0, 0.0)) ).toList(); final List actualVisibles = tester.renderObjectList(find.byType(SliverToBoxAdapter, skipOffstage: false)).map( - (RenderSliverToBoxAdapter target) => target.geometry.visible + (RenderSliverToBoxAdapter target) => target.geometry!.visible ).toList(); expect(actualPositions, equals(idealPositions)); expect(actualVisibles, equals(idealVisibles)); @@ -497,7 +493,7 @@ void main() { addRepaintBoundaries: false, addSemanticIndexes: false, ); - final KeyedSubtree wrapped = builderThrowsDelegate.build(_NullBuildContext(), 0) as KeyedSubtree; + final KeyedSubtree wrapped = builderThrowsDelegate.build(_NullBuildContext(), 0)! as KeyedSubtree; expect(wrapped.child, errorText); expect(tester.takeException(), 'builder'); ErrorWidget.builder = oldBuilder; @@ -614,8 +610,8 @@ void main() { expect(semantics.nodesWith(label: 'a'), hasLength(0)); expect(find.byType(Text), findsNothing); final RenderViewport renderViewport = tester.renderObject(find.byType(Viewport)); - final RenderSliver renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + final RenderSliver renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(find.byType(SliverOffstage), findsNothing); }); @@ -633,8 +629,8 @@ void main() { expect(semantics.nodesWith(label: 'a'), hasLength(1)); expect(find.byType(Text), findsOneWidget); final RenderViewport renderViewport = tester.renderObject(find.byType(Viewport)); - final RenderSliver renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + final RenderSliver renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(find.byType(SliverOffstage), paints..paragraph()); }); }); @@ -945,7 +941,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, { Key key }) : super(key: key); + const TestSliverGrid(this.children, { Key? key }) : super(key: key); final List children; @@ -1003,7 +999,7 @@ class _TestArbitrarySliverGridLayout implements SliverGridLayout { } class TestSliverFixedExtentList extends StatelessWidget { - const TestSliverFixedExtentList(this.children, { Key key }) : super(key: key); + const TestSliverFixedExtentList(this.children, { Key? key }) : super(key: key); final List children; @@ -1026,7 +1022,7 @@ class TestSliverFixedExtentList extends StatelessWidget { } class KeepAlive extends StatefulWidget { - const KeepAlive(this.data, { Key key }) : super(key: key); + const KeepAlive(this.data, { Key? key }) : super(key: key); final String data; diff --git a/packages/flutter/test/widgets/spacer_test.dart b/packages/flutter/test/widgets/spacer_test.dart index cd551a000e..eb196bdbed 100644 --- a/packages/flutter/test/widgets/spacer_test.dart +++ b/packages/flutter/test/widgets/spacer_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; diff --git a/packages/flutter/test/widgets/stack_test.dart b/packages/flutter/test/widgets/stack_test.dart index b676f5dda8..bd97c216ac 100644 --- a/packages/flutter/test/widgets/stack_test.dart +++ b/packages/flutter/test/widgets/stack_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; @@ -61,7 +59,7 @@ void main() { StackParentData parentData; container = tester.element(find.byKey(key)); - parentData = container.renderObject.parentData as StackParentData; + parentData = container.renderObject!.parentData! as StackParentData; expect(parentData.top, isNull); expect(parentData.right, isNull); expect(parentData.bottom, isNull); @@ -86,7 +84,7 @@ void main() { ); container = tester.element(find.byKey(key)); - parentData = container.renderObject.parentData as StackParentData; + parentData = container.renderObject!.parentData! as StackParentData; expect(parentData.top, isNull); expect(parentData.right, equals(10.0)); expect(parentData.bottom, isNull); @@ -108,7 +106,7 @@ void main() { Element containerElement = tester.element(find.byKey(key)); StackParentData parentData; - parentData = containerElement.renderObject.parentData as StackParentData; + parentData = containerElement.renderObject!.parentData! as StackParentData; expect(parentData.top, isNull); expect(parentData.right, isNull); expect(parentData.bottom, isNull); @@ -124,7 +122,7 @@ void main() { ); containerElement = tester.element(find.byKey(key)); - parentData = containerElement.renderObject.parentData as StackParentData; + parentData = containerElement.renderObject!.parentData! as StackParentData; expect(parentData.top, isNull); expect(parentData.right, isNull); expect(parentData.bottom, isNull); @@ -153,11 +151,11 @@ void main() { ); final Element child0 = tester.element(find.byKey(child0Key)); - final StackParentData child0RenderObjectParentData = child0.renderObject.parentData as StackParentData; + final StackParentData child0RenderObjectParentData = child0.renderObject!.parentData! as StackParentData; expect(child0RenderObjectParentData.offset, equals(const Offset(0.0, 0.0))); final Element child1 = tester.element(find.byKey(child1Key)); - final StackParentData child1RenderObjectParentData = child1.renderObject.parentData as StackParentData; + final StackParentData child1RenderObjectParentData = child1.renderObject!.parentData! as StackParentData; expect(child1RenderObjectParentData.offset, equals(const Offset(5.0, 5.0))); await tester.pumpWidget( @@ -199,11 +197,11 @@ void main() { ); final Element child0 = tester.element(find.byKey(child0Key)); - final StackParentData child0RenderObjectParentData = child0.renderObject.parentData as StackParentData; + final StackParentData child0RenderObjectParentData = child0.renderObject!.parentData! as StackParentData; expect(child0RenderObjectParentData.offset, equals(const Offset(0.0, 0.0))); final Element child1 = tester.element(find.byKey(child1Key)); - final StackParentData child1RenderObjectParentData = child1.renderObject.parentData as StackParentData; + final StackParentData child1RenderObjectParentData = child1.renderObject!.parentData! as StackParentData; expect(child1RenderObjectParentData.offset, equals(const Offset(5.0, 5.0))); await tester.pumpWidget( @@ -245,7 +243,7 @@ void main() { testWidgets('Can construct an IndexedStack', (WidgetTester tester) async { const int itemCount = 3; - List itemsPainted; + late List itemsPainted; Widget buildFrame(int index) { itemsPainted = []; @@ -282,7 +280,7 @@ void main() { testWidgets('Can hit test an IndexedStack', (WidgetTester tester) async { const Key key = Key('indexedStack'); const int itemCount = 3; - List itemsTapped; + late List itemsTapped; Widget buildFrame(int index) { itemsTapped = []; @@ -336,8 +334,8 @@ void main() { StackParentData parentData; box = tester.element(find.byKey(key)); - renderBox = box.renderObject as RenderBox; - parentData = renderBox.parentData as StackParentData; + renderBox = box.renderObject! as RenderBox; + parentData = renderBox.parentData! as StackParentData; expect(parentData.top, isNull); expect(parentData.right, isNull); expect(parentData.bottom, isNull); @@ -364,8 +362,8 @@ void main() { ); box = tester.element(find.byKey(key)); - renderBox = box.renderObject as RenderBox; - parentData = renderBox.parentData as StackParentData; + renderBox = box.renderObject! as RenderBox; + parentData = renderBox.parentData! as StackParentData; expect(parentData.top, isNull); expect(parentData.right, equals(10.0)); expect(parentData.bottom, isNull); @@ -388,7 +386,7 @@ void main() { }); testWidgets('IndexedStack with null index', (WidgetTester tester) async { - bool tapped; + bool? tapped; await tester.pumpWidget( Directionality( 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 071af410e7..2158c35e56 100644 --- a/packages/flutter/test/widgets/state_setting_in_scrollables_test.dart +++ b/packages/flutter/test/widgets/state_setting_in_scrollables_test.dart @@ -2,13 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; class Foo extends StatefulWidget { - const Foo({ Key key }) : super(key: key); + const Foo({ Key? key }) : super(key: key); @override FooState createState() => FooState(); } diff --git a/packages/flutter/test/widgets/stateful_component_test.dart b/packages/flutter/test/widgets/stateful_component_test.dart index 9b9b5501ae..b67042c4f0 100644 --- a/packages/flutter/test/widgets/stateful_component_test.dart +++ b/packages/flutter/test/widgets/stateful_component_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; diff --git a/packages/flutter/test/widgets/stateful_components_test.dart b/packages/flutter/test/widgets/stateful_components_test.dart index 777a82090a..ea08f25e53 100644 --- a/packages/flutter/test/widgets/stateful_components_test.dart +++ b/packages/flutter/test/widgets/stateful_components_test.dart @@ -2,13 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; class InnerWidget extends StatefulWidget { - const InnerWidget({ Key key }) : super(key: key); + const InnerWidget({ Key? key }) : super(key: key); @override InnerWidgetState createState() => InnerWidgetState(); @@ -30,7 +28,7 @@ class InnerWidgetState extends State { } class OuterContainer extends StatefulWidget { - const OuterContainer({ Key key, this.child }) : super(key: key); + const OuterContainer({ Key? key, required this.child }) : super(key: key); final InnerWidget child; @@ -61,7 +59,7 @@ void main() { final InnerWidgetState innerElementState = innerElement.state as InnerWidgetState; expect(innerElementState.widget, equals(inner1)); expect(innerElementState._didInitState, isTrue); - expect(innerElement.renderObject.attached, isTrue); + expect(innerElement.renderObject!.attached, isTrue); inner2 = const InnerWidget(key: innerKey); outer2 = OuterContainer(key: outerKey, child: inner2); @@ -73,7 +71,7 @@ void main() { expect(innerElementState.widget, equals(inner2)); expect(innerElementState._didInitState, isTrue); - expect(innerElement.renderObject.attached, isTrue); + expect(innerElement.renderObject!.attached, isTrue); final StatefulElement outerElement = tester.element(find.byKey(outerKey)); expect(outerElement.state.widget, equals(outer2)); @@ -83,6 +81,6 @@ void main() { expect(tester.element(find.byKey(innerKey)), equals(innerElement)); expect(innerElement.state, equals(innerElementState)); expect(innerElementState.widget, equals(inner2)); - expect(innerElement.renderObject.attached, isTrue); + expect(innerElement.renderObject!.attached, isTrue); }); } diff --git a/packages/flutter/test/widgets/status_transitions_test.dart b/packages/flutter/test/widgets/status_transitions_test.dart index ce1581347f..0f826ce719 100644 --- a/packages/flutter/test/widgets/status_transitions_test.dart +++ b/packages/flutter/test/widgets/status_transitions_test.dart @@ -2,16 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; class TestStatusTransitionWidget extends StatusTransitionWidget { const TestStatusTransitionWidget({ - Key key, - this.builder, - Animation animation, + Key? key, + required this.builder, + required Animation animation, }) : super(key: key, animation: animation); final WidgetBuilder builder; diff --git a/packages/flutter/test/widgets/syncing_test.dart b/packages/flutter/test/widgets/syncing_test.dart index 56c4920bff..fdeaddbb31 100644 --- a/packages/flutter/test/widgets/syncing_test.dart +++ b/packages/flutter/test/widgets/syncing_test.dart @@ -2,17 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; class TestWidget extends StatefulWidget { const TestWidget({ - Key key, - this.child, - this.persistentState, - this.syncedState, + Key? key, + required this.child, + required this.persistentState, + required this.syncedState, }) : super(key: key); final Widget child; @@ -24,8 +22,8 @@ class TestWidget extends StatefulWidget { } class TestWidgetState extends State { - int persistentState; - int syncedState; + late int persistentState; + late int syncedState; int updates = 0; @override @@ -56,6 +54,7 @@ void main() { child: Container( child: TestWidget( persistentState: 1, + syncedState: 0, child: Container(), ), ), @@ -72,6 +71,7 @@ void main() { child: Container( child: TestWidget( persistentState: 2, + syncedState: 0, child: Container(), ), ), @@ -90,6 +90,7 @@ void main() { child: Container( child: TestWidget( persistentState: 10, + syncedState: 0, child: Container(), ), ), @@ -105,6 +106,7 @@ void main() { Container( child: TestWidget( persistentState: 11, + syncedState: 0, child: Container(), ), ), diff --git a/packages/flutter/test/widgets/table_test.dart b/packages/flutter/test/widgets/table_test.dart index 44c75219da..53920df123 100644 --- a/packages/flutter/test/widgets/table_test.dart +++ b/packages/flutter/test/widgets/table_test.dart @@ -2,15 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter/material.dart'; class TestStatefulWidget extends StatefulWidget { - const TestStatefulWidget({ Key key }) : super(key: key); + const TestStatefulWidget({ Key? key }) : super(key: key); @override TestStatefulWidgetState createState() => TestStatefulWidgetState(); @@ -22,7 +20,7 @@ class TestStatefulWidgetState extends State { } class TestChildWidget extends StatefulWidget { - const TestChildWidget({ Key key }) : super(key: key); + const TestChildWidget({ Key? key }) : super(key: key); @override TestChildState createState() => TestChildState(); @@ -877,7 +875,7 @@ void main() { ), ); await tester.pumpWidget(table); - final RenderObjectElement element = key0.currentContext as RenderObjectElement; + final RenderObjectElement element = key0.currentContext! as RenderObjectElement; expect(element, hasAGoodToStringDeep); expect( element.toStringDeep(minLevel: DiagnosticLevel.info), @@ -959,7 +957,7 @@ void main() { testWidgets( 'Table widget requires all TableRows to have non-null children', (WidgetTester tester) async { - FlutterError error; + FlutterError? error; try { await tester.pumpWidget( Directionality( @@ -976,7 +974,7 @@ void main() { error = e; } finally { expect(error, isNotNull); - expect(error.toStringDeep(), contains('The children property of TableRow must not be null.')); + expect(error!.toStringDeep(), contains('The children property of TableRow must not be null.')); } }); diff --git a/packages/flutter/test/widgets/text_golden_test.dart b/packages/flutter/test/widgets/text_golden_test.dart index 3f38ee19af..2247518d5e 100644 --- a/packages/flutter/test/widgets/text_golden_test.dart +++ b/packages/flutter/test/widgets/text_golden_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - @TestOn('!chrome') // Flaky on web import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/material.dart'; diff --git a/packages/flutter/test/widgets/text_selection_test.dart b/packages/flutter/test/widgets/text_selection_test.dart index ca2429f2f8..9af368d577 100644 --- a/packages/flutter/test/widgets/text_selection_test.dart +++ b/packages/flutter/test/widgets/text_selection_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/gestures.dart' show PointerDeviceKind; import 'package:flutter/material.dart'; @@ -18,7 +16,7 @@ class MockClipboard { final bool getDataThrows; - Object _clipboardData = { + dynamic _clipboardData = { 'text': null, }; @@ -36,16 +34,16 @@ class MockClipboard { } void main() { - int tapCount; - int singleTapUpCount; - int singleTapCancelCount; - int singleLongTapStartCount; - int doubleTapDownCount; - int forcePressStartCount; - int forcePressEndCount; - int dragStartCount; - int dragUpdateCount; - int dragEndCount; + late int tapCount; + late int singleTapUpCount; + late int singleTapCancelCount; + late int singleLongTapStartCount; + late int doubleTapDownCount; + late int forcePressStartCount; + late int forcePressEndCount; + late int dragStartCount; + late int dragUpdateCount; + late int dragEndCount; const Offset forcePressOffset = Offset(400.0, 50.0); void _handleTapDown(TapDownDetails details) { tapCount++; } @@ -687,9 +685,9 @@ void main() { class FakeTextSelectionGestureDetectorBuilderDelegate implements TextSelectionGestureDetectorBuilderDelegate { FakeTextSelectionGestureDetectorBuilderDelegate({ - this.editableTextKey, - this.forcePressEnabled, - this.selectionEnabled, + required this.editableTextKey, + required this.forcePressEnabled, + required this.selectionEnabled, }); @override @@ -703,7 +701,7 @@ class FakeTextSelectionGestureDetectorBuilderDelegate implements TextSelectionGe } class FakeEditableText extends EditableText { - FakeEditableText({Key key}): super( + FakeEditableText({Key? key}): super( key: key, controller: TextEditingController(), focusNode: FocusNode(), @@ -721,7 +719,7 @@ class FakeEditableTextState extends EditableTextState { bool showToolbarCalled = false; @override - RenderEditable get renderEditable => _editableKey.currentContext.findRenderObject() as RenderEditable; + RenderEditable get renderEditable => _editableKey.currentContext!.findRenderObject()! as RenderEditable; @override bool showToolbar() { @@ -739,7 +737,7 @@ class FakeEditableTextState extends EditableTextState { class FakeEditable extends LeafRenderObjectWidget { const FakeEditable( this.delegate, { - Key key, + Key? key, }) : super(key: key); final EditableTextState delegate; @@ -769,25 +767,25 @@ class FakeRenderEditable extends RenderEditable { bool selectWordsInRangeCalled = false; @override - void selectWordsInRange({ @required Offset from, Offset to, @required SelectionChangedCause cause }) { + void selectWordsInRange({ required Offset from, Offset? to, required SelectionChangedCause cause }) { selectWordsInRangeCalled = true; } bool selectWordEdgeCalled = false; @override - void selectWordEdge({ @required SelectionChangedCause cause }) { + void selectWordEdge({ required SelectionChangedCause cause }) { selectWordEdgeCalled = true; } bool selectPositionAtCalled = false; @override - void selectPositionAt({ @required Offset from, Offset to, @required SelectionChangedCause cause }) { + void selectPositionAt({ required Offset from, Offset? to, required SelectionChangedCause cause }) { selectPositionAtCalled = true; } bool selectWordCalled = false; @override - void selectWord({ @required SelectionChangedCause cause }) { + void selectWord({ required SelectionChangedCause cause }) { selectWordCalled = true; } } diff --git a/packages/flutter/test/widgets/text_semantics_test.dart b/packages/flutter/test/widgets/text_semantics_test.dart index da719111ce..dc7e0ff997 100644 --- a/packages/flutter/test/widgets/text_semantics_test.dart +++ b/packages/flutter/test/widgets/text_semantics_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/gestures.dart'; diff --git a/packages/flutter/test/widgets/text_test.dart b/packages/flutter/test/widgets/text_test.dart index a2797001a2..7e04199a6f 100644 --- a/packages/flutter/test/widgets/text_test.dart +++ b/packages/flutter/test/widgets/text_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'dart:ui' as ui; import 'package:flutter_test/flutter_test.dart'; @@ -127,7 +125,7 @@ void main() { final RichText text = tester.firstWidget(find.byType(RichText)); expect(text, isNotNull); - expect(text.text.style.fontSize, 20.0); + expect(text.text.style!.fontSize, 20.0); }); testWidgets('inline widgets works with ellipsis', (WidgetTester tester) async { @@ -1007,7 +1005,11 @@ void main() { }, semanticsEnabled: true, skip: isBrowser); // Browser semantics have different sizes. } -Future _pumpTextWidget({ WidgetTester tester, String text, TextOverflow overflow }) { +Future _pumpTextWidget({ + required WidgetTester tester, + required String text, + required TextOverflow overflow, +}) { return tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, diff --git a/packages/flutter/test/widgets/texture_test.dart b/packages/flutter/test/widgets/texture_test.dart index 575af6d5c7..6ad326dc24 100644 --- a/packages/flutter/test/widgets/texture_test.dart +++ b/packages/flutter/test/widgets/texture_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; @@ -29,7 +27,7 @@ void main() { final ContainerLayer containerLayer = ContainerLayer(); final PaintingContext paintingContext = PaintingContext(containerLayer, Rect.zero); textureBox.paint(paintingContext, Offset.zero); - final Layer layer = containerLayer.lastChild; + final Layer layer = containerLayer.lastChild!; expect(layer, isNotNull); final TextureLayer textureLayer = layer as TextureLayer; expect(textureLayer, isNotNull); @@ -58,7 +56,7 @@ void main() { final ContainerLayer containerLayer = ContainerLayer(); final PaintingContext paintingContext = PaintingContext(containerLayer, Rect.zero); textureBox.paint(paintingContext, Offset.zero); - final Layer layer = containerLayer.lastChild; + final Layer layer = containerLayer.lastChild!; expect(layer, isNotNull); final TextureLayer textureLayer = layer as TextureLayer; expect(textureLayer, isNotNull); @@ -86,7 +84,7 @@ void main() { final ContainerLayer containerLayer = ContainerLayer(); final PaintingContext paintingContext = PaintingContext(containerLayer, Rect.zero); textureBox.paint(paintingContext, Offset.zero); - final Layer layer = containerLayer.lastChild; + final Layer layer = containerLayer.lastChild!; expect(layer, isNotNull); final TextureLayer textureLayer = layer as TextureLayer; expect(textureLayer, isNotNull); diff --git a/packages/flutter/test/widgets/ticker_mode_test.dart b/packages/flutter/test/widgets/ticker_mode_test.dart index cb32eb376c..60a8273023 100644 --- a/packages/flutter/test/widgets/ticker_mode_test.dart +++ b/packages/flutter/test/widgets/ticker_mode_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter/scheduler.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -13,7 +11,7 @@ void main() { int outerTickCount = 0; int innerTickCount = 0; - Widget nestedTickerModes({bool innerEnabled, bool outerEnabled}) { + Widget nestedTickerModes({required bool innerEnabled, required bool outerEnabled}) { return Directionality( textDirection: TextDirection.rtl, child: TickerMode( @@ -103,7 +101,7 @@ void main() { } class _TickingWidget extends StatefulWidget { - const _TickingWidget({this.onTick}); + const _TickingWidget({required this.onTick}); final VoidCallback onTick; @@ -112,7 +110,7 @@ class _TickingWidget extends StatefulWidget { } class _TickingWidgetState extends State<_TickingWidget> with SingleTickerProviderStateMixin { - Ticker _ticker; + late Ticker _ticker; @override void initState() { diff --git a/packages/flutter/test/widgets/ticker_provider_test.dart b/packages/flutter/test/widgets/ticker_provider_test.dart index 70ea6a5d6f..63364f8079 100644 --- a/packages/flutter/test/widgets/ticker_provider_test.dart +++ b/packages/flutter/test/widgets/ticker_provider_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter/foundation.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -104,15 +102,15 @@ void main() { child: _SingleTickerTest(key: key), ); await tester.pumpWidget(widget); - FlutterError error; - key.currentState.controller.repeat(); + FlutterError? error; + key.currentState!.controller.repeat(); try { - key.currentState.dispose(); + key.currentState!.dispose(); } on FlutterError catch (e) { error = e; } finally { expect(error, isNotNull); - expect(error.diagnostics.length, 4); + expect(error!.diagnostics.length, 4); expect(error.diagnostics[2].level, DiagnosticLevel.hint); expect( error.diagnostics[2].toStringDeep(), @@ -137,7 +135,7 @@ void main() { ' created))\n' ' The stack trace when the Ticker was actually created was:' )); - key.currentState.controller.stop(); + key.currentState!.controller.stop(); } }); @@ -147,15 +145,15 @@ void main() { child: _SingleTickerTest(key: key), ); await tester.pumpWidget(widget); - FlutterError error; - key.currentState.controller.repeat(); + FlutterError? error; + key.currentState!.controller.repeat(); try { - key.currentState.dispose(); + key.currentState!.dispose(); } on FlutterError catch (e) { error = e; } finally { expect(error, isNotNull); - expect(error.diagnostics.length, 4); + expect(error!.diagnostics.length, 4); expect(error.diagnostics[2].level, DiagnosticLevel.hint); expect( error.diagnostics[2].toStringDeep(), @@ -180,7 +178,7 @@ void main() { ' created))\n' ' The stack trace when the Ticker was actually created was:' )); - key.currentState.controller.stop(); + key.currentState!.controller.stop(); } }); @@ -190,15 +188,15 @@ void main() { child: _MultipleTickerTest(key: key), ); await tester.pumpWidget(widget); - FlutterError error; - key.currentState.controllers.first.repeat(); + FlutterError? error; + key.currentState!.controllers.first.repeat(); try { - key.currentState.dispose(); + key.currentState!.dispose(); } on FlutterError catch (e) { error = e; } finally { expect(error, isNotNull); - expect(error.diagnostics.length, 4); + expect(error!.diagnostics.length, 4); expect(error.diagnostics[2].level, DiagnosticLevel.hint); expect( error.diagnostics[2].toStringDeep(), @@ -223,14 +221,14 @@ void main() { ' _MultipleTickerTestState#00000(lifecycle state: created,\n' ' tickers: tracking 0 tickers))' )); - key.currentState.controllers.first.stop(); + key.currentState!.controllers.first.stop(); } }); }); } class BoringTickerTest extends StatefulWidget { - const BoringTickerTest({ Key key }) : super(key: key); + const BoringTickerTest({ Key? key }) : super(key: key); @override _BoringTickerTestState createState() => _BoringTickerTestState(); } @@ -241,14 +239,14 @@ class _BoringTickerTestState extends State with SingleTickerPr } class _SingleTickerTest extends StatefulWidget { - const _SingleTickerTest({Key key}) : super(key: key); + const _SingleTickerTest({Key? key}) : super(key: key); @override _SingleTickerTestState createState() => _SingleTickerTestState(); } class _SingleTickerTestState extends State<_SingleTickerTest> with SingleTickerProviderStateMixin { - AnimationController controller; + late AnimationController controller; @override void initState() { @@ -266,7 +264,7 @@ class _SingleTickerTestState extends State<_SingleTickerTest> with SingleTickerP } class _MultipleTickerTest extends StatefulWidget { - const _MultipleTickerTest({Key key}) : super(key: key); + const _MultipleTickerTest({Key? key}) : super(key: key); @override _MultipleTickerTestState createState() => _MultipleTickerTestState(); diff --git a/packages/flutter/test/widgets/title_test.dart b/packages/flutter/test/widgets/title_test.dart index 93852693dc..3c8a2ed6a5 100644 --- a/packages/flutter/test/widgets/title_test.dart +++ b/packages/flutter/test/widgets/title_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter/services.dart'; @@ -28,18 +26,6 @@ void main() { expect(widget.color, equals(const Color(0xFF00FF00))); }); - testWidgets('should not allow null title or color', (WidgetTester tester) async { - expect(() => Title( - title: null, - color: const Color(0xFF00FF00), - child: Container(), - ), throwsAssertionError); - expect(() => Title( - color: null, - child: Container(), - ), throwsAssertionError); - }); - testWidgets('should not allow non-opaque color', (WidgetTester tester) async { expect(() => Title( color: const Color(0x00000000), diff --git a/packages/flutter/test/widgets/tracking_scroll_controller_test.dart b/packages/flutter/test/widgets/tracking_scroll_controller_test.dart index 018cb3e64c..14b22ce5e7 100644 --- a/packages/flutter/test/widgets/tracking_scroll_controller_test.dart +++ b/packages/flutter/test/widgets/tracking_scroll_controller_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/packages/flutter/test/widgets/transform_test.dart b/packages/flutter/test/widgets/transform_test.dart index 9ebe7c3132..ef20c0a6fa 100644 --- a/packages/flutter/test/widgets/transform_test.dart +++ b/packages/flutter/test/widgets/transform_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'dart:math' as math; import 'dart:ui' as ui; @@ -255,7 +253,7 @@ void main() { expect(layers.length, 2); // The first transform is from the render view. final TransformLayer layer = layers[1] as TransformLayer; - final Matrix4 transform = layer.transform; + final Matrix4 transform = layer.transform!; expect(transform.getTranslation(), equals(Vector3(100.0, 75.0, 0.0))); }); @@ -272,7 +270,7 @@ void main() { expect(layers.length, 2); // The first transform is from the render view. final TransformLayer layer = layers[1] as TransformLayer; - final Matrix4 transform = layer.transform; + final Matrix4 transform = layer.transform!; expect(transform.storage, [ moreOrLessEquals(0.0), 1.0, 0.0, 0.0, -1.0, moreOrLessEquals(0.0), 0.0, 0.0, @@ -327,7 +325,7 @@ void main() { expect(layers.length, 2); // The first transform is from the render view. final TransformLayer layer = layers[1] as TransformLayer; - final Matrix4 transform = layer.transform; + final Matrix4 transform = layer.transform!; expect(transform.storage, [ // These are column-major, not row-major. 2.0, 0.0, 0.0, 0.0, @@ -380,8 +378,8 @@ void main() { (WidgetTester tester) async { for (double angle = 0; angle <= math.pi/4; angle += 0.01) { await tester.pumpWidget(RepaintBoundary(child: _generateTransform(true, angle))); - final RenderBox renderBox = tester.binding.renderView.child; - final OffsetLayer layer = renderBox.debugLayer as OffsetLayer; + final RenderBox renderBox = tester.binding.renderView.child!; + final OffsetLayer layer = renderBox.debugLayer! as OffsetLayer; final ui.Image imageWithCompositing = await layer.toImage(renderBox.paintBounds); await tester.pumpWidget(RepaintBoundary(child: _generateTransform(false, angle))); diff --git a/packages/flutter/test/widgets/transformed_scrollable_test.dart b/packages/flutter/test/widgets/transformed_scrollable_test.dart index 144e6730fa..5f78398d9b 100644 --- a/packages/flutter/test/widgets/transformed_scrollable_test.dart +++ b/packages/flutter/test/widgets/transformed_scrollable_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'dart:math' as math; import 'package:flutter/material.dart';