diff --git a/packages/flutter/lib/src/widgets/sliver.dart b/packages/flutter/lib/src/widgets/sliver.dart index f4e131f264..94b3fc2f92 100644 --- a/packages/flutter/lib/src/widgets/sliver.dart +++ b/packages/flutter/lib/src/widgets/sliver.dart @@ -213,11 +213,13 @@ class _SaltedValueKey extends ValueKey{ const _SaltedValueKey(Key key): assert(key != null), super(key); } -/// Called to find the new index of a child based on its key in case of +/// Called to find the new index of a child based on its `key` in case of /// reordering. /// +/// If the child with the `key` is no longer present, null is returned. +/// /// Used by [SliverChildBuilderDelegate.findChildIndexCallback]. -typedef ChildIndexGetter = int Function(Key key); +typedef ChildIndexGetter = int? Function(Key key); /// A delegate that supplies children for slivers using a builder callback. /// @@ -424,8 +426,8 @@ class SliverChildBuilderDelegate extends SliverChildDelegate { /// when the order in which children are returned from [builder] changes. /// This may result in state-loss. /// - /// This callback should take an input [Key], and It should return the - /// index of the child element with associated key, null if not found. + /// This callback should take an input [Key], and it should return the + /// index of the child element with that associated key, or null if not found. final ChildIndexGetter? findChildIndexCallback; @override diff --git a/packages/flutter/test/widgets/semantics_test.dart b/packages/flutter/test/widgets/semantics_test.dart index 120592fb4b..c05adac827 100644 --- a/packages/flutter/test/widgets/semantics_test.dart +++ b/packages/flutter/test/widgets/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 'dart:math'; import 'dart:ui'; @@ -21,7 +19,7 @@ void main() { }); testWidgets('Semantics shutdown and restart', (WidgetTester tester) async { - SemanticsTester semantics = SemanticsTester(tester); + SemanticsTester? semantics = SemanticsTester(tester); final TestSemantics expectedSemantics = TestSemantics.root( children: [ @@ -436,7 +434,7 @@ void main() { expect(semantics, hasSemantics(expectedSemantics)); // Do the actions work? - final SemanticsOwner semanticsOwner = tester.binding.pipelineOwner.semanticsOwner; + final SemanticsOwner semanticsOwner = tester.binding.pipelineOwner.semanticsOwner!; int expectedLength = 1; for (final SemanticsAction action in allActions) { switch (action) { @@ -574,7 +572,7 @@ void main() { ], ); - final SemanticsOwner semanticsOwner = tester.binding.pipelineOwner.semanticsOwner; + final SemanticsOwner semanticsOwner = tester.binding.pipelineOwner.semanticsOwner!; expect(semantics, hasSemantics(expectedSemantics)); semanticsOwner.performAction(expectedId, SemanticsAction.tap); @@ -1101,5 +1099,5 @@ void main() { } class CustomSortKey extends OrdinalSortKey { - const CustomSortKey(double order, {String name}) : super(order, name: name); + const CustomSortKey(double order, {String? name}) : super(order, name: name); } diff --git a/packages/flutter/test/widgets/semantics_tester_generateTestSemanticsExpressionForCurrentSemanticsTree_test.dart b/packages/flutter/test/widgets/semantics_tester_generateTestSemanticsExpressionForCurrentSemanticsTree_test.dart index f340cae4dd..87061dfa7f 100644 --- a/packages/flutter/test/widgets/semantics_tester_generateTestSemanticsExpressionForCurrentSemanticsTree_test.dart +++ b/packages/flutter/test/widgets/semantics_tester_generateTestSemanticsExpressionForCurrentSemanticsTree_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') import 'dart:io'; @@ -62,10 +60,10 @@ void _tests() { .join('\n') .trim() + ','; - File findThisTestFile(Directory directory) { + File? findThisTestFile(Directory directory) { for (final FileSystemEntity entity in directory.listSync()) { if (entity is Directory) { - final File childSearch = findThisTestFile(entity); + final File? childSearch = findThisTestFile(entity); if (childSearch != null) { return childSearch; } @@ -76,7 +74,7 @@ void _tests() { return null; } - final File thisTestFile = findThisTestFile(Directory.current); + final File thisTestFile = findThisTestFile(Directory.current)!; expect(thisTestFile, isNotNull); String expectedCode = thisTestFile.readAsStringSync(); expectedCode = expectedCode.substring( diff --git a/packages/flutter/test/widgets/semantics_tester_test.dart b/packages/flutter/test/widgets/semantics_tester_test.dart index 4024d95178..d5d8d33de0 100644 --- a/packages/flutter/test/widgets/semantics_tester_test.dart +++ b/packages/flutter/test/widgets/semantics_tester_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/gestures.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/packages/flutter/test/widgets/semantics_traversal_test.dart b/packages/flutter/test/widgets/semantics_traversal_test.dart index 5cb4042546..825c8cf08c 100644 --- a/packages/flutter/test/widgets/semantics_traversal_test.dart +++ b/packages/flutter/test/widgets/semantics_traversal_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:collection'; import 'dart:math' as math; import 'dart:ui'; @@ -293,9 +291,9 @@ class TraversalTester { final SemanticsTester semantics; Future test({ - TextDirection textDirection, - Map children, - String expectedTraversal, + required TextDirection textDirection, + required Map children, + required String expectedTraversal, }) async { assert(children is LinkedHashMap); await tester.pumpWidget( @@ -314,8 +312,8 @@ class TraversalTester { explicitChildNodes: true, label: label, child: SizedBox( - width: children[label].width, - height: children[label].height, + width: children[label]!.width, + height: children[label]!.height, ), ), ); diff --git a/packages/flutter/test/widgets/semantics_zero_surface_size_test.dart b/packages/flutter/test/widgets/semantics_zero_surface_size_test.dart index 3b801c02fd..7529e7e3da 100644 --- a/packages/flutter/test/widgets/semantics_zero_surface_size_test.dart +++ b/packages/flutter/test/widgets/semantics_zero_surface_size_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'; diff --git a/packages/flutter/test/widgets/set_state_1_test.dart b/packages/flutter/test/widgets/set_state_1_test.dart index 150ddd2cc9..38f05db12b 100644 --- a/packages/flutter/test/widgets/set_state_1_test.dart +++ b/packages/flutter/test/widgets/set_state_1_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 Inside extends StatefulWidget { - const Inside({ Key key }) : super(key: key); + const Inside({ Key? key }) : super(key: key); @override InsideState createState() => InsideState(); } @@ -29,11 +27,11 @@ class InsideState extends State { class Middle extends StatefulWidget { const Middle({ - Key key, + Key? key, this.child, }) : super(key: key); - final Inside child; + final Inside? child; @override MiddleState createState() => MiddleState(); @@ -54,7 +52,7 @@ class MiddleState extends State { } class Outside extends StatefulWidget { - const Outside({ Key key }) : super(key: key); + const Outside({ Key? key }) : super(key: key); @override OutsideState createState() => OutsideState(); } diff --git a/packages/flutter/test/widgets/set_state_2_test.dart b/packages/flutter/test/widgets/set_state_2_test.dart index 5b2cf13231..60eb3f669e 100644 --- a/packages/flutter/test/widgets/set_state_2_test.dart +++ b/packages/flutter/test/widgets/set_state_2_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/set_state_3_test.dart b/packages/flutter/test/widgets/set_state_3_test.dart index 1e9b537afb..5ffc6e07ba 100644 --- a/packages/flutter/test/widgets/set_state_3_test.dart +++ b/packages/flutter/test/widgets/set_state_3_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/widgets.dart'; -ChangerState changer; +late ChangerState changer; class Changer extends StatefulWidget { - const Changer(this.child, { Key key }) : super(key: key); + const Changer(this.child, { Key? key }) : super(key: key); final Widget child; @@ -34,7 +32,7 @@ class ChangerState extends State { } class Wrapper extends StatelessWidget { - const Wrapper(this.child, { Key key }) : super(key: key); + const Wrapper(this.child, { Key? key }) : super(key: key); final Widget child; @@ -43,7 +41,7 @@ class Wrapper extends StatelessWidget { } class Leaf extends StatefulWidget { - const Leaf({ Key key }) : super(key: key); + const Leaf({ Key? key }) : super(key: key); @override LeafState createState() => LeafState(); } diff --git a/packages/flutter/test/widgets/set_state_4_test.dart b/packages/flutter/test/widgets/set_state_4_test.dart index c65d6eafa2..8e85d27c62 100644 --- a/packages/flutter/test/widgets/set_state_4_test.dart +++ b/packages/flutter/test/widgets/set_state_4_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 Changer extends StatefulWidget { - const Changer({ Key key }) : super(key: key); + const Changer({ Key? key }) : super(key: key); @override ChangerState createState() => ChangerState(); } diff --git a/packages/flutter/test/widgets/set_state_5_test.dart b/packages/flutter/test/widgets/set_state_5_test.dart index 27969d3948..4d5d1c09ff 100644 --- a/packages/flutter/test/widgets/set_state_5_test.dart +++ b/packages/flutter/test/widgets/set_state_5_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 BadWidget extends StatefulWidget { - const BadWidget({ Key key }) : super(key: key); + const BadWidget({ Key? key }) : super(key: key); @override State createState() => BadWidgetState(); } diff --git a/packages/flutter/test/widgets/shader_mask_test.dart b/packages/flutter/test/widgets/shader_mask_test.dart index 40605ad65f..66b836a320 100644 --- a/packages/flutter/test/widgets/shader_mask_test.dart +++ b/packages/flutter/test/widgets/shader_mask_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' show Shader; import 'package:flutter_test/flutter_test.dart'; @@ -26,7 +24,7 @@ void main() { }, skip: isBrowser); // https://github.com/flutter/flutter/issues/44152 testWidgets('Bounds rect includes offset', (WidgetTester tester) async { - Rect shaderBounds; + late Rect shaderBounds; Shader recordShaderBounds(Rect bounds) { shaderBounds = bounds; return createShader(bounds); diff --git a/packages/flutter/test/widgets/shadow_test.dart b/packages/flutter/test/widgets/shadow_test.dart index 9f496511c7..0f005a912c 100644 --- a/packages/flutter/test/widgets/shadow_test.dart +++ b/packages/flutter/test/widgets/shadow_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/material.dart'; @@ -79,7 +77,7 @@ void main() { color: Colors.yellow[200], child: PhysicalModel( elevation: 9.0, - color: Colors.blue[900], + color: Colors.blue[900]!, child: const SizedBox( height: 100.0, width: 100.0, @@ -111,7 +109,7 @@ void main() { padding: const EdgeInsets.all(150.0), color: Colors.yellow[200], child: PhysicalShape( - color: Colors.green[900], + color: Colors.green[900]!, clipper: ShapeBorderClipper(shape: BeveledRectangleBorder( borderRadius: BorderRadius.circular(20.0))), elevation: elevation, diff --git a/packages/flutter/test/widgets/shape_decoration_test.dart b/packages/flutter/test/widgets/shape_decoration_test.dart index 525259080b..c45962ddff 100644 --- a/packages/flutter/test/widgets/shape_decoration_test.dart +++ b/packages/flutter/test/widgets/shape_decoration_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:typed_data'; import 'dart:ui' as ui show Image; diff --git a/packages/flutter/test/widgets/shortcuts_test.dart b/packages/flutter/test/widgets/shortcuts_test.dart index 2f9fbfadde..05cc15e841 100644 --- a/packages/flutter/test/widgets/shortcuts_test.dart +++ b/packages/flutter/test/widgets/shortcuts_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/material.dart'; import 'package:flutter/services.dart'; @@ -11,11 +9,11 @@ import 'package:flutter/src/services/keyboard_key.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; -typedef PostInvokeCallback = void Function({Action action, Intent intent, BuildContext context, ActionDispatcher dispatcher}); +typedef PostInvokeCallback = void Function({Action action, Intent intent, BuildContext? context, ActionDispatcher dispatcher}); class TestAction extends CallbackAction { TestAction({ - @required OnInvokeCallback onInvoke, + required OnInvokeCallback onInvoke, }) : assert(onInvoke != null), super(onInvoke: onInvoke); @@ -25,11 +23,11 @@ class TestAction extends CallbackAction { class TestDispatcher extends ActionDispatcher { const TestDispatcher({this.postInvoke}); - final PostInvokeCallback postInvoke; + final PostInvokeCallback? postInvoke; @override - Object invokeAction(Action action, Intent intent, [BuildContext context]) { - final Object result = super.invokeAction(action, intent, context); + Object? invokeAction(Action action, Intent intent, [BuildContext? context]) { + final Object? result = super.invokeAction(action, intent, context); postInvoke?.call(action: action, intent: intent, context: context, dispatcher: this); return result; } @@ -45,7 +43,7 @@ class TestShortcutManager extends ShortcutManager { List keys; @override - bool handleKeypress(BuildContext context, RawKeyEvent event, {LogicalKeySet keysPressed}) { + bool handleKeypress(BuildContext context, RawKeyEvent event, {LogicalKeySet? keysPressed}) { keys.add(event.logicalKey); return super.handleKeypress(context, event, keysPressed: keysPressed); } @@ -239,7 +237,7 @@ void main() { ), ); await tester.pump(); - expect(Shortcuts.of(containerKey.currentContext), isNotNull); + expect(Shortcuts.of(containerKey.currentContext!), isNotNull); await tester.sendKeyDownEvent(LogicalKeyboardKey.shiftLeft); expect(invoked, isTrue); expect(pressedKeys, equals([LogicalKeyboardKey.shiftLeft])); @@ -277,7 +275,7 @@ void main() { ), ); await tester.pump(); - expect(Shortcuts.of(containerKey.currentContext), isNotNull); + expect(Shortcuts.of(containerKey.currentContext!), isNotNull); await tester.sendKeyDownEvent(LogicalKeyboardKey.shiftLeft); expect(invoked, isTrue); expect(pressedKeys, equals([LogicalKeyboardKey.shiftLeft])); @@ -317,7 +315,7 @@ void main() { ), ); await tester.pump(); - expect(Shortcuts.of(containerKey.currentContext), isNotNull); + expect(Shortcuts.of(containerKey.currentContext!), isNotNull); await tester.sendKeyDownEvent(LogicalKeyboardKey.shiftLeft); expect(invoked, isFalse); expect(pressedKeys, isEmpty); diff --git a/packages/flutter/test/widgets/shrink_wrapping_viewport_test.dart b/packages/flutter/test/widgets/shrink_wrapping_viewport_test.dart index 5da232c863..f377e11d9d 100644 --- a/packages/flutter/test/widgets/shrink_wrapping_viewport_test.dart +++ b/packages/flutter/test/widgets/shrink_wrapping_viewport_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/material.dart'; import 'package:flutter/rendering.dart'; diff --git a/packages/flutter/test/widgets/simple_semantics_test.dart b/packages/flutter/test/widgets/simple_semantics_test.dart index 16b6893e1d..2ec02ad946 100644 --- a/packages/flutter/test/widgets/simple_semantics_test.dart +++ b/packages/flutter/test/widgets/simple_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 'dart:ui'; import 'package:flutter/material.dart'; diff --git a/packages/flutter/test/widgets/single_child_scroll_view_test.dart b/packages/flutter/test/widgets/single_child_scroll_view_test.dart index 6b753dfe85..4243c3612f 100644 --- a/packages/flutter/test/widgets/single_child_scroll_view_test.dart +++ b/packages/flutter/test/widgets/single_child_scroll_view_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'; import 'package:flutter_test/flutter_test.dart'; @@ -15,10 +13,10 @@ import 'semantics_tester.dart'; class TestScrollPosition extends ScrollPositionWithSingleContext { TestScrollPosition({ - ScrollPhysics physics, - ScrollContext state, + required ScrollPhysics physics, + required ScrollContext state, double initialPixels = 0.0, - ScrollPosition oldPosition, + ScrollPosition? oldPosition, }) : super( physics: physics, context: state, @@ -29,7 +27,7 @@ class TestScrollPosition extends ScrollPositionWithSingleContext { class TestScrollController extends ScrollController { @override - ScrollPosition createScrollPosition(ScrollPhysics physics, ScrollContext context, ScrollPosition oldPosition) { + ScrollPosition createScrollPosition(ScrollPhysics physics, ScrollContext context, ScrollPosition? oldPosition) { return TestScrollPosition( physics: physics, state: context, @@ -53,7 +51,7 @@ void main() { ); // 1st, check that the render object has received the default clip behavior. - final dynamic renderObject = tester.allRenderObjects.where((RenderObject o) => o.runtimeType.toString() == '_RenderSingleChildViewport').first; + final dynamic renderObject = tester.allRenderObjects.where((RenderObject o) => o.runtimeType.toString() == '_RenderSingleChildViewport').first; // ignore: unnecessary_nullable_for_final_variable_declarations expect(renderObject.clipBehavior, equals(Clip.hardEdge)); // 2nd, height == widow.height test: check that the painting context does not call pushClipRect . @@ -107,7 +105,7 @@ void main() { await tester.pumpWidget(SingleChildScrollView(child: Container(height: 2000.0))); // 1st, check that the render object has received the default clip behavior. - final dynamic renderObject = tester.allRenderObjects.where((RenderObject o) => o.runtimeType.toString() == '_RenderSingleChildViewport').first; + final dynamic renderObject = tester.allRenderObjects.where((RenderObject o) => o.runtimeType.toString() == '_RenderSingleChildViewport').first; // ignore: unnecessary_nullable_for_final_variable_declarations expect(renderObject.clipBehavior, equals(Clip.hardEdge)); // 2nd, check that the painting context has received the default clip behavior. @@ -630,7 +628,15 @@ void main() { }); testWidgets('Nested SingleChildScrollView showOnScreen', (WidgetTester tester) async { - final List> children = List>(10); + final List> children = List>.generate(10, (int x) { + return List.generate(10, (int y) { + return SizedBox( + key: UniqueKey(), + height: 100.0, + width: 100.0, + ); + }); + }); ScrollController controllerX; ScrollController controllerY; @@ -665,17 +671,11 @@ void main() { controller: controllerX = ScrollController(initialScrollOffset: 400.0), scrollDirection: Axis.horizontal, child: Column( - children: List.generate(10, (int y) { + children: children.map((List widgets) { return Row( - children: children[y] = List.generate(10, (int x) { - return SizedBox( - key: UniqueKey(), - height: 100.0, - width: 100.0, - ); - }), + children: widgets, ); - }), + }).toList(), ), ), ), @@ -792,9 +792,9 @@ void main() { }); group('Nested SingleChildScrollView (same orientation) showOnScreen', () { - List children; + late List children; - Future buildNestedScroller({ WidgetTester tester, ScrollController inner, ScrollController outer }) { + Future buildNestedScroller({ required WidgetTester tester, ScrollController? inner, ScrollController? outer }) { return tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, 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 2690cd5e19..6f8c8c83c1 100644 --- a/packages/flutter/test/widgets/size_changed_layout_notification_test.dart +++ b/packages/flutter/test/widgets/size_changed_layout_notification_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/sized_box_test.dart b/packages/flutter/test/widgets/sized_box_test.dart index c986ee8ad6..50d175ef1d 100644 --- a/packages/flutter/test/widgets/sized_box_test.dart +++ b/packages/flutter/test/widgets/sized_box_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'; @@ -48,7 +46,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(0.0, 0.0))); + expect(patient.currentContext!.size, equals(const Size(0.0, 0.0))); await tester.pumpWidget( Center( @@ -58,7 +56,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(0.0, 0.0))); + expect(patient.currentContext!.size, equals(const Size(0.0, 0.0))); await tester.pumpWidget( Center( @@ -69,7 +67,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(0.0, 0.0))); + expect(patient.currentContext!.size, equals(const Size(0.0, 0.0))); await tester.pumpWidget( Center( @@ -80,7 +78,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(100.0, 100.0))); + expect(patient.currentContext!.size, equals(const Size(100.0, 100.0))); await tester.pumpWidget( Center( @@ -91,7 +89,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(800.0, 600.0))); + expect(patient.currentContext!.size, equals(const Size(800.0, 600.0))); await tester.pumpWidget( Center( @@ -100,7 +98,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(800.0, 600.0))); + expect(patient.currentContext!.size, equals(const Size(800.0, 600.0))); await tester.pumpWidget( Center( @@ -109,7 +107,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(0.0, 0.0))); + expect(patient.currentContext!.size, equals(const Size(0.0, 0.0))); }); testWidgets('SizedBox - container child', (WidgetTester tester) async { @@ -123,7 +121,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(800.0, 600.0))); + expect(patient.currentContext!.size, equals(const Size(800.0, 600.0))); await tester.pumpWidget( Center( @@ -134,7 +132,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(800.0, 0.0))); + expect(patient.currentContext!.size, equals(const Size(800.0, 0.0))); await tester.pumpWidget( Center( @@ -146,7 +144,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(0.0, 0.0))); + expect(patient.currentContext!.size, equals(const Size(0.0, 0.0))); await tester.pumpWidget( Center( @@ -158,7 +156,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(100.0, 100.0))); + expect(patient.currentContext!.size, equals(const Size(100.0, 100.0))); await tester.pumpWidget( Center( @@ -170,7 +168,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(800.0, 600.0))); + expect(patient.currentContext!.size, equals(const Size(800.0, 600.0))); await tester.pumpWidget( Center( @@ -180,7 +178,7 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(800.0, 600.0))); + expect(patient.currentContext!.size, equals(const Size(800.0, 600.0))); await tester.pumpWidget( Center( @@ -190,6 +188,6 @@ void main() { ), ), ); - expect(patient.currentContext.size, equals(const Size(0.0, 0.0))); + expect(patient.currentContext!.size, equals(const Size(0.0, 0.0))); }); } diff --git a/packages/flutter/test/widgets/sliver_appbar_opacity_test.dart b/packages/flutter/test/widgets/sliver_appbar_opacity_test.dart index f9bca3e33c..cb992b41ef 100644 --- a/packages/flutter/test/widgets/sliver_appbar_opacity_test.dart +++ b/packages/flutter/test/widgets/sliver_appbar_opacity_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/material.dart'; @@ -21,11 +19,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 0.0); + expect(render.text.style!.color!.opacity, 0.0); }); testWidgets('!pinned && !floating && bottom ==> fade opacity', (WidgetTester tester) async { @@ -40,11 +38,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 0.0); + expect(render.text.style!.color!.opacity, 0.0); }); testWidgets('!pinned && floating && !bottom ==> fade opacity', (WidgetTester tester) async { @@ -59,11 +57,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 0.0); + expect(render.text.style!.color!.opacity, 0.0); }); testWidgets('!pinned && floating && bottom ==> fade opacity', (WidgetTester tester) async { @@ -78,11 +76,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 0.0); + expect(render.text.style!.color!.opacity, 0.0); }); testWidgets('pinned && !floating && !bottom ==> 1.0 opacity', (WidgetTester tester) async { @@ -97,11 +95,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); }); testWidgets('pinned && !floating && bottom ==> 1.0 opacity', (WidgetTester tester) async { @@ -116,11 +114,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); }); testWidgets('pinned && floating && !bottom ==> 1.0 opacity', (WidgetTester tester) async { @@ -137,11 +135,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); }); testWidgets('pinned && floating && bottom && extraToolbarHeight == 0.0 ==> fade opacity', (WidgetTester tester) async { @@ -158,11 +156,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 0.0); + expect(render.text.style!.color!.opacity, 0.0); }); testWidgets('pinned && floating && bottom && extraToolbarHeight != 0.0 ==> 1.0 opacity', (WidgetTester tester) async { @@ -178,11 +176,11 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); }); testWidgets('!pinned && !floating && !bottom && extraToolbarHeight != 0.0 ==> fade opacity', (WidgetTester tester) async { @@ -199,20 +197,20 @@ void main() { ); final RenderParagraph render = tester.renderObject(find.text('Hallo Welt!!1')); - expect(render.text.style.color.opacity, 1.0); + expect(render.text.style!.color!.opacity, 1.0); controller.jumpTo(collapsedHeight); await tester.pumpAndSettle(); - expect(render.text.style.color.opacity, 0.0); + expect(render.text.style!.color!.opacity, 0.0); }); } class _TestWidget extends StatelessWidget { const _TestWidget({ - this.pinned, - this.floating, - this.bottom, + required this.pinned, + required this.floating, + required this.bottom, this.controller, this.collapsedHeight, }); @@ -220,8 +218,8 @@ class _TestWidget extends StatelessWidget { final bool pinned; final bool floating; final bool bottom; - final ScrollController controller; - final double collapsedHeight; + final ScrollController? controller; + final double? collapsedHeight; @override Widget build(BuildContext context) { diff --git a/packages/flutter/test/widgets/sliver_constraints_test.dart b/packages/flutter/test/widgets/sliver_constraints_test.dart index 804d91c8cb..9a608dc3ca 100644 --- a/packages/flutter/test/widgets/sliver_constraints_test.dart +++ b/packages/flutter/test/widgets/sliver_constraints_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'; @@ -39,7 +37,7 @@ void main() { // can fit in the viewport, and the SliverList doesn't report a child count, // so the SliverList leads to an infinite precedingScrollExtent. final RenderViewport renderViewport = tester.renderObject(find.byType(Viewport)); - final RenderSliver lastRenderSliver = renderViewport.lastChild; + final RenderSliver lastRenderSliver = renderViewport.lastChild!; expect(lastRenderSliver.constraints.precedingScrollExtent, double.infinity); }); } diff --git a/packages/flutter/test/widgets/sliver_fill_remaining_test.dart b/packages/flutter/test/widgets/sliver_fill_remaining_test.dart index 95d847f6a3..3a47000fa8 100644 --- a/packages/flutter/test/widgets/sliver_fill_remaining_test.dart +++ b/packages/flutter/test/widgets/sliver_fill_remaining_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/foundation.dart'; import 'package:flutter/material.dart'; @@ -21,7 +19,7 @@ void main() { ); Widget boilerplate( List slivers, { - ScrollController controller, + ScrollController? controller, Axis scrollDirection = Axis.vertical, }) { return MaterialApp( diff --git a/packages/flutter/test/widgets/sliver_fill_viewport_test.dart b/packages/flutter/test/widgets/sliver_fill_viewport_test.dart index e329d17acf..33cf314da5 100644 --- a/packages/flutter/test/widgets/sliver_fill_viewport_test.dart +++ b/packages/flutter/test/widgets/sliver_fill_viewport_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/widgets.dart'; @@ -174,7 +172,7 @@ void main() { ); final RenderSliver boxWithPadding = tester.renderObject(find.byType(SliverFillViewport)); - expect(boxWithPadding.geometry.paintExtent, equals(600.0)); + expect(boxWithPadding.geometry!.paintExtent, equals(600.0)); await tester.pumpWidget( Directionality( @@ -192,6 +190,6 @@ void main() { ); final RenderSliver boxWithoutPadding = tester.renderObject(find.byType(SliverFillViewport)); - expect(boxWithoutPadding.geometry.paintExtent, equals(300.0)); + expect(boxWithoutPadding.geometry!.paintExtent, equals(300.0)); }); } diff --git a/packages/flutter/test/widgets/sliver_list_test.dart b/packages/flutter/test/widgets/sliver_list_test.dart index b40f066803..9eca0157a1 100644 --- a/packages/flutter/test/widgets/sliver_list_test.dart +++ b/packages/flutter/test/widgets/sliver_list_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/material.dart'; @@ -368,7 +366,7 @@ Widget _buildSliverListRenderWidgetChild(List items) { Widget _buildSliverList({ List items = const [], - ScrollController controller, + ScrollController? controller, double itemHeight = 500.0, double viewportHeight = 300.0, }) { diff --git a/packages/flutter/test/widgets/sliver_prototype_item_extent_test.dart b/packages/flutter/test/widgets/sliver_prototype_item_extent_test.dart index 963fcdebd5..ad513be557 100644 --- a/packages/flutter/test/widgets/sliver_prototype_item_extent_test.dart +++ b/packages/flutter/test/widgets/sliver_prototype_item_extent_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 TestItem extends StatelessWidget { - const TestItem({ Key key, this.item, this.width, this.height }) : super(key: key); + const TestItem({ Key? key, required this.item, this.width, this.height }) : super(key: key); final int item; - final double width; - final double height; + final double? width; + final double? height; @override Widget build(BuildContext context) { return Container( @@ -23,7 +21,7 @@ class TestItem extends StatelessWidget { } } -Widget buildFrame({ int count, double width, double height, Axis scrollDirection }) { +Widget buildFrame({ int? count, double? width, double? height, Axis? scrollDirection }) { return Directionality( textDirection: TextDirection.ltr, child: CustomScrollView( diff --git a/packages/flutter/test/widgets/sliver_semantics_test.dart b/packages/flutter/test/widgets/sliver_semantics_test.dart index 2f2b5e40c2..ac352544f9 100644 --- a/packages/flutter/test/widgets/sliver_semantics_test.dart +++ b/packages/flutter/test/widgets/sliver_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 'dart:ui'; import 'package:flutter_test/flutter_test.dart'; diff --git a/packages/flutter/test/widgets/sliver_visibility_test.dart b/packages/flutter/test/widgets/sliver_visibility_test.dart index 62185413c9..9a6def5368 100644 --- a/packages/flutter/test/widgets/sliver_visibility_test.dart +++ b/packages/flutter/test/widgets/sliver_visibility_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'; @@ -13,7 +11,7 @@ import '../rendering/mock_canvas.dart'; import 'semantics_tester.dart'; class TestState extends StatefulWidget { - const TestState({ Key key, this.child, this.log }) : super(key: key); + const TestState({ Key? key, required this.child, required this.log }) : super(key: key); final Widget child; final List log; @override @@ -84,8 +82,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paints..paragraph()); RenderViewport renderViewport = tester.renderObject(find.byType(Viewport)); - RenderSliver renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + RenderSliver renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, ['created new state']); @@ -103,8 +101,8 @@ void main() { expect(find.byType(SliverVisibility, skipOffstage: false), findsOneWidget); expect(find.byType(SliverVisibility, skipOffstage: false), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, []); expect(find.byKey(anchor), findsNothing); @@ -121,8 +119,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paints..path()); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 400.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 400.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, []); expect(find.byKey(anchor), findsNothing); @@ -140,8 +138,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paints..paragraph()); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, ['created new state']); await tester.tap(find.byKey(anchor)); @@ -163,8 +161,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paints..paragraph()); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, ['created new state']); await tester.tap(find.byKey(anchor)); @@ -186,8 +184,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, []); await tester.tap(find.byKey(anchor)); @@ -211,8 +209,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, []); @@ -234,8 +232,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, []); @@ -257,8 +255,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, ['created new state']); @@ -279,8 +277,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, []); @@ -301,8 +299,8 @@ void main() { expect(find.byType(SliverVisibility, skipOffstage: false), findsOneWidget); expect(find.byType(SliverVisibility, skipOffstage: false), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, ['created new state']); @@ -321,8 +319,8 @@ void main() { expect(find.byType(SliverVisibility, skipOffstage: false), findsOneWidget); expect(find.byType(SliverVisibility, skipOffstage: false), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, ['created new state']); @@ -343,8 +341,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paints..paragraph()); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, []); @@ -364,8 +362,8 @@ void main() { expect(find.byType(SliverVisibility, skipOffstage: false), findsOneWidget); expect(find.byType(SliverVisibility, skipOffstage: false), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a false'), hasLength(0)); expect(log, []); @@ -384,8 +382,8 @@ void main() { expect( find.byType(SliverVisibility, skipOffstage: false), paints..paragraph()); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, []); @@ -405,8 +403,8 @@ void main() { expect(find.byType(SliverVisibility, skipOffstage: false), findsOneWidget); expect(find.byType(SliverVisibility, skipOffstage: false), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a false'), hasLength(0)); expect(log, []); @@ -424,8 +422,8 @@ void main() { expect(find.byType(SliverVisibility, skipOffstage: false), findsOneWidget); expect(find.byType(SliverVisibility, skipOffstage: false), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, []); @@ -442,8 +440,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paints..paragraph()); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, ['created new state']); @@ -460,8 +458,8 @@ void main() { expect(find.byType(SliverVisibility, skipOffstage: false), findsOneWidget); expect(find.byType(SliverVisibility, skipOffstage: false), paintsNothing); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 0.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 0.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(0)); expect(log, []); @@ -478,8 +476,8 @@ void main() { expect(find.byType(SliverVisibility), findsOneWidget); expect(find.byType(SliverVisibility), paints..paragraph()); renderViewport = tester.renderObject(find.byType(Viewport)); - renderSliver = renderViewport.lastChild; - expect(renderSliver.geometry.scrollExtent, 14.0); + renderSliver = renderViewport.lastChild!; + expect(renderSliver.geometry!.scrollExtent, 14.0); expect(renderSliver.constraints.crossAxisExtent, 800.0); expect(semantics.nodesWith(label: 'a true'), hasLength(1)); expect(log, ['created new state']); diff --git a/packages/flutter/test/widgets/slivers_appbar_floating_pinned_test.dart b/packages/flutter/test/widgets/slivers_appbar_floating_pinned_test.dart index ec4c0867ff..3650039459 100644 --- a/packages/flutter/test/widgets/slivers_appbar_floating_pinned_test.dart +++ b/packages/flutter/test/widgets/slivers_appbar_floating_pinned_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/material.dart'; @@ -336,15 +334,15 @@ void main() { ); final RenderSliverFloatingPinnedPersistentHeader render = tester.renderObject(find.byType(SliverAppBar)); expect(render.minExtent, greaterThan(availableHeight)); // Precondition - expect(render.geometry.scrollExtent, 120.0); - expect(render.geometry.paintExtent, availableHeight); - expect(render.geometry.layoutExtent, availableHeight); + expect(render.geometry!.scrollExtent, 120.0); + expect(render.geometry!.paintExtent, availableHeight); + expect(render.geometry!.layoutExtent, availableHeight); controller.jumpTo(200.0); await tester.pumpAndSettle(); - expect(render.geometry.scrollExtent, 120.0); - expect(render.geometry.paintExtent, availableHeight); - expect(render.geometry.layoutExtent, 0.0); + expect(render.geometry!.scrollExtent, 120.0); + expect(render.geometry!.paintExtent, availableHeight); + expect(render.geometry!.layoutExtent, 0.0); }); testWidgets('Pinned and floating SliverAppBar sticks to top the content is scroll down', (WidgetTester tester) async { @@ -378,7 +376,7 @@ void main() { await gesture.moveBy(const Offset(0, scrollDistance)); await tester.pump(); - expect(render.geometry.paintOrigin, -scrollDistance); + expect(render.geometry!.paintOrigin, -scrollDistance); }); testWidgets('Floating SliverAppBar sticks to top the content is scroll down', (WidgetTester tester) async { @@ -412,7 +410,7 @@ void main() { await gesture.moveBy(const Offset(0, scrollDistance)); await tester.pump(); - expect(render.geometry.paintOrigin, -scrollDistance); + expect(render.geometry!.paintOrigin, -scrollDistance); }); testWidgets('Pinned SliverAppBar sticks to top the content is scroll down', (WidgetTester tester) async { @@ -446,6 +444,6 @@ void main() { await gesture.moveBy(const Offset(0, scrollDistance)); await tester.pump(); - expect(render.geometry.paintOrigin, -scrollDistance); + expect(render.geometry!.paintOrigin, -scrollDistance); }); } diff --git a/packages/flutter/test/widgets/slivers_appbar_floating_test.dart b/packages/flutter/test/widgets/slivers_appbar_floating_test.dart index ff21465cec..5633606500 100644 --- a/packages/flutter/test/widgets/slivers_appbar_floating_test.dart +++ b/packages/flutter/test/widgets/slivers_appbar_floating_test.dart @@ -2,19 +2,17 @@ // 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'; void verifyPaintPosition(GlobalKey key, Offset ideal, bool visible) { - final RenderSliver target = key.currentContext.findRenderObject() as RenderSliver; + final RenderSliver target = key.currentContext!.findRenderObject()! as RenderSliver; 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); - final SliverGeometry geometry = target.geometry; + final SliverGeometry geometry = target.geometry!; expect(geometry.visible, visible); } @@ -259,7 +257,7 @@ class RenderBigSliver extends RenderSliver { markNeedsLayout(); } - 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() { @@ -272,7 +270,7 @@ class RenderBigSliver extends RenderSliver { } class BigSliver extends LeafRenderObjectWidget { - const BigSliver({ Key key, this.height }) : super(key: key); + const BigSliver({ Key? key, required this.height }) : super(key: key); final double height; diff --git a/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart b/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart index abcd0e00bc..d5063c07ca 100644 --- a/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart +++ b/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart @@ -2,19 +2,17 @@ // 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'; void verifyPaintPosition(GlobalKey key, Offset ideal, bool visible) { - final RenderSliver target = key.currentContext.findRenderObject() as RenderSliver; + final RenderSliver target = key.currentContext!.findRenderObject()! as RenderSliver; 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); - final SliverGeometry geometry = target.geometry; + final SliverGeometry geometry = target.geometry!; expect(geometry.visible, visible); } @@ -76,7 +74,7 @@ void main() { ); await tester.pumpAndSettle(const Duration(milliseconds: 10)); - final RenderObject renderObject = key.currentContext.findRenderObject(); + final RenderObject renderObject = key.currentContext!.findRenderObject()!; // The delegate must only start throwing immediately before calling // toStringDeep to avoid triggering spurious exceptions. // If the _RenderSliverPinnedPersistentHeaderForWidgets class was not @@ -348,7 +346,7 @@ class RenderBigSliver extends RenderSliver { markNeedsLayout(); } - 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() { @@ -361,7 +359,7 @@ class RenderBigSliver extends RenderSliver { } class BigSliver extends LeafRenderObjectWidget { - const BigSliver({ Key key, this.height }) : super(key: key); + const BigSliver({ Key? key, required this.height }) : super(key: key); final double height; diff --git a/packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart b/packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart index 3b62cdaa99..6619b27319 100644 --- a/packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart +++ b/packages/flutter/test/widgets/slivers_appbar_scrolling_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/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); } @@ -160,7 +158,7 @@ class TestDelegate extends SliverPersistentHeaderDelegate { 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() { @@ -173,7 +171,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(); diff --git a/packages/flutter/test/widgets/slivers_appbar_stretch_test.dart b/packages/flutter/test/widgets/slivers_appbar_stretch_test.dart index e040685e28..38198d7236 100644 --- a/packages/flutter/test/widgets/slivers_appbar_stretch_test.dart +++ b/packages/flutter/test/widgets/slivers_appbar_stretch_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/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -41,9 +39,9 @@ void main() { final RenderSliverScrollingPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100)); - expect(header.child.size.height, equals(200.0)); + expect(header.child!.size.height, equals(200.0)); }); testWidgets('does not stretch without overscroll physics', (WidgetTester tester) async { @@ -76,9 +74,9 @@ void main() { final RenderSliverScrollingPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100.0)); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); }); testWidgets('default trigger offset', (WidgetTester tester) async { @@ -92,9 +90,8 @@ void main() { SliverAppBar( stretch: true, expandedHeight: 100.0, - onStretchTrigger: () { + onStretchTrigger: () async { didTrigger = true; - return; }, ), SliverToBoxAdapter( @@ -132,9 +129,8 @@ void main() { stretch: true, expandedHeight: 100.0, stretchTriggerOffset: 150.0, - onStretchTrigger: () { + onStretchTrigger: () async { didTrigger = true; - return; }, ), SliverToBoxAdapter( @@ -172,9 +168,8 @@ void main() { stretch: true, expandedHeight: 100.0, stretchTriggerOffset: 150.0, - onStretchTrigger: () { + onStretchTrigger: () async { didTrigger = true; - return; }, ), SliverToBoxAdapter( @@ -200,35 +195,6 @@ void main() { expect(didTrigger, isFalse); }); - testWidgets('asserts stretch != null', (WidgetTester tester) async { - expect( - () { - return MaterialApp( - home: CustomScrollView( - physics: const ClampingScrollPhysics(), - slivers: [ - SliverAppBar( - stretch: null, - expandedHeight: 100.0, - ), - SliverToBoxAdapter( - child: Container( - height: 800, - ) - ), - SliverToBoxAdapter( - child: Container( - height: 800, - ) - ), - ], - ), - ); - }, - throwsAssertionError, - ); - }); - testWidgets('asserts reasonable trigger offset', (WidgetTester tester) async { expect( () { @@ -291,9 +257,9 @@ void main() { final RenderSliverPinnedPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100)); - expect(header.child.size.height, equals(200.0)); + expect(header.child!.size.height, equals(200.0)); }); testWidgets('does not stretch without overscroll physics', (WidgetTester tester) async { @@ -326,9 +292,9 @@ void main() { final RenderSliverPinnedPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100)); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); }); }); @@ -363,9 +329,9 @@ void main() { final RenderSliverFloatingPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100)); - expect(header.child.size.height, equals(200.0)); + expect(header.child!.size.height, equals(200.0)); }); testWidgets('does not fill overscroll without proper physics', (WidgetTester tester) async { @@ -398,9 +364,9 @@ void main() { final RenderSliverFloatingPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100)); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); }); }); @@ -436,9 +402,9 @@ void main() { final RenderSliverFloatingPinnedPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100)); - expect(header.child.size.height, equals(200.0)); + expect(header.child!.size.height, equals(200.0)); }); testWidgets('does not fill overscroll without proper physics', (WidgetTester tester) async { @@ -472,9 +438,9 @@ void main() { final RenderSliverFloatingPinnedPersistentHeader header = tester.renderObject( find.byType(SliverAppBar) ); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); await slowDrag(tester, anchor, const Offset(0.0, 100)); - expect(header.child.size.height, equals(100.0)); + expect(header.child!.size.height, equals(100.0)); }); }); } 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 b9bab1fe00..41dd8521c0 100644 --- a/packages/flutter/test/widgets/slivers_block_global_key_test.dart +++ b/packages/flutter/test/widgets/slivers_block_global_key_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'; @@ -11,7 +9,7 @@ import 'package:flutter/widgets.dart'; int globalGeneration = 0; class GenerationText extends StatefulWidget { - const GenerationText(this.value, { Key key }) : super(key: key); + const GenerationText(this.value, { Key? key }) : super(key: key); final int value; @override _GenerationTextState createState() => _GenerationTextState(); @@ -55,7 +53,7 @@ void verify(WidgetTester tester, List answerKey, String text) { expect(testAnswers, equals(answerKey)); final String foundText = tester.widgetList(find.byType(Text)) - .map((Text widget) => widget.data) + .map((Text widget) => widget.data!) .reduce((String value, String element) => value + element); expect(foundText, equals(text)); } diff --git a/packages/flutter/test/widgets/slivers_block_test.dart b/packages/flutter/test/widgets/slivers_block_test.dart index afac7c4657..9c86b542d9 100644 --- a/packages/flutter/test/widgets/slivers_block_test.dart +++ b/packages/flutter/test/widgets/slivers_block_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 verify(WidgetTester tester, List answerKey, String text) { expect(testAnswers, equals(answerKey)); final String foundText = tester.widgetList(find.byType(Text)) - .map((Text widget) => widget.data) + .map((Text widget) => widget.data!) .reduce((String value, String element) => value + element); expect(foundText, equals(text)); }