Unverified Commit 7181c7a8 authored by Greg Spencer's avatar Greg Spencer Committed by GitHub

Convert some more widget tests to NNBD (#68160)

parent ef205f7e
......@@ -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
......
......@@ -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<Widget> createSwitchedChildList(List<Widget> 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<Widget> children;
......@@ -415,8 +413,8 @@ class SwitchingChildBuilderTest extends StatefulWidget {
}
class _SwitchingChildBuilderTest extends State<SwitchingChildBuilderTest> {
List<Widget> children;
Map<Key, int> _mapKeyToIndex;
late List<Widget> children;
late Map<Key, int> _mapKeyToIndex;
@override
void initState() {
......@@ -424,7 +422,7 @@ class _SwitchingChildBuilderTest extends State<SwitchingChildBuilderTest> {
children = widget.children;
_mapKeyToIndex = <Key, int>{};
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<SwitchingChildBuilderTest> {
children = widget.children;
_mapKeyToIndex = <Key, int>{};
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<SwitchingChildBuilderTest> {
class SwitchingChildListTest extends StatefulWidget {
const SwitchingChildListTest({
this.children,
required this.children,
this.viewportFraction = 1.0,
Key key,
Key? key,
}) : super(key: key);
final List<Widget> children;
......@@ -512,9 +510,9 @@ class _SwitchingChildListTest extends State<SwitchingChildListTest> {
class SwitchingSliverListTest extends StatefulWidget {
const SwitchingSliverListTest({
this.children,
required this.children,
this.viewportFraction = 1.0,
Key key,
Key? key,
}) : super(key: key);
final List<Widget> children;
......@@ -548,9 +546,9 @@ class _SwitchingSliverListTest extends State<SwitchingSliverListTest> {
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<WidgetTest0> 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<WidgetTest1> 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;
......
......@@ -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);
});
}
......@@ -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<RenderViewport>());
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();
......
......@@ -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<void> testSliverFixedExtentList(WidgetTester tester, List<String> items)
childCount : items.length,
findChildIndexCallback: (Key key) {
final ValueKey<String> valueKey = key as ValueKey<String>;
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<Offset> idealPositions, List<bool> idealVi
(RenderBox target) => target.localToGlobal(const Offset(0.0, 0.0))
).toList();
final List<bool> actualVisibles = tester.renderObjectList<RenderSliverToBoxAdapter>(find.byType(SliverToBoxAdapter, skipOffstage: false)).map<bool>(
(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<Widget> 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<Widget> 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;
......
......@@ -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';
......
......@@ -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<int> itemsPainted;
late List<int> itemsPainted;
Widget buildFrame(int index) {
itemsPainted = <int>[];
......@@ -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<int> itemsTapped;
late List<int> itemsTapped;
Widget buildFrame(int index) {
itemsTapped = <int>[];
......@@ -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(
......
......@@ -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();
}
......
......@@ -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';
......
......@@ -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<InnerWidget> {
}
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);
});
}
......@@ -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<double> animation,
Key? key,
required this.builder,
required Animation<double> animation,
}) : super(key: key, animation: animation);
final WidgetBuilder builder;
......
......@@ -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<TestWidget> {
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(),
),
),
......
......@@ -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<TestStatefulWidget> {
}
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.'));
}
});
......
......@@ -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';
......
......@@ -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 = <String, dynamic>{
dynamic _clipboardData = <String, dynamic>{
'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;
}
}
......@@ -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';
......
......@@ -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<void> _pumpTextWidget({ WidgetTester tester, String text, TextOverflow overflow }) {
Future<void> _pumpTextWidget({
required WidgetTester tester,
required String text,
required TextOverflow overflow,
}) {
return tester.pumpWidget(
Directionality(
textDirection: TextDirection.ltr,
......
......@@ -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);
......
......@@ -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() {
......
......@@ -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<BoringTickerTest> 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();
......
......@@ -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),
......
......@@ -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';
......
......@@ -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, <dynamic>[
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, <dynamic>[
// 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)));
......
......@@ -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';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment