fix some bad indentations (#41172)
diff --git a/packages/flutter/lib/src/cupertino/action_sheet.dart b/packages/flutter/lib/src/cupertino/action_sheet.dart index eab935e..335ae2f 100644 --- a/packages/flutter/lib/src/cupertino/action_sheet.dart +++ b/packages/flutter/lib/src/cupertino/action_sheet.dart
@@ -1063,8 +1063,9 @@ ..color = pressedColor, _dividerPaint = Paint() ..color = dividerColor - ..style = PaintingStyle.fill - { addAll(children); } + ..style = PaintingStyle.fill { + addAll(children); + } // The thickness of the divider between buttons. double get dividerThickness => _dividerThickness;
diff --git a/packages/flutter/lib/src/cupertino/dialog.dart b/packages/flutter/lib/src/cupertino/dialog.dart index a211dae..9764d06 100644 --- a/packages/flutter/lib/src/cupertino/dialog.dart +++ b/packages/flutter/lib/src/cupertino/dialog.dart
@@ -1339,7 +1339,7 @@ final Paint _pressedButtonBackgroundPaint; set dialogPressedColor(Color value) { if (value == _pressedButtonBackgroundPaint.color) - return; + return; _pressedButtonBackgroundPaint.color = value; markNeedsPaint(); @@ -1348,7 +1348,7 @@ final Paint _dividerPaint; set dividerColor(Color value) { if (value == _dividerPaint.color) - return; + return; _dividerPaint.color = value; markNeedsPaint();
diff --git a/packages/flutter/lib/src/cupertino/text_selection.dart b/packages/flutter/lib/src/cupertino/text_selection.dart index c20c2a7..03f4339 100644 --- a/packages/flutter/lib/src/cupertino/text_selection.dart +++ b/packages/flutter/lib/src/cupertino/text_selection.dart
@@ -225,9 +225,9 @@ @override void debugPaintSize(PaintingContext context, Offset offset) { assert(() { - if (child == null) { - return true; - } + if (child == null) { + return true; + } _debugPaint ??= Paint() ..shader = ui.Gradient.linear(
diff --git a/packages/flutter/lib/src/foundation/binding.dart b/packages/flutter/lib/src/foundation/binding.dart index d2c9462..dd85335 100644 --- a/packages/flutter/lib/src/foundation/binding.dart +++ b/packages/flutter/lib/src/foundation/binding.dart
@@ -98,7 +98,10 @@ @mustCallSuper void initInstances() { assert(!_debugInitialized); - assert(() { _debugInitialized = true; return true; }()); + assert(() { + _debugInitialized = true; + return true; + }()); } /// Called when the binding is initialized, to register service @@ -182,7 +185,10 @@ ); return true; }()); - assert(() { _debugServiceExtensionsRegistered = true; return true; }()); + assert(() { + _debugServiceExtensionsRegistered = true; + return true; + }()); } /// Whether [lockEvents] is currently locking events.
diff --git a/packages/flutter/lib/src/foundation/debug.dart b/packages/flutter/lib/src/foundation/debug.dart index a83c1d9..3bef1c4 100644 --- a/packages/flutter/lib/src/foundation/debug.dart +++ b/packages/flutter/lib/src/foundation/debug.dart
@@ -52,7 +52,10 @@ /// implicitly add any timeline events. Future<T> debugInstrumentAction<T>(String description, Future<T> action()) { bool instrument = false; - assert(() { instrument = debugInstrumentationEnabled; return true; }()); + assert(() { + instrument = debugInstrumentationEnabled; + return true; + }()); if (instrument) { final Stopwatch stopwatch = Stopwatch()..start(); return action().whenComplete(() {
diff --git a/packages/flutter/lib/src/gestures/multidrag.dart b/packages/flutter/lib/src/gestures/multidrag.dart index cf33830..e821ea1 100644 --- a/packages/flutter/lib/src/gestures/multidrag.dart +++ b/packages/flutter/lib/src/gestures/multidrag.dart
@@ -163,7 +163,10 @@ void dispose() { _arenaEntry?.resolve(GestureDisposition.rejected); _arenaEntry = null; - assert(() { _pendingDelta = null; return true; }()); + assert(() { + _pendingDelta = null; + return true; + }()); } }
diff --git a/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart b/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart index ba0ea4e..5f9552f 100644 --- a/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart +++ b/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart
@@ -49,7 +49,7 @@ } assert((_currentEvent.original ?? _currentEvent) == event); try { - _firstRegisteredCallback(_currentEvent); + _firstRegisteredCallback(_currentEvent); } catch (exception, stack) { FlutterError.reportError(FlutterErrorDetails( exception: exception,
diff --git a/packages/flutter/lib/src/material/app_bar.dart b/packages/flutter/lib/src/material/app_bar.dart index 464a45c..bb96bb9 100644 --- a/packages/flutter/lib/src/material/app_bar.dart +++ b/packages/flutter/lib/src/material/app_bar.dart
@@ -480,8 +480,8 @@ switch (theme.platform) { case TargetPlatform.android: case TargetPlatform.fuchsia: - namesRoute = true; - break; + namesRoute = true; + break; case TargetPlatform.iOS: break; }
diff --git a/packages/flutter/lib/src/material/button_theme.dart b/packages/flutter/lib/src/material/button_theme.dart index c841b0e..76962a4 100644 --- a/packages/flutter/lib/src/material/button_theme.dart +++ b/packages/flutter/lib/src/material/button_theme.dart
@@ -620,7 +620,7 @@ case ButtonTextTheme.accent: return colorScheme.secondary; - case ButtonTextTheme.primary: { + case ButtonTextTheme.primary: final Color fillColor = getFillColor(button); final bool fillIsDark = fillColor != null ? ThemeData.estimateBrightnessForColor(fillColor) == Brightness.dark @@ -630,7 +630,6 @@ if (button is FlatButton || button is OutlineButton) return colorScheme.primary; return Colors.black; - } } assert(false);
diff --git a/packages/flutter/lib/src/material/chip.dart b/packages/flutter/lib/src/material/chip.dart index ebc15ea..669abac 100644 --- a/packages/flutter/lib/src/material/chip.dart +++ b/packages/flutter/lib/src/material/chip.dart
@@ -2776,23 +2776,22 @@ @override void debugPaint(PaintingContext context, Offset offset) { - assert(!_debugShowTapTargetOutlines || - () { - // Draws a rect around the tap targets to help with visualizing where - // they really are. - final Paint outlinePaint = Paint() - ..color = const Color(0xff800000) - ..strokeWidth = 1.0 - ..style = PaintingStyle.stroke; - if (deleteIconShowing) { - context.canvas.drawRect(deleteButtonRect.shift(offset), outlinePaint); - } - context.canvas.drawRect( - pressRect.shift(offset), - outlinePaint..color = const Color(0xff008000), - ); - return true; - }()); + assert(!_debugShowTapTargetOutlines || () { + // Draws a rect around the tap targets to help with visualizing where + // they really are. + final Paint outlinePaint = Paint() + ..color = const Color(0xff800000) + ..strokeWidth = 1.0 + ..style = PaintingStyle.stroke; + if (deleteIconShowing) { + context.canvas.drawRect(deleteButtonRect.shift(offset), outlinePaint); + } + context.canvas.drawRect( + pressRect.shift(offset), + outlinePaint..color = const Color(0xff008000), + ); + return true; + }()); } @override
diff --git a/packages/flutter/lib/src/material/drawer.dart b/packages/flutter/lib/src/material/drawer.dart index 60557be..4287a18 100644 --- a/packages/flutter/lib/src/material/drawer.dart +++ b/packages/flutter/lib/src/material/drawer.dart
@@ -425,12 +425,12 @@ break; } switch (Directionality.of(context)) { - case TextDirection.rtl: - _controller.fling(velocity: -visualVelocity); - break; - case TextDirection.ltr: - _controller.fling(velocity: visualVelocity); - break; + case TextDirection.rtl: + _controller.fling(velocity: -visualVelocity); + break; + case TextDirection.ltr: + _controller.fling(velocity: visualVelocity); + break; } } else if (_controller.value < 0.5) { close(); @@ -492,16 +492,14 @@ double dragAreaWidth = widget.edgeDragWidth; if (widget.edgeDragWidth == null) { switch (textDirection) { - case TextDirection.ltr: { + case TextDirection.ltr: dragAreaWidth = _kEdgeDragWidth + (drawerIsStart ? padding.left : padding.right); - } - break; - case TextDirection.rtl: { + break; + case TextDirection.rtl: dragAreaWidth = _kEdgeDragWidth + (drawerIsStart ? padding.right : padding.left); - } - break; + break; } }
diff --git a/packages/flutter/lib/src/material/dropdown.dart b/packages/flutter/lib/src/material/dropdown.dart index 7fdf990..fd89f4d 100644 --- a/packages/flutter/lib/src/material/dropdown.dart +++ b/packages/flutter/lib/src/material/dropdown.dart
@@ -898,12 +898,12 @@ items = widget.selectedItemBuilder == null ? List<Widget>.from(widget.items) : widget.selectedItemBuilder(context).map((Widget item) { - return Container( - height: _kMenuItemHeight, - alignment: AlignmentDirectional.centerStart, - child: item, - ); - }).toList(); + return Container( + height: _kMenuItemHeight, + alignment: AlignmentDirectional.centerStart, + child: item, + ); + }).toList(); } else { items = <Widget>[]; }
diff --git a/packages/flutter/lib/src/material/input_border.dart b/packages/flutter/lib/src/material/input_border.dart index 251033b..11d9b76 100644 --- a/packages/flutter/lib/src/material/input_border.dart +++ b/packages/flutter/lib/src/material/input_border.dart
@@ -478,16 +478,15 @@ } else { final double extent = lerpDouble(0.0, gapExtent + gapPadding * 2.0, gapPercentage); switch (textDirection) { - case TextDirection.rtl: { + case TextDirection.rtl: final Path path = _gapBorderPath(canvas, center, math.max(0.0, gapStart + gapPadding - extent), extent); canvas.drawPath(path, paint); break; - } - case TextDirection.ltr: { + + case TextDirection.ltr: final Path path = _gapBorderPath(canvas, center, math.max(0.0, gapStart - gapPadding), extent); canvas.drawPath(path, paint); break; - } } } }
diff --git a/packages/flutter/lib/src/material/material.dart b/packages/flutter/lib/src/material/material.dart index 3ef5c75..93c0611 100644 --- a/packages/flutter/lib/src/material/material.dart +++ b/packages/flutter/lib/src/material/material.dart
@@ -615,7 +615,10 @@ @mustCallSuper void dispose() { assert(!_debugDisposed); - assert(() { _debugDisposed = true; return true; }()); + assert(() { + _debugDisposed = true; + return true; + }()); _controller._removeFeature(this); if (onRemoved != null) onRemoved();
diff --git a/packages/flutter/lib/src/material/scaffold.dart b/packages/flutter/lib/src/material/scaffold.dart index 82bbdb6..a167460 100644 --- a/packages/flutter/lib/src/material/scaffold.dart +++ b/packages/flutter/lib/src/material/scaffold.dart
@@ -1723,10 +1723,10 @@ final LocalHistoryEntry entry = isPersistent ? null : LocalHistoryEntry(onRemove: () { - if (!removedEntry) { - _removeCurrentBottomSheet(); - } - }); + if (!removedEntry) { + _removeCurrentBottomSheet(); + } + }); bottomSheet = _StandardBottomSheet( key: bottomSheetKey,
diff --git a/packages/flutter/lib/src/material/scrollbar.dart b/packages/flutter/lib/src/material/scrollbar.dart index 50ee97c..6108960 100644 --- a/packages/flutter/lib/src/material/scrollbar.dart +++ b/packages/flutter/lib/src/material/scrollbar.dart
@@ -76,7 +76,10 @@ @override void didChangeDependencies() { super.didChangeDependencies(); - assert((() { _useCupertinoScrollbar = null; return true; })()); + assert((() { + _useCupertinoScrollbar = null; + return true; + })()); final ThemeData theme = Theme.of(context); switch (theme.platform) { case TargetPlatform.iOS:
diff --git a/packages/flutter/lib/src/material/selectable_text.dart b/packages/flutter/lib/src/material/selectable_text.dart index bc4849e..36478ba 100644 --- a/packages/flutter/lib/src/material/selectable_text.dart +++ b/packages/flutter/lib/src/material/selectable_text.dart
@@ -440,7 +440,7 @@ ); } if (_effectiveFocusNode.hasFocus && _controller.selection.isCollapsed) { - _showSelectionHandles = false; + _showSelectionHandles = false; } }
diff --git a/packages/flutter/lib/src/material/slider_theme.dart b/packages/flutter/lib/src/material/slider_theme.dart index 0aaeabe..8b3c5f5 100644 --- a/packages/flutter/lib/src/material/slider_theme.dart +++ b/packages/flutter/lib/src/material/slider_theme.dart
@@ -2767,23 +2767,22 @@ final double stretch = (neckStretchBaseline * t).clamp(0.0, 10.0 * neckStretchBaseline); final Offset neckStretch = Offset(0.0, neckStretchBaseline - stretch); - assert(!_debuggingLabelLocation || - () { - final Offset leftCenter = _topLobeCenter - Offset(leftWidthNeeded, 0.0) + neckStretch; - final Offset rightCenter = _topLobeCenter + Offset(rightWidthNeeded, 0.0) + neckStretch; - final Rect valueRect = Rect.fromLTRB( - leftCenter.dx - _topLobeRadius, - leftCenter.dy - _topLobeRadius, - rightCenter.dx + _topLobeRadius, - rightCenter.dy + _topLobeRadius, - ); - final Paint outlinePaint = Paint() - ..color = const Color(0xffff0000) - ..style = PaintingStyle.stroke - ..strokeWidth = 1.0; - canvas.drawRect(valueRect, outlinePaint); - return true; - }()); + assert(!_debuggingLabelLocation || () { + final Offset leftCenter = _topLobeCenter - Offset(leftWidthNeeded, 0.0) + neckStretch; + final Offset rightCenter = _topLobeCenter + Offset(rightWidthNeeded, 0.0) + neckStretch; + final Rect valueRect = Rect.fromLTRB( + leftCenter.dx - _topLobeRadius, + leftCenter.dy - _topLobeRadius, + rightCenter.dx + _topLobeRadius, + rightCenter.dy + _topLobeRadius, + ); + final Paint outlinePaint = Paint() + ..color = const Color(0xffff0000) + ..style = PaintingStyle.stroke + ..strokeWidth = 1.0; + canvas.drawRect(valueRect, outlinePaint); + return true; + }()); _addArc( path,
diff --git a/packages/flutter/lib/src/material/text_field.dart b/packages/flutter/lib/src/material/text_field.dart index 223d9ca..5040883 100644 --- a/packages/flutter/lib/src/material/text_field.dart +++ b/packages/flutter/lib/src/material/text_field.dart
@@ -122,7 +122,7 @@ break; case TargetPlatform.android: case TargetPlatform.fuchsia: - renderEditable.selectWord(cause: SelectionChangedCause.longPress); + renderEditable.selectWord(cause: SelectionChangedCause.longPress); Feedback.forLongPress(_state.context); break; }
diff --git a/packages/flutter/lib/src/painting/beveled_rectangle_border.dart b/packages/flutter/lib/src/painting/beveled_rectangle_border.dart index d80399a..cf3403e 100644 --- a/packages/flutter/lib/src/painting/beveled_rectangle_border.dart +++ b/packages/flutter/lib/src/painting/beveled_rectangle_border.dart
@@ -125,7 +125,7 @@ case BorderStyle.none: break; case BorderStyle.solid: - final Path path = getOuterPath(rect, textDirection: textDirection) + final Path path = getOuterPath(rect, textDirection: textDirection) ..addPath(getInnerPath(rect, textDirection: textDirection), Offset.zero); canvas.drawPath(path, side.toPaint()); break;
diff --git a/packages/flutter/lib/src/painting/continuous_rectangle_border.dart b/packages/flutter/lib/src/painting/continuous_rectangle_border.dart index 780caaa..603f9b8 100644 --- a/packages/flutter/lib/src/painting/continuous_rectangle_border.dart +++ b/packages/flutter/lib/src/painting/continuous_rectangle_border.dart
@@ -138,7 +138,7 @@ return; switch (side.style) { case BorderStyle.none: - break; + break; case BorderStyle.solid: final Path path = getOuterPath(rect, textDirection: textDirection); final Paint paint = side.toPaint();
diff --git a/packages/flutter/lib/src/rendering/box.dart b/packages/flutter/lib/src/rendering/box.dart index ac1fcb0..f4f12bc 100644 --- a/packages/flutter/lib/src/rendering/box.dart +++ b/packages/flutter/lib/src/rendering/box.dart
@@ -275,7 +275,10 @@ /// separately provided widths and heights. Size constrain(Size size) { Size result = Size(constrainWidth(size.width), constrainHeight(size.height)); - assert(() { result = _debugPropagateDebugSize(size, result); return true; }()); + assert(() { + result = _debugPropagateDebugSize(size, result); + return true; + }()); return result; } @@ -298,7 +301,10 @@ Size constrainSizeAndAttemptToPreserveAspectRatio(Size size) { if (isTight) { Size result = smallest; - assert(() { result = _debugPropagateDebugSize(size, result); return true; }()); + assert(() { + result = _debugPropagateDebugSize(size, result); + return true; + }()); return result; } @@ -329,7 +335,10 @@ } Size result = Size(constrainWidth(width), constrainHeight(height)); - assert(() { result = _debugPropagateDebugSize(size, result); return true; }()); + assert(() { + result = _debugPropagateDebugSize(size, result); + return true; + }()); return result; }
diff --git a/packages/flutter/lib/src/rendering/custom_paint.dart b/packages/flutter/lib/src/rendering/custom_paint.dart index c296b0e..03cefbd 100644 --- a/packages/flutter/lib/src/rendering/custom_paint.dart +++ b/packages/flutter/lib/src/rendering/custom_paint.dart
@@ -522,7 +522,10 @@ void _paintWithPainter(Canvas canvas, Offset offset, CustomPainter painter) { int debugPreviousCanvasSaveCount; canvas.save(); - assert(() { debugPreviousCanvasSaveCount = canvas.getSaveCount(); return true; }()); + assert(() { + debugPreviousCanvasSaveCount = canvas.getSaveCount(); + return true; + }()); if (offset != Offset.zero) canvas.translate(offset.dx, offset.dy); painter.paint(canvas, size);
diff --git a/packages/flutter/lib/src/rendering/flex.dart b/packages/flutter/lib/src/rendering/flex.dart index 587d169..2a4b3b1 100644 --- a/packages/flutter/lib/src/rendering/flex.dart +++ b/packages/flutter/lib/src/rendering/flex.dart
@@ -525,14 +525,14 @@ double crossSize; if (flex == 0) { switch (_direction) { - case Axis.horizontal: - mainSize = child.getMaxIntrinsicWidth(double.infinity); - crossSize = childSize(child, mainSize); - break; - case Axis.vertical: - mainSize = child.getMaxIntrinsicHeight(double.infinity); - crossSize = childSize(child, mainSize); - break; + case Axis.horizontal: + mainSize = child.getMaxIntrinsicWidth(double.infinity); + crossSize = childSize(child, mainSize); + break; + case Axis.vertical: + mainSize = child.getMaxIntrinsicHeight(double.infinity); + crossSize = childSize(child, mainSize); + break; } inflexibleSpace += mainSize; maxCrossSize = math.max(maxCrossSize, crossSize);
diff --git a/packages/flutter/lib/src/rendering/list_body.dart b/packages/flutter/lib/src/rendering/list_body.dart index b2251fc..bac31ef 100644 --- a/packages/flutter/lib/src/rendering/list_body.dart +++ b/packages/flutter/lib/src/rendering/list_body.dart
@@ -110,70 +110,70 @@ double mainAxisExtent = 0.0; RenderBox child = firstChild; switch (axisDirection) { - case AxisDirection.right: - final BoxConstraints innerConstraints = BoxConstraints.tightFor(height: constraints.maxHeight); - while (child != null) { - child.layout(innerConstraints, parentUsesSize: true); - final ListBodyParentData childParentData = child.parentData; - childParentData.offset = Offset(mainAxisExtent, 0.0); - mainAxisExtent += child.size.width; - assert(child.parentData == childParentData); - child = childParentData.nextSibling; - } - size = constraints.constrain(Size(mainAxisExtent, constraints.maxHeight)); - break; - case AxisDirection.left: - final BoxConstraints innerConstraints = BoxConstraints.tightFor(height: constraints.maxHeight); - while (child != null) { - child.layout(innerConstraints, parentUsesSize: true); - final ListBodyParentData childParentData = child.parentData; - mainAxisExtent += child.size.width; - assert(child.parentData == childParentData); - child = childParentData.nextSibling; - } - double position = 0.0; - child = firstChild; - while (child != null) { - final ListBodyParentData childParentData = child.parentData; - position += child.size.width; - childParentData.offset = Offset(mainAxisExtent - position, 0.0); - assert(child.parentData == childParentData); - child = childParentData.nextSibling; - } - size = constraints.constrain(Size(mainAxisExtent, constraints.maxHeight)); - break; - case AxisDirection.down: - final BoxConstraints innerConstraints = BoxConstraints.tightFor(width: constraints.maxWidth); - while (child != null) { - child.layout(innerConstraints, parentUsesSize: true); - final ListBodyParentData childParentData = child.parentData; - childParentData.offset = Offset(0.0, mainAxisExtent); - mainAxisExtent += child.size.height; - assert(child.parentData == childParentData); - child = childParentData.nextSibling; - } - size = constraints.constrain(Size(constraints.maxWidth, mainAxisExtent)); - break; - case AxisDirection.up: - final BoxConstraints innerConstraints = BoxConstraints.tightFor(width: constraints.maxWidth); - while (child != null) { - child.layout(innerConstraints, parentUsesSize: true); - final ListBodyParentData childParentData = child.parentData; - mainAxisExtent += child.size.height; - assert(child.parentData == childParentData); - child = childParentData.nextSibling; - } - double position = 0.0; - child = firstChild; - while (child != null) { - final ListBodyParentData childParentData = child.parentData; - position += child.size.height; - childParentData.offset = Offset(0.0, mainAxisExtent - position); - assert(child.parentData == childParentData); - child = childParentData.nextSibling; - } - size = constraints.constrain(Size(constraints.maxWidth, mainAxisExtent)); - break; + case AxisDirection.right: + final BoxConstraints innerConstraints = BoxConstraints.tightFor(height: constraints.maxHeight); + while (child != null) { + child.layout(innerConstraints, parentUsesSize: true); + final ListBodyParentData childParentData = child.parentData; + childParentData.offset = Offset(mainAxisExtent, 0.0); + mainAxisExtent += child.size.width; + assert(child.parentData == childParentData); + child = childParentData.nextSibling; + } + size = constraints.constrain(Size(mainAxisExtent, constraints.maxHeight)); + break; + case AxisDirection.left: + final BoxConstraints innerConstraints = BoxConstraints.tightFor(height: constraints.maxHeight); + while (child != null) { + child.layout(innerConstraints, parentUsesSize: true); + final ListBodyParentData childParentData = child.parentData; + mainAxisExtent += child.size.width; + assert(child.parentData == childParentData); + child = childParentData.nextSibling; + } + double position = 0.0; + child = firstChild; + while (child != null) { + final ListBodyParentData childParentData = child.parentData; + position += child.size.width; + childParentData.offset = Offset(mainAxisExtent - position, 0.0); + assert(child.parentData == childParentData); + child = childParentData.nextSibling; + } + size = constraints.constrain(Size(mainAxisExtent, constraints.maxHeight)); + break; + case AxisDirection.down: + final BoxConstraints innerConstraints = BoxConstraints.tightFor(width: constraints.maxWidth); + while (child != null) { + child.layout(innerConstraints, parentUsesSize: true); + final ListBodyParentData childParentData = child.parentData; + childParentData.offset = Offset(0.0, mainAxisExtent); + mainAxisExtent += child.size.height; + assert(child.parentData == childParentData); + child = childParentData.nextSibling; + } + size = constraints.constrain(Size(constraints.maxWidth, mainAxisExtent)); + break; + case AxisDirection.up: + final BoxConstraints innerConstraints = BoxConstraints.tightFor(width: constraints.maxWidth); + while (child != null) { + child.layout(innerConstraints, parentUsesSize: true); + final ListBodyParentData childParentData = child.parentData; + mainAxisExtent += child.size.height; + assert(child.parentData == childParentData); + child = childParentData.nextSibling; + } + double position = 0.0; + child = firstChild; + while (child != null) { + final ListBodyParentData childParentData = child.parentData; + position += child.size.height; + childParentData.offset = Offset(0.0, mainAxisExtent - position); + assert(child.parentData == childParentData); + child = childParentData.nextSibling; + } + size = constraints.constrain(Size(constraints.maxWidth, mainAxisExtent)); + break; } assert(size.isFinite); }
diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart index 1b7d30f..1f3e84e 100644 --- a/packages/flutter/lib/src/rendering/object.dart +++ b/packages/flutter/lib/src/rendering/object.dart
@@ -1027,7 +1027,10 @@ Timeline.startSync('Semantics'); } assert(_semanticsOwner != null); - assert(() { _debugDoingSemantics = true; return true; }()); + assert(() { + _debugDoingSemantics = true; + return true; + }()); try { final List<RenderObject> nodesToProcess = _nodesNeedingSemantics.toList() ..sort((RenderObject a, RenderObject b) => a.depth - b.depth); @@ -1039,7 +1042,10 @@ _semanticsOwner.sendSemanticsUpdate(); } finally { assert(_nodesNeedingSemantics.isEmpty); - assert(() { _debugDoingSemantics = false; return true; }()); + assert(() { + _debugDoingSemantics = false; + return true; + }()); if (!kReleaseMode) { Timeline.finishSync(); } @@ -1681,14 +1687,23 @@ return true; }()); if (sizedByParent) { - assert(() { _debugDoingThisResize = true; return true; }()); + assert(() { + _debugDoingThisResize = true; + return true; + }()); try { performResize(); - assert(() { debugAssertDoesMeetConstraints(); return true; }()); + assert(() { + debugAssertDoesMeetConstraints(); + return true; + }()); } catch (e, stack) { _debugReportException('performResize', e, stack); } - assert(() { _debugDoingThisResize = false; return true; }()); + assert(() { + _debugDoingThisResize = false; + return true; + }()); } RenderObject debugPreviousActiveLayout; assert(() { @@ -1700,7 +1715,10 @@ try { performLayout(); markNeedsSemanticsUpdate(); - assert(() { debugAssertDoesMeetConstraints(); return true; }()); + assert(() { + debugAssertDoesMeetConstraints(); + return true; + }()); } catch (e, stack) { _debugReportException('performLayout', e, stack); }
diff --git a/packages/flutter/lib/src/rendering/platform_view.dart b/packages/flutter/lib/src/rendering/platform_view.dart index 20795b6..2b57389 100644 --- a/packages/flutter/lib/src/rendering/platform_view.dart +++ b/packages/flutter/lib/src/rendering/platform_view.dart
@@ -707,9 +707,9 @@ assert(hitTestBehavior != null), assert(gestureRecognizers != null), _controller = controller { - this.hitTestBehavior = hitTestBehavior; - updateGestureRecognizers(gestureRecognizers); - } + this.hitTestBehavior = hitTestBehavior; + updateGestureRecognizers(gestureRecognizers); + } /// Sets the [controller] for this render object. /// @@ -722,8 +722,8 @@ return; } final bool needsSemanticsUpdate = _controller.viewId != controller.viewId; - _controller = controller; - markNeedsPaint(); + _controller = controller; + markNeedsPaint(); if (needsSemanticsUpdate) { markNeedsSemanticsUpdate(); } @@ -738,8 +738,8 @@ /// /// Any active gesture arena the `PlatformView` participates in is rejected when the /// set of gesture recognizers is changed. - void updateGestureRecognizers(Set<Factory<OneSequenceGestureRecognizer>> gestureRecognizers) { - _updateGestureRecognizersWithCallBack(gestureRecognizers, _controller.dispatchPointerEvent); + void updateGestureRecognizers(Set<Factory<OneSequenceGestureRecognizer>> gestureRecognizers) { + _updateGestureRecognizersWithCallBack(gestureRecognizers, _controller.dispatchPointerEvent); } PlatformViewController _controller;
diff --git a/packages/flutter/lib/src/rendering/table.dart b/packages/flutter/lib/src/rendering/table.dart index 6bb3f8e..207c7f2 100644 --- a/packages/flutter/lib/src/rendering/table.dart +++ b/packages/flutter/lib/src/rendering/table.dart
@@ -895,7 +895,10 @@ } // beyond this point, unflexedTableWidth is no longer valid - assert(() { unflexedTableWidth = null; return true; }()); + assert(() { + unflexedTableWidth = null; + return true; + }()); // 4. apply the maximum width of the table, shrinking columns as // necessary, applying minimum column widths as we go
diff --git a/packages/flutter/lib/src/scheduler/binding.dart b/packages/flutter/lib/src/scheduler/binding.dart index c1f1865..f35c522 100644 --- a/packages/flutter/lib/src/scheduler/binding.dart +++ b/packages/flutter/lib/src/scheduler/binding.dart
@@ -504,7 +504,7 @@ FlutterError.reportError(FlutterErrorDetails( exception: reason, library: 'scheduler library', - informationCollector: () sync* { + informationCollector: () sync* { if (count == 1) { // TODO(jacobr): I have added an extra line break in this case. yield ErrorDescription( @@ -1035,7 +1035,10 @@ void _invokeFrameCallback(FrameCallback callback, Duration timeStamp, [ StackTrace callbackStack ]) { assert(callback != null); assert(_FrameCallbackEntry.debugCurrentCallbackStack == null); - assert(() { _FrameCallbackEntry.debugCurrentCallbackStack = callbackStack; return true; }()); + assert(() { + _FrameCallbackEntry.debugCurrentCallbackStack = callbackStack; + return true; + }()); try { callback(timeStamp); } catch (exception, exceptionStack) { @@ -1054,7 +1057,10 @@ }, )); } - assert(() { _FrameCallbackEntry.debugCurrentCallbackStack = null; return true; }()); + assert(() { + _FrameCallbackEntry.debugCurrentCallbackStack = null; + return true; + }()); } }
diff --git a/packages/flutter/lib/src/services/raw_keyboard_linux.dart b/packages/flutter/lib/src/services/raw_keyboard_linux.dart index fd09600..b3c8220 100644 --- a/packages/flutter/lib/src/services/raw_keyboard_linux.dart +++ b/packages/flutter/lib/src/services/raw_keyboard_linux.dart
@@ -113,7 +113,7 @@ @override bool isModifierPressed(ModifierKey key, {KeyboardSide side = KeyboardSide.any}) { - return keyHelper.isModifierPressed(key, modifiers, side: side); + return keyHelper.isModifierPressed(key, modifiers, side: side); } @override @@ -206,13 +206,13 @@ bool isModifierPressed(ModifierKey key, int modifiers, {KeyboardSide side = KeyboardSide.any}) { switch (key) { case ModifierKey.controlModifier: - return modifiers & modifierControl != 0; + return modifiers & modifierControl != 0; case ModifierKey.shiftModifier: - return modifiers & modifierShift != 0; + return modifiers & modifierShift != 0; case ModifierKey.altModifier: - return modifiers & modifierAlt != 0; + return modifiers & modifierAlt != 0; case ModifierKey.metaModifier: - return modifiers & modifierMeta != 0; + return modifiers & modifierMeta != 0; case ModifierKey.capsLockModifier: return modifiers & modifierCapsLock != 0; case ModifierKey.numLockModifier: @@ -233,15 +233,15 @@ case ModifierKey.shiftModifier: case ModifierKey.altModifier: case ModifierKey.metaModifier: - // Neither GLFW or X11 provide a distinction between left and right modifiers, so defaults to KeyboardSide.any. - // https://code.woboq.org/qt5/include/X11/X.h.html#_M/ShiftMask - return KeyboardSide.any; + // Neither GLFW or X11 provide a distinction between left and right modifiers, so defaults to KeyboardSide.any. + // https://code.woboq.org/qt5/include/X11/X.h.html#_M/ShiftMask + return KeyboardSide.any; case ModifierKey.capsLockModifier: case ModifierKey.numLockModifier: case ModifierKey.functionModifier: case ModifierKey.symbolModifier: case ModifierKey.scrollLockModifier: - return KeyboardSide.all; + return KeyboardSide.all; } assert(false, 'Not handling $key type properly.'); return null; @@ -254,6 +254,6 @@ @override LogicalKeyboardKey logicalKey(int keyCode) { - return kGlfwToLogicalKey[keyCode]; + return kGlfwToLogicalKey[keyCode]; } }
diff --git a/packages/flutter/lib/src/widgets/binding.dart b/packages/flutter/lib/src/widgets/binding.dart index cded97b..bb5c6e9 100644 --- a/packages/flutter/lib/src/widgets/binding.dart +++ b/packages/flutter/lib/src/widgets/binding.dart
@@ -876,7 +876,10 @@ void debugDumpApp() { assert(WidgetsBinding.instance != null); String mode = 'RELEASE MODE'; - assert(() { mode = 'CHECKED MODE'; return true; }()); + assert(() { + mode = 'CHECKED MODE'; + return true; + }()); debugPrint('${WidgetsBinding.instance.runtimeType} - $mode'); if (WidgetsBinding.instance.renderViewElement != null) { debugPrint(WidgetsBinding.instance.renderViewElement.toStringDeep());
diff --git a/packages/flutter/lib/src/widgets/editable_text.dart b/packages/flutter/lib/src/widgets/editable_text.dart index fc37441..d42b5f2 100644 --- a/packages/flutter/lib/src/widgets/editable_text.dart +++ b/packages/flutter/lib/src/widgets/editable_text.dart
@@ -1274,12 +1274,12 @@ } break; case FloatingCursorDragState.End: - // We skip animation if no update has happened. + // We skip animation if no update has happened. if (_lastTextPosition != null && _lastBoundedOffset != null) { _floatingCursorResetController.value = 0.0; _floatingCursorResetController.animateTo(1.0, duration: _floatingCursorResetTime, curve: Curves.decelerate); } - break; + break; } }
diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index ca3de1c..6d42b6a 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart
@@ -1208,7 +1208,10 @@ @mustCallSuper void dispose() { assert(_debugLifecycleState == _StateLifecycle.ready); - assert(() { _debugLifecycleState = _StateLifecycle.defunct; return true; }()); + assert(() { + _debugLifecycleState = _StateLifecycle.defunct; + return true; + }()); } /// Describes the part of the user interface represented by this widget. @@ -1756,7 +1759,10 @@ element.deactivate(); assert(element._debugLifecycleState == _ElementLifecycle.inactive); element.visitChildren(_deactivateRecursively); - assert(() { element.debugDeactivated(); return true; }()); + assert(() { + element.debugDeactivated(); + return true; + }()); } void add(Element element) { @@ -2926,7 +2932,10 @@ key._register(this); } _updateInheritance(); - assert(() { _debugLifecycleState = _ElementLifecycle.active; return true; }()); + assert(() { + _debugLifecycleState = _ElementLifecycle.active; + return true; + }()); } /// Change the widget used to configure this element. @@ -3082,7 +3091,10 @@ final Element newChild = _retakeInactiveElement(key, newWidget); if (newChild != null) { assert(newChild._parent == null); - assert(() { _debugCheckForCycles(newChild); return true; }()); + assert(() { + _debugCheckForCycles(newChild); + return true; + }()); newChild._activateWithParent(this, newSlot); final Element updatedChild = updateChild(newChild, newWidget, newSlot); assert(newChild == updatedChild); @@ -3090,7 +3102,10 @@ } } final Element newChild = newWidget.createElement(); - assert(() { _debugCheckForCycles(newChild); return true; }()); + assert(() { + _debugCheckForCycles(newChild); + return true; + }()); newChild.mount(this, newSlot); assert(newChild._debugLifecycleState == _ElementLifecycle.active); return newChild; @@ -3191,7 +3206,10 @@ _dependencies?.clear(); _hadUnsatisfiedDependencies = false; _updateInheritance(); - assert(() { _debugLifecycleState = _ElementLifecycle.active; return true; }()); + assert(() { + _debugLifecycleState = _ElementLifecycle.active; + return true; + }()); if (_dirty) owner.scheduleBuildFor(this); if (hadDependencies) @@ -3228,7 +3246,10 @@ } _inheritedWidgets = null; _active = false; - assert(() { _debugLifecycleState = _ElementLifecycle.inactive; return true; }()); + assert(() { + _debugLifecycleState = _ElementLifecycle.inactive; + return true; + }()); } /// Called, in debug mode, after children have been deactivated (see [deactivate]). @@ -3260,7 +3281,10 @@ final GlobalKey key = widget.key; key._unregister(this); } - assert(() { _debugLifecycleState = _ElementLifecycle.defunct; return true; }()); + assert(() { + _debugLifecycleState = _ElementLifecycle.defunct; + return true; + }()); } @override @@ -4075,9 +4099,15 @@ } finally { _debugSetAllowIgnoredCallsToMarkNeedsBuild(false); } - assert(() { _state._debugLifecycleState = _StateLifecycle.initialized; return true; }()); + assert(() { + _state._debugLifecycleState = _StateLifecycle.initialized; + return true; + }()); _state.didChangeDependencies(); - assert(() { _state._debugLifecycleState = _StateLifecycle.ready; return true; }()); + assert(() { + _state._debugLifecycleState = _StateLifecycle.ready; + return true; + }()); super._firstBuild(); } @@ -4740,7 +4770,10 @@ void mount(Element parent, dynamic newSlot) { super.mount(parent, newSlot); _renderObject = widget.createRenderObject(this); - assert(() { _debugUpdateRenderObjectOwner(); return true; }()); + assert(() { + _debugUpdateRenderObjectOwner(); + return true; + }()); assert(_slot == newSlot); attachRenderObject(newSlot); _dirty = false; @@ -4750,7 +4783,10 @@ void update(covariant RenderObjectWidget newWidget) { super.update(newWidget); assert(widget == newWidget); - assert(() { _debugUpdateRenderObjectOwner(); return true; }()); + assert(() { + _debugUpdateRenderObjectOwner(); + return true; + }()); widget.updateRenderObject(this, renderObject); _dirty = false; }
diff --git a/packages/flutter/lib/src/widgets/navigator.dart b/packages/flutter/lib/src/widgets/navigator.dart index 009e118..5a14d18 100644 --- a/packages/flutter/lib/src/widgets/navigator.dart +++ b/packages/flutter/lib/src/widgets/navigator.dart
@@ -1581,7 +1581,10 @@ @override void dispose() { assert(!_debugLocked); - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); for (NavigatorObserver observer in widget.observers) observer._navigator = null; final List<Route<dynamic>> doomed = _poppedRoutes.toList()..addAll(_history); @@ -1591,7 +1594,10 @@ _history.clear(); focusScopeNode.dispose(); super.dispose(); - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); } /// The overlay this navigator uses for its visual presentation. @@ -1767,7 +1773,10 @@ @optionalTypeArgs Future<T> push<T extends Object>(Route<T> route) { assert(!_debugLocked); - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); assert(route != null); assert(route._navigator == null); final Route<dynamic> oldRoute = _history.isNotEmpty ? _history.last : null; @@ -1783,7 +1792,10 @@ for (NavigatorObserver observer in widget.observers) observer.didPush(route, oldRoute); RouteNotificationMessages.maybeNotifyRouteChange(_routePushedMethod, route, oldRoute); - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); _afterNavigation(route); return route.popped; } @@ -1848,7 +1860,10 @@ @optionalTypeArgs Future<T> pushReplacement<T extends Object, TO extends Object>(Route<T> newRoute, { TO result }) { assert(!_debugLocked); - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); final Route<dynamic> oldRoute = _history.last; assert(oldRoute != null && oldRoute._navigator == this); assert(oldRoute.overlayEntries.isNotEmpty); @@ -1877,7 +1892,10 @@ for (NavigatorObserver observer in widget.observers) observer.didReplace(newRoute: newRoute, oldRoute: oldRoute); RouteNotificationMessages.maybeNotifyRouteChange(_routeReplacedMethod, newRoute, oldRoute); - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); _afterNavigation(newRoute); return newRoute.popped; } @@ -1903,7 +1921,10 @@ @optionalTypeArgs Future<T> pushAndRemoveUntil<T extends Object>(Route<T> newRoute, RoutePredicate predicate) { assert(!_debugLocked); - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); // The route that is being pushed on top of final Route<dynamic> precedingRoute = _history.isNotEmpty ? _history.last : null; @@ -1944,7 +1965,10 @@ for (NavigatorObserver observer in widget.observers) observer.didPush(newRoute, precedingRoute); - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); _afterNavigation(newRoute); return newRoute.popped; } @@ -1964,7 +1988,10 @@ assert(newRoute != null); if (oldRoute == newRoute) return; - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); assert(oldRoute._navigator == this); assert(newRoute._navigator == null); assert(oldRoute.overlayEntries.isNotEmpty); @@ -1990,7 +2017,10 @@ observer.didReplace(newRoute: newRoute, oldRoute: oldRoute); RouteNotificationMessages.maybeNotifyRouteChange(_routeReplacedMethod, newRoute, oldRoute); oldRoute.dispose(); - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); } /// Replaces a route on the navigator with a new route. The route to be @@ -2074,11 +2104,17 @@ @optionalTypeArgs bool pop<T extends Object>([ T result ]) { assert(!_debugLocked); - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); final Route<dynamic> route = _history.last; assert(route._navigator == this); bool debugPredictedWouldPop; - assert(() { debugPredictedWouldPop = !route.willHandlePopInternally; return true; }()); + assert(() { + debugPredictedWouldPop = !route.willHandlePopInternally; + return true; + }()); if (route.didPop(result ?? route.currentResult)) { assert(debugPredictedWouldPop); if (_history.length > 1) { @@ -2093,13 +2129,19 @@ observer.didPop(route, _history.last); RouteNotificationMessages.maybeNotifyRouteChange(_routePoppedMethod, route, _history.last); } else { - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); return false; } } else { assert(!debugPredictedWouldPop); } - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); _afterNavigation<dynamic>(route); return true; } @@ -2129,7 +2171,10 @@ void removeRoute(Route<dynamic> route) { assert(route != null); assert(!_debugLocked); - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); assert(route._navigator == this); final int index = _history.indexOf(route); assert(index != -1); @@ -2141,7 +2186,10 @@ for (NavigatorObserver observer in widget.observers) observer.didRemove(route, previousRoute); route.dispose(); - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); _afterNavigation<dynamic>(nextRoute); } @@ -2151,7 +2199,10 @@ /// {@macro flutter.widgets.navigator.removeRouteBelow} void removeRouteBelow(Route<dynamic> anchorRoute) { assert(!_debugLocked); - assert(() { _debugLocked = true; return true; }()); + assert(() { + _debugLocked = true; + return true; + }()); assert(anchorRoute._navigator == this); final int index = _history.indexOf(anchorRoute) - 1; assert(index >= 0); @@ -2166,7 +2217,10 @@ if (nextRoute != null) nextRoute.didChangePrevious(previousRoute); targetRoute.dispose(); - assert(() { _debugLocked = false; return true; }()); + assert(() { + _debugLocked = false; + return true; + }()); } /// Complete the lifecycle for a route that has been popped off the navigator.
diff --git a/packages/flutter/lib/src/widgets/platform_view.dart b/packages/flutter/lib/src/widgets/platform_view.dart index 25a7197..8356982 100644 --- a/packages/flutter/lib/src/widgets/platform_view.dart +++ b/packages/flutter/lib/src/widgets/platform_view.dart
@@ -514,15 +514,15 @@ } if (!isFocused) { _controller.clearFocus().catchError((dynamic e) { - if (e is MissingPluginException) { - // We land the framework part of Android platform views keyboard - // support before the engine part. There will be a commit range where - // clearFocus isn't implemented in the engine. When that happens we - // just swallow the error here. Once the engine part is rolled to the - // framework I'll remove this. - // TODO(amirh): remove this once the engine's clearFocus is rolled. - return; - } + if (e is MissingPluginException) { + // We land the framework part of Android platform views keyboard + // support before the engine part. There will be a commit range where + // clearFocus isn't implemented in the engine. When that happens we + // just swallow the error here. Once the engine part is rolled to the + // framework I'll remove this. + // TODO(amirh): remove this once the engine's clearFocus is rolled. + return; + } }); return; }
diff --git a/packages/flutter/lib/src/widgets/widget_inspector.dart b/packages/flutter/lib/src/widgets/widget_inspector.dart index dcf7764..5698b1a 100644 --- a/packages/flutter/lib/src/widgets/widget_inspector.dart +++ b/packages/flutter/lib/src/widgets/widget_inspector.dart
@@ -947,7 +947,10 @@ void initServiceExtensions(_RegisterServiceExtensionCallback registerServiceExtensionCallback) { _registerServiceExtensionCallback = registerServiceExtensionCallback; assert(!_debugServiceExtensionsRegistered); - assert(() { _debugServiceExtensionsRegistered = true; return true; }()); + assert(() { + _debugServiceExtensionsRegistered = true; + return true; + }()); SchedulerBinding.instance.addPersistentFrameCallback(_onFrameStart);
diff --git a/packages/flutter/test/animation/animation_controller_test.dart b/packages/flutter/test/animation/animation_controller_test.dart index 15796ee..5da9a99 100644 --- a/packages/flutter/test/animation/animation_controller_test.dart +++ b/packages/flutter/test/animation/animation_controller_test.dart
@@ -667,92 +667,98 @@ statusLog.clear(); }); - test('calling repeat with reverse set to true makes the animation alternate ' - 'between lowerBound and upperBound values on each repeat', () { - final AnimationController controller = AnimationController( - duration: const Duration(milliseconds: 100), - value: 0.0, - lowerBound: 0.0, - upperBound: 1.0, - vsync: const TestVSync(), - ); + test( + 'calling repeat with reverse set to true makes the animation alternate ' + 'between lowerBound and upperBound values on each repeat', + () { + final AnimationController controller = AnimationController( + duration: const Duration(milliseconds: 100), + value: 0.0, + lowerBound: 0.0, + upperBound: 1.0, + vsync: const TestVSync(), + ); - expect(controller.value, 0.0); + expect(controller.value, 0.0); - controller.repeat(reverse: true); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 25)); - expect(controller.value, 0.25); + controller.repeat(reverse: true); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 25)); + expect(controller.value, 0.25); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 125)); - expect(controller.value, 0.75); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 125)); + expect(controller.value, 0.75); - controller.reset(); - controller.value = 1.0; - expect(controller.value, 1.0); + controller.reset(); + controller.value = 1.0; + expect(controller.value, 1.0); - controller.repeat(reverse: true); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 25)); - expect(controller.value, 0.75); + controller.repeat(reverse: true); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 25)); + expect(controller.value, 0.75); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 125)); - expect(controller.value, 0.25); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 125)); + expect(controller.value, 0.25); - controller.reset(); - controller.value = 0.5; - expect(controller.value, 0.5); + controller.reset(); + controller.value = 0.5; + expect(controller.value, 0.5); - controller.repeat(reverse: true); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 50)); - expect(controller.value, 1.0); + controller.repeat(reverse: true); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 50)); + expect(controller.value, 1.0); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 150)); - expect(controller.value, 0.0); - }); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 150)); + expect(controller.value, 0.0); + }, + ); - test('calling repeat with specified min and max values makes the animation ' - 'alternate between min and max values on each repeat', () { - final AnimationController controller = AnimationController( - duration: const Duration(milliseconds: 100), - value: 0.0, - lowerBound: 0.0, - upperBound: 1.0, - vsync: const TestVSync(), - ); + test( + 'calling repeat with specified min and max values makes the animation ' + 'alternate between min and max values on each repeat', + () { + final AnimationController controller = AnimationController( + duration: const Duration(milliseconds: 100), + value: 0.0, + lowerBound: 0.0, + upperBound: 1.0, + vsync: const TestVSync(), + ); - expect(controller.value, 0.0); + expect(controller.value, 0.0); - controller.repeat(reverse: true, min: 0.5, max: 1.0); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 50)); - expect(controller.value, 0.75); + controller.repeat(reverse: true, min: 0.5, max: 1.0); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 50)); + expect(controller.value, 0.75); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 100)); - expect(controller.value, 1.00); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 100)); + expect(controller.value, 1.00); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 200)); - expect(controller.value, 0.5); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 200)); + expect(controller.value, 0.5); - controller.reset(); - controller.value = 0.0; - expect(controller.value, 0.0); + controller.reset(); + controller.value = 0.0; + expect(controller.value, 0.0); - controller.repeat(reverse: true, min: 1.0, max: 1.0); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 25)); - expect(controller.value, 1.0); + controller.repeat(reverse: true, min: 1.0, max: 1.0); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 25)); + expect(controller.value, 1.0); - tick(const Duration(milliseconds: 0)); - tick(const Duration(milliseconds: 125)); - expect(controller.value, 1.0); - }); + tick(const Duration(milliseconds: 0)); + tick(const Duration(milliseconds: 125)); + expect(controller.value, 1.0); + }, + ); group('AnimationBehavior', () { test('Default values for constructor', () {
diff --git a/packages/flutter/test/animation/iteration_patterns_test.dart b/packages/flutter/test/animation/iteration_patterns_test.dart index d77b217..74a86f0 100644 --- a/packages/flutter/test/animation/iteration_patterns_test.dart +++ b/packages/flutter/test/animation/iteration_patterns_test.dart
@@ -88,7 +88,10 @@ final List<String> log = <String>[]; final VoidCallback listener1 = () { log.add('listener1'); }; - final VoidCallback badListener = () { log.add('badListener'); throw null; }; + final VoidCallback badListener = () { + log.add('badListener'); + throw null; + }; final VoidCallback listener2 = () { log.add('listener2'); }; controller.addListener(listener1); @@ -108,7 +111,10 @@ final List<String> log = <String>[]; final AnimationStatusListener listener1 = (AnimationStatus status) { log.add('listener1'); }; - final AnimationStatusListener badListener = (AnimationStatus status) { log.add('badListener'); throw null; }; + final AnimationStatusListener badListener = (AnimationStatus status) { + log.add('badListener'); + throw null; + }; final AnimationStatusListener listener2 = (AnimationStatus status) { log.add('listener2'); }; controller.addStatusListener(listener1);
diff --git a/packages/flutter/test/cupertino/date_picker_test.dart b/packages/flutter/test/cupertino/date_picker_test.dart index 8c0de65..328b473 100644 --- a/packages/flutter/test/cupertino/date_picker_test.dart +++ b/packages/flutter/test/cupertino/date_picker_test.dart
@@ -319,7 +319,7 @@ }); testWidgets('background color is not null', (WidgetTester tester) async { - expect( + expect( () { CupertinoDatePicker( onDateTimeChanged: (_) { }, @@ -345,30 +345,30 @@ }); testWidgets('initial date honors minuteInterval', (WidgetTester tester) async { - DateTime newDateTime; - await tester.pumpWidget( - CupertinoApp( - home: Center( - child: SizedBox( - width: 400, - height: 400, - child: CupertinoDatePicker( - onDateTimeChanged: (DateTime d) => newDateTime = d, - initialDateTime: DateTime(2018, 10, 10, 10, 3), - minuteInterval: 3, - ), + DateTime newDateTime; + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: SizedBox( + width: 400, + height: 400, + child: CupertinoDatePicker( + onDateTimeChanged: (DateTime d) => newDateTime = d, + initialDateTime: DateTime(2018, 10, 10, 10, 3), + minuteInterval: 3, ), - ) + ), ) - ); + ) + ); - // Drag the minute picker to the next slot (03 -> 06). - // The `initialDateTime` and the `minuteInterval` values are specifically chosen - // so that `find.text` finds exactly one widget. - await tester.drag(find.text('03'), _kRowOffset); - await tester.pump(); + // Drag the minute picker to the next slot (03 -> 06). + // The `initialDateTime` and the `minuteInterval` values are specifically chosen + // so that `find.text` finds exactly one widget. + await tester.drag(find.text('03'), _kRowOffset); + await tester.pump(); - expect(newDateTime.minute, 6); + expect(newDateTime.minute, 6); }); testWidgets('changing initialDateTime after first build does not do anything', (WidgetTester tester) async {
diff --git a/packages/flutter/test/cupertino/refresh_test.dart b/packages/flutter/test/cupertino/refresh_test.dart index 7faf25d..a974c32 100644 --- a/packages/flutter/test/cupertino/refresh_test.dart +++ b/packages/flutter/test/cupertino/refresh_test.dart
@@ -381,85 +381,86 @@ final FlutterError error = FlutterError('Oops'); double errorCount = 0; - runZoned(() async { - refreshCompleter = Completer<void>.sync(); + runZoned( + () async { + refreshCompleter = Completer<void>.sync(); - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CustomScrollView( - slivers: <Widget>[ - CupertinoSliverRefreshControl( - builder: builder, - onRefresh: onRefresh, - ), - buildAListOfStuff(), - ], + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: CustomScrollView( + slivers: <Widget>[ + CupertinoSliverRefreshControl( + builder: builder, + onRefresh: onRefresh, + ), + buildAListOfStuff(), + ], + ), ), - ), - ); + ); - await tester.drag(find.text('0'), const Offset(0.0, 150.0), touchSlopY: 0); - await tester.pump(); - // Let it start snapping back. - await tester.pump(const Duration(milliseconds: 50)); + await tester.drag(find.text('0'), const Offset(0.0, 150.0), touchSlopY: 0); + await tester.pump(); + // Let it start snapping back. + await tester.pump(const Duration(milliseconds: 50)); - verifyInOrder(<void>[ - mockHelper.builder( + verifyInOrder(<void>[ + mockHelper.builder( + any, + RefreshIndicatorMode.armed, + 150.0, + 100.0, // Default value. + 60.0, // Default value. + ), + mockHelper.refreshTask(), + mockHelper.builder( + any, + RefreshIndicatorMode.armed, + argThat(moreOrLessEquals(127.10396988577114)), + 100.0, // Default value. + 60.0, // Default value. + ), + ]); + + // Reaches refresh state and sliver's at 60.0 in height after a while. + await tester.pump(const Duration(seconds: 1)); + verify(mockHelper.builder( any, - RefreshIndicatorMode.armed, - 150.0, + RefreshIndicatorMode.refresh, + 60.0, 100.0, // Default value. 60.0, // Default value. - ), - mockHelper.refreshTask(), - mockHelper.builder( + )); + + // Stays in that state forever until future completes. + await tester.pump(const Duration(seconds: 1000)); + verifyNoMoreInteractions(mockHelper); + expect( + tester.getTopLeft(find.widgetWithText(Container, '0')), + const Offset(0.0, 60.0), + ); + + refreshCompleter.completeError(error); + await tester.pump(); + + verify(mockHelper.builder( any, - RefreshIndicatorMode.armed, - argThat(moreOrLessEquals(127.10396988577114)), + RefreshIndicatorMode.done, + 60.0, 100.0, // Default value. 60.0, // Default value. - ), - ]); + )); + verifyNoMoreInteractions(mockHelper); + }, + onError: (dynamic e) { + expect(e, error); + expect(errorCount, 0); + errorCount++; + }, + ); - // Reaches refresh state and sliver's at 60.0 in height after a while. - await tester.pump(const Duration(seconds: 1)); - verify(mockHelper.builder( - any, - RefreshIndicatorMode.refresh, - 60.0, - 100.0, // Default value. - 60.0, // Default value. - )); - - // Stays in that state forever until future completes. - await tester.pump(const Duration(seconds: 1000)); - verifyNoMoreInteractions(mockHelper); - expect( - tester.getTopLeft(find.widgetWithText(Container, '0')), - const Offset(0.0, 60.0), - ); - - refreshCompleter.completeError(error); - await tester.pump(); - - verify(mockHelper.builder( - any, - RefreshIndicatorMode.done, - 60.0, - 100.0, // Default value. - 60.0, // Default value. - )); - verifyNoMoreInteractions(mockHelper); - }, - onError: (dynamic e) { - expect(e, error); - expect(errorCount, 0); - errorCount++; - }, - ); - - debugDefaultTargetPlatformOverride = null; + debugDefaultTargetPlatformOverride = null; }, );
diff --git a/packages/flutter/test/cupertino/route_test.dart b/packages/flutter/test/cupertino/route_test.dart index 0fe3a41..17e581f 100644 --- a/packages/flutter/test/cupertino/route_test.dart +++ b/packages/flutter/test/cupertino/route_test.dart
@@ -805,15 +805,15 @@ theme: const CupertinoThemeData(brightness: Brightness.dark), home: CupertinoPageScaffold( child: Builder(builder: (BuildContext context) { - return GestureDetector( - onTap: () async { - await showCupertinoModalPopup<void>( - context: context, - builder: (BuildContext context) => const SizedBox(), - ); - }, - child: const Text('tap'), - ); + return GestureDetector( + onTap: () async { + await showCupertinoModalPopup<void>( + context: context, + builder: (BuildContext context) => const SizedBox(), + ); + }, + child: const Text('tap'), + ); }), ), ),
diff --git a/packages/flutter/test/cupertino/segmented_control_test.dart b/packages/flutter/test/cupertino/segmented_control_test.dart index 8dd9169..db23eec 100644 --- a/packages/flutter/test/cupertino/segmented_control_test.dart +++ b/packages/flutter/test/cupertino/segmented_control_test.dart
@@ -494,22 +494,24 @@ }); testWidgets( - 'Background color of child should change on selection, ' - 'and should not change when tapped again', (WidgetTester tester) async { - await tester.pumpWidget(setupSimpleSegmentedControl()); + 'Background color of child should change on selection, ' + 'and should not change when tapped again', + (WidgetTester tester) async { + await tester.pumpWidget(setupSimpleSegmentedControl()); - expect(getBackgroundColor(tester, 1), CupertinoColors.white); + expect(getBackgroundColor(tester, 1), CupertinoColors.white); - await tester.tap(find.text('Child 2')); - await tester.pumpAndSettle(const Duration(milliseconds: 200)); + await tester.tap(find.text('Child 2')); + await tester.pumpAndSettle(const Duration(milliseconds: 200)); - expect(getBackgroundColor(tester, 1), CupertinoColors.activeBlue); + expect(getBackgroundColor(tester, 1), CupertinoColors.activeBlue); - await tester.tap(find.text('Child 2')); - await tester.pump(); + await tester.tap(find.text('Child 2')); + await tester.pump(); - expect(getBackgroundColor(tester, 1), CupertinoColors.activeBlue); - }); + expect(getBackgroundColor(tester, 1), CupertinoColors.activeBlue); + }, + ); testWidgets( 'Children can be non-Text or Icon widgets (in this case, '
diff --git a/packages/flutter/test/cupertino/switch_test.dart b/packages/flutter/test/cupertino/switch_test.dart index e270206..10d5d1f 100644 --- a/packages/flutter/test/cupertino/switch_test.dart +++ b/packages/flutter/test/cupertino/switch_test.dart
@@ -482,7 +482,7 @@ expect(tester.widget<Opacity>(find.byType(Opacity).first).opacity, 0.5); }); - testWidgets('Switch turns opaque after becoming enabled', (WidgetTester tester) async { + testWidgets('Switch turns opaque after becoming enabled', (WidgetTester tester) async { await tester.pumpWidget( const Directionality( textDirection: TextDirection.ltr,
diff --git a/packages/flutter/test/cupertino/text_field_test.dart b/packages/flutter/test/cupertino/text_field_test.dart index 04377c3..c34e3bd 100644 --- a/packages/flutter/test/cupertino/text_field_test.dart +++ b/packages/flutter/test/cupertino/text_field_test.dart
@@ -981,7 +981,7 @@ testWidgets( 'tapping clear button also calls onChanged when text not empty', - (WidgetTester tester) async { + (WidgetTester tester) async { String value = 'text entry'; final TextEditingController controller = TextEditingController(); await tester.pumpWidget( @@ -2409,7 +2409,7 @@ testWidgets( 'Double tap shows handles and toolbar if selection is not collapsed', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController( text: 'abc def ghi', ); @@ -2438,7 +2438,7 @@ testWidgets( 'Double tap shows toolbar but not handles if selection is collapsed', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController( text: 'abc def ghi', ); @@ -2467,7 +2467,7 @@ testWidgets( 'Mouse long press does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController( text: 'abc def ghi', ); @@ -2499,7 +2499,7 @@ testWidgets( 'Mouse double tap does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController( text: 'abc def ghi', );
diff --git a/packages/flutter/test/cupertino/theme_test.dart b/packages/flutter/test/cupertino/theme_test.dart index 05ea115..c445b82 100644 --- a/packages/flutter/test/cupertino/theme_test.dart +++ b/packages/flutter/test/cupertino/theme_test.dart
@@ -137,22 +137,22 @@ ); testWidgets("Theme has default IconThemeData, which is derived from the theme's primary color", (WidgetTester tester) async { - const Color primaryColor = CupertinoColors.destructiveRed; - const CupertinoThemeData themeData = CupertinoThemeData(primaryColor: primaryColor); + const Color primaryColor = CupertinoColors.destructiveRed; + const CupertinoThemeData themeData = CupertinoThemeData(primaryColor: primaryColor); - final IconThemeData resultingIconTheme = await testIconTheme(tester, themeData); + final IconThemeData resultingIconTheme = await testIconTheme(tester, themeData); - expect(resultingIconTheme.color, themeData.primaryColor); + expect(resultingIconTheme.color, themeData.primaryColor); }); testWidgets('IconTheme.of creates a dependency on iconTheme', (WidgetTester tester) async { - IconThemeData iconTheme = await testIconTheme(tester, const CupertinoThemeData(primaryColor: CupertinoColors.destructiveRed)); + IconThemeData iconTheme = await testIconTheme(tester, const CupertinoThemeData(primaryColor: CupertinoColors.destructiveRed)); - expect(buildCount, 1); - expect(iconTheme.color, CupertinoColors.destructiveRed); + expect(buildCount, 1); + expect(iconTheme.color, CupertinoColors.destructiveRed); - iconTheme = await testIconTheme(tester, const CupertinoThemeData(primaryColor: CupertinoColors.activeOrange)); - expect(buildCount, 2); - expect(iconTheme.color, CupertinoColors.activeOrange); + iconTheme = await testIconTheme(tester, const CupertinoThemeData(primaryColor: CupertinoColors.activeOrange)); + expect(buildCount, 2); + expect(iconTheme.color, CupertinoColors.activeOrange); }); }
diff --git a/packages/flutter/test/foundation/change_notifier_test.dart b/packages/flutter/test/foundation/change_notifier_test.dart index 020ecdc..d0ef104 100644 --- a/packages/flutter/test/foundation/change_notifier_test.dart +++ b/packages/flutter/test/foundation/change_notifier_test.dart
@@ -37,7 +37,10 @@ final VoidCallback listener = () { log.add('listener'); }; final VoidCallback listener1 = () { log.add('listener1'); }; final VoidCallback listener2 = () { log.add('listener2'); }; - final VoidCallback badListener = () { log.add('badListener'); throw null; }; + final VoidCallback badListener = () { + log.add('badListener'); + throw null; + }; final TestNotifier test = TestNotifier();
diff --git a/packages/flutter/test/foundation/error_reporting_test.dart b/packages/flutter/test/foundation/error_reporting_test.dart index c7c4cc7..48fdc2a 100644 --- a/packages/flutter/test/foundation/error_reporting_test.dart +++ b/packages/flutter/test/foundation/error_reporting_test.dart
@@ -60,8 +60,8 @@ library: 'error handling test', context: ErrorDescription('testing the error handling logic'), informationCollector: () sync* { - yield ErrorDescription('line 1 of extra information'); - yield ErrorHint('line 2 of extra information\n'); + yield ErrorDescription('line 1 of extra information'); + yield ErrorHint('line 2 of extra information\n'); }, )); expect(console.join('\n'), matches(
diff --git a/packages/flutter/test/foundation/service_extensions_test.dart b/packages/flutter/test/foundation/service_extensions_test.dart index beed10f..eeab5e5 100644 --- a/packages/flutter/test/foundation/service_extensions_test.dart +++ b/packages/flutter/test/foundation/service_extensions_test.dart
@@ -443,17 +443,26 @@ return ByteData(5); // 0x0000000000 }); bool data; - data = await rootBundle.loadStructuredData<bool>('test', (String value) async { expect(value, '\x00\x00\x00\x00\x00'); return true; }); + data = await rootBundle.loadStructuredData<bool>('test', (String value) async { + expect(value, '\x00\x00\x00\x00\x00'); + return true; + }); expect(data, isTrue); expect(completed, isTrue); completed = false; - data = await rootBundle.loadStructuredData('test', (String value) async { expect(true, isFalse); return null; }); + data = await rootBundle.loadStructuredData('test', (String value) async { + expect(true, isFalse); + return null; + }); expect(data, isTrue); expect(completed, isFalse); result = await binding.testExtension('evict', <String, String>{'value': 'test'}); expect(result, <String, String>{'value': ''}); expect(completed, isFalse); - data = await rootBundle.loadStructuredData<bool>('test', (String value) async { expect(value, '\x00\x00\x00\x00\x00'); return false; }); + data = await rootBundle.loadStructuredData<bool>('test', (String value) async { + expect(value, '\x00\x00\x00\x00\x00'); + return false; + }); expect(data, isFalse); expect(completed, isTrue); ServicesBinding.instance.defaultBinaryMessenger.setMockMessageHandler('flutter/assets', null);
diff --git a/packages/flutter/test/gestures/drag_test.dart b/packages/flutter/test/gestures/drag_test.dart index 9a0876b..dc5ad32 100644 --- a/packages/flutter/test/gestures/drag_test.dart +++ b/packages/flutter/test/gestures/drag_test.dart
@@ -894,266 +894,280 @@ recognized.clear(); }); - testGesture('On multiple pointers, DragGestureRecognizer is canceled ' - 'when all pointers are canceled (FIFO)', (GestureTester tester) { - // This test simulates the following scenario: - // P1 down, P2 down, P1 up, P2 up - final List<String> logs = <String>[]; - final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() - ..onDown = (DragDownDetails details) { logs.add('downH'); } - ..onStart = (DragStartDetails details) { logs.add('startH'); } - ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } - ..onEnd = (DragEndDetails details) { logs.add('endH'); } - ..onCancel = () { logs.add('cancelH'); }; - // Competitor - final TapGestureRecognizer vert = TapGestureRecognizer() - ..onTapDown = (TapDownDetails details) { logs.add('downT'); } - ..onTapUp = (TapUpDetails details) { logs.add('upT'); } - ..onTapCancel = () {}; - addTearDown(hori.dispose); - addTearDown(vert.dispose); + testGesture( + 'On multiple pointers, DragGestureRecognizer is canceled ' + 'when all pointers are canceled (FIFO)', + (GestureTester tester) { + // This test simulates the following scenario: + // P1 down, P2 down, P1 up, P2 up + final List<String> logs = <String>[]; + final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() + ..onDown = (DragDownDetails details) { logs.add('downH'); } + ..onStart = (DragStartDetails details) { logs.add('startH'); } + ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } + ..onEnd = (DragEndDetails details) { logs.add('endH'); } + ..onCancel = () { logs.add('cancelH'); }; + // Competitor + final TapGestureRecognizer vert = TapGestureRecognizer() + ..onTapDown = (TapDownDetails details) { logs.add('downT'); } + ..onTapUp = (TapUpDetails details) { logs.add('upT'); } + ..onTapCancel = () {}; + addTearDown(hori.dispose); + addTearDown(vert.dispose); - final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); - final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); + final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); + final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); - final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); - final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); + final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); + final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); - hori.addPointer(down1); - vert.addPointer(down1); - tester.route(down1); - tester.closeArena(pointer1.pointer); - expect(logs, <String>['downH']); - logs.clear(); + hori.addPointer(down1); + vert.addPointer(down1); + tester.route(down1); + tester.closeArena(pointer1.pointer); + expect(logs, <String>['downH']); + logs.clear(); - hori.addPointer(down2); - vert.addPointer(down2); - tester.route(down2); - tester.closeArena(pointer2.pointer); - expect(logs, <String>[]); - logs.clear(); + hori.addPointer(down2); + vert.addPointer(down2); + tester.route(down2); + tester.closeArena(pointer2.pointer); + expect(logs, <String>[]); + logs.clear(); - tester.route(pointer1.up()); - GestureBinding.instance.gestureArena.sweep(pointer1.pointer); - expect(logs, <String>['downT', 'upT']); - logs.clear(); + tester.route(pointer1.up()); + GestureBinding.instance.gestureArena.sweep(pointer1.pointer); + expect(logs, <String>['downT', 'upT']); + logs.clear(); - tester.route(pointer2.up()); - GestureBinding.instance.gestureArena.sweep(pointer2.pointer); - expect(logs, <String>['cancelH']); - logs.clear(); - }); + tester.route(pointer2.up()); + GestureBinding.instance.gestureArena.sweep(pointer2.pointer); + expect(logs, <String>['cancelH']); + logs.clear(); + }, + ); - testGesture('On multiple pointers, DragGestureRecognizer is canceled ' - 'when all pointers are canceled (FILO)', (GestureTester tester) { - // This test simulates the following scenario: - // P1 down, P2 down, P1 up, P2 up - final List<String> logs = <String>[]; - final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() - ..onDown = (DragDownDetails details) { logs.add('downH'); } - ..onStart = (DragStartDetails details) { logs.add('startH'); } - ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } - ..onEnd = (DragEndDetails details) { logs.add('endH'); } - ..onCancel = () { logs.add('cancelH'); }; - // Competitor - final TapGestureRecognizer vert = TapGestureRecognizer() - ..onTapDown = (TapDownDetails details) { logs.add('downT'); } - ..onTapUp = (TapUpDetails details) { logs.add('upT'); } - ..onTapCancel = () {}; - addTearDown(hori.dispose); - addTearDown(vert.dispose); + testGesture( + 'On multiple pointers, DragGestureRecognizer is canceled ' + 'when all pointers are canceled (FILO)', + (GestureTester tester) { + // This test simulates the following scenario: + // P1 down, P2 down, P1 up, P2 up + final List<String> logs = <String>[]; + final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() + ..onDown = (DragDownDetails details) { logs.add('downH'); } + ..onStart = (DragStartDetails details) { logs.add('startH'); } + ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } + ..onEnd = (DragEndDetails details) { logs.add('endH'); } + ..onCancel = () { logs.add('cancelH'); }; + // Competitor + final TapGestureRecognizer vert = TapGestureRecognizer() + ..onTapDown = (TapDownDetails details) { logs.add('downT'); } + ..onTapUp = (TapUpDetails details) { logs.add('upT'); } + ..onTapCancel = () {}; + addTearDown(hori.dispose); + addTearDown(vert.dispose); - final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); - final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); + final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); + final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); - final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); - final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); + final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); + final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); - hori.addPointer(down1); - vert.addPointer(down1); - tester.route(down1); - tester.closeArena(pointer1.pointer); - expect(logs, <String>['downH']); - logs.clear(); + hori.addPointer(down1); + vert.addPointer(down1); + tester.route(down1); + tester.closeArena(pointer1.pointer); + expect(logs, <String>['downH']); + logs.clear(); - hori.addPointer(down2); - vert.addPointer(down2); - tester.route(down2); - tester.closeArena(pointer2.pointer); - expect(logs, <String>[]); - logs.clear(); + hori.addPointer(down2); + vert.addPointer(down2); + tester.route(down2); + tester.closeArena(pointer2.pointer); + expect(logs, <String>[]); + logs.clear(); - tester.route(pointer2.up()); - GestureBinding.instance.gestureArena.sweep(pointer2.pointer); - // Tap is not triggered because pointer2 is not its primary pointer - expect(logs, <String>[]); - logs.clear(); + tester.route(pointer2.up()); + GestureBinding.instance.gestureArena.sweep(pointer2.pointer); + // Tap is not triggered because pointer2 is not its primary pointer + expect(logs, <String>[]); + logs.clear(); - tester.route(pointer1.up()); - GestureBinding.instance.gestureArena.sweep(pointer1.pointer); - expect(logs, <String>['cancelH', 'downT', 'upT']); - logs.clear(); + tester.route(pointer1.up()); + GestureBinding.instance.gestureArena.sweep(pointer1.pointer); + expect(logs, <String>['cancelH', 'downT', 'upT']); + logs.clear(); + }, + ); - }); + testGesture( + 'On multiple pointers, DragGestureRecognizer is accepted when the ' + 'first pointer is accepted', + (GestureTester tester) { + // This test simulates the following scenario: + // P1 down, P2 down, P1 moves away, P2 up + final List<String> logs = <String>[]; + final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() + ..onDown = (DragDownDetails details) { logs.add('downH'); } + ..onStart = (DragStartDetails details) { logs.add('startH'); } + ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } + ..onEnd = (DragEndDetails details) { logs.add('endH'); } + ..onCancel = () { logs.add('cancelH'); }; + // Competitor + final TapGestureRecognizer vert = TapGestureRecognizer() + ..onTapDown = (TapDownDetails details) { logs.add('downT'); } + ..onTapUp = (TapUpDetails details) { logs.add('upT'); } + ..onTapCancel = () {}; + addTearDown(hori.dispose); + addTearDown(vert.dispose); - testGesture('On multiple pointers, DragGestureRecognizer is accepted when the ' - 'first pointer is accepted', (GestureTester tester) { - // This test simulates the following scenario: - // P1 down, P2 down, P1 moves away, P2 up - final List<String> logs = <String>[]; - final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() - ..onDown = (DragDownDetails details) { logs.add('downH'); } - ..onStart = (DragStartDetails details) { logs.add('startH'); } - ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } - ..onEnd = (DragEndDetails details) { logs.add('endH'); } - ..onCancel = () { logs.add('cancelH'); }; - // Competitor - final TapGestureRecognizer vert = TapGestureRecognizer() - ..onTapDown = (TapDownDetails details) { logs.add('downT'); } - ..onTapUp = (TapUpDetails details) { logs.add('upT'); } - ..onTapCancel = () {}; - addTearDown(hori.dispose); - addTearDown(vert.dispose); + final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); + final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); - final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); - final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); + final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); + final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); - final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); - final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); + hori.addPointer(down1); + vert.addPointer(down1); + tester.route(down1); + tester.closeArena(pointer1.pointer); + expect(logs, <String>['downH']); + logs.clear(); - hori.addPointer(down1); - vert.addPointer(down1); - tester.route(down1); - tester.closeArena(pointer1.pointer); - expect(logs, <String>['downH']); - logs.clear(); + hori.addPointer(down2); + vert.addPointer(down2); + tester.route(down2); + tester.closeArena(pointer2.pointer); + expect(logs, <String>[]); + logs.clear(); - hori.addPointer(down2); - vert.addPointer(down2); - tester.route(down2); - tester.closeArena(pointer2.pointer); - expect(logs, <String>[]); - logs.clear(); + tester.route(pointer1.move(const Offset(100, 100))); + expect(logs, <String>['startH']); + logs.clear(); - tester.route(pointer1.move(const Offset(100, 100))); - expect(logs, <String>['startH']); - logs.clear(); + tester.route(pointer2.up()); + GestureBinding.instance.gestureArena.sweep(pointer2.pointer); + expect(logs, <String>[]); + logs.clear(); - tester.route(pointer2.up()); - GestureBinding.instance.gestureArena.sweep(pointer2.pointer); - expect(logs, <String>[]); - logs.clear(); + tester.route(pointer1.up()); + GestureBinding.instance.gestureArena.sweep(pointer1.pointer); + expect(logs, <String>['endH']); + logs.clear(); + }, + ); - tester.route(pointer1.up()); - GestureBinding.instance.gestureArena.sweep(pointer1.pointer); - expect(logs, <String>['endH']); - logs.clear(); - }); + testGesture( + 'On multiple pointers, canceled pointers (due to up) do not ' + 'prevent later pointers getting accepted', + (GestureTester tester) { + // This test simulates the following scenario: + // P1 down, P2 down, P1 Up, P2 moves away + final List<String> logs = <String>[]; + final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() + ..onDown = (DragDownDetails details) { logs.add('downH'); } + ..onStart = (DragStartDetails details) { logs.add('startH'); } + ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } + ..onEnd = (DragEndDetails details) { logs.add('endH'); } + ..onCancel = () { logs.add('cancelH'); }; + // Competitor + final TapGestureRecognizer vert = TapGestureRecognizer() + ..onTapDown = (TapDownDetails details) { logs.add('downT'); } + ..onTapUp = (TapUpDetails details) { logs.add('upT'); } + ..onTapCancel = () {}; + addTearDown(hori.dispose); + addTearDown(vert.dispose); - testGesture('On multiple pointers, canceled pointers (due to up) do not ' - 'prevent later pointers getting accepted', (GestureTester tester) { - // This test simulates the following scenario: - // P1 down, P2 down, P1 Up, P2 moves away - final List<String> logs = <String>[]; - final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() - ..onDown = (DragDownDetails details) { logs.add('downH'); } - ..onStart = (DragStartDetails details) { logs.add('startH'); } - ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } - ..onEnd = (DragEndDetails details) { logs.add('endH'); } - ..onCancel = () { logs.add('cancelH'); }; - // Competitor - final TapGestureRecognizer vert = TapGestureRecognizer() - ..onTapDown = (TapDownDetails details) { logs.add('downT'); } - ..onTapUp = (TapUpDetails details) { logs.add('upT'); } - ..onTapCancel = () {}; - addTearDown(hori.dispose); - addTearDown(vert.dispose); + final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); + final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); - final TestPointer pointer1 = TestPointer(4, PointerDeviceKind.touch); - final TestPointer pointer2 = TestPointer(5, PointerDeviceKind.touch); + final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); + final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); - final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); - final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); + hori.addPointer(down1); + vert.addPointer(down1); + tester.route(down1); + tester.closeArena(pointer1.pointer); + expect(logs, <String>['downH']); + logs.clear(); - hori.addPointer(down1); - vert.addPointer(down1); - tester.route(down1); - tester.closeArena(pointer1.pointer); - expect(logs, <String>['downH']); - logs.clear(); + hori.addPointer(down2); + vert.addPointer(down2); + tester.route(down2); + tester.closeArena(pointer2.pointer); + expect(logs, <String>[]); + logs.clear(); - hori.addPointer(down2); - vert.addPointer(down2); - tester.route(down2); - tester.closeArena(pointer2.pointer); - expect(logs, <String>[]); - logs.clear(); + tester.route(pointer1.up()); + GestureBinding.instance.gestureArena.sweep(pointer1.pointer); + expect(logs, <String>['downT', 'upT']); + logs.clear(); - tester.route(pointer1.up()); - GestureBinding.instance.gestureArena.sweep(pointer1.pointer); - expect(logs, <String>['downT', 'upT']); - logs.clear(); + tester.route(pointer2.move(const Offset(100, 100))); + expect(logs, <String>['startH']); + logs.clear(); - tester.route(pointer2.move(const Offset(100, 100))); - expect(logs, <String>['startH']); - logs.clear(); + tester.route(pointer2.up()); + GestureBinding.instance.gestureArena.sweep(pointer2.pointer); + expect(logs, <String>['endH']); + logs.clear(); + }, + ); - tester.route(pointer2.up()); - GestureBinding.instance.gestureArena.sweep(pointer2.pointer); - expect(logs, <String>['endH']); - logs.clear(); - }); + testGesture( + 'On multiple pointers, canceled pointers (due to buttons) do not ' + 'prevent later pointers getting accepted', + (GestureTester tester) { + // This test simulates the following scenario: + // P1 down, P2 down, P1 change buttons, P2 moves away + final List<String> logs = <String>[]; + final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() + ..onDown = (DragDownDetails details) { logs.add('downH'); } + ..onStart = (DragStartDetails details) { logs.add('startH'); } + ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } + ..onEnd = (DragEndDetails details) { logs.add('endH'); } + ..onCancel = () { logs.add('cancelH'); }; + // Competitor + final TapGestureRecognizer vert = TapGestureRecognizer() + ..onTapDown = (TapDownDetails details) { logs.add('downT'); } + ..onTapUp = (TapUpDetails details) { logs.add('upT'); } + ..onTapCancel = () {}; + addTearDown(hori.dispose); + addTearDown(vert.dispose); - testGesture('On multiple pointers, canceled pointers (due to buttons) do not ' - 'prevent later pointers getting accepted', (GestureTester tester) { - // This test simulates the following scenario: - // P1 down, P2 down, P1 change buttons, P2 moves away - final List<String> logs = <String>[]; - final HorizontalDragGestureRecognizer hori = HorizontalDragGestureRecognizer() - ..onDown = (DragDownDetails details) { logs.add('downH'); } - ..onStart = (DragStartDetails details) { logs.add('startH'); } - ..onUpdate = (DragUpdateDetails details) { logs.add('updateH'); } - ..onEnd = (DragEndDetails details) { logs.add('endH'); } - ..onCancel = () { logs.add('cancelH'); }; - // Competitor - final TapGestureRecognizer vert = TapGestureRecognizer() - ..onTapDown = (TapDownDetails details) { logs.add('downT'); } - ..onTapUp = (TapUpDetails details) { logs.add('upT'); } - ..onTapCancel = () {}; - addTearDown(hori.dispose); - addTearDown(vert.dispose); + final TestPointer pointer1 = TestPointer(1, PointerDeviceKind.touch); + final TestPointer pointer2 = TestPointer(2, PointerDeviceKind.touch); - final TestPointer pointer1 = TestPointer(1, PointerDeviceKind.touch); - final TestPointer pointer2 = TestPointer(2, PointerDeviceKind.touch); + final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); + final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); - final PointerDownEvent down1 = pointer1.down(const Offset(10.0, 10.0)); - final PointerDownEvent down2 = pointer2.down(const Offset(11.0, 10.0)); + hori.addPointer(down1); + vert.addPointer(down1); + tester.route(down1); + tester.closeArena(pointer1.pointer); - hori.addPointer(down1); - vert.addPointer(down1); - tester.route(down1); - tester.closeArena(pointer1.pointer); + hori.addPointer(down2); + vert.addPointer(down2); + tester.route(down2); + tester.closeArena(pointer2.pointer); + expect(logs, <String>['downH']); + logs.clear(); - hori.addPointer(down2); - vert.addPointer(down2); - tester.route(down2); - tester.closeArena(pointer2.pointer); - expect(logs, <String>['downH']); - logs.clear(); + // Pointer 1 changes buttons, which cancel tap, leaving drag the only + // remaining member of arena 1, therefore drag is accepted. + tester.route(pointer1.move(const Offset(9.9, 9.9), buttons: kSecondaryButton)); + expect(logs, <String>['startH']); + logs.clear(); - // Pointer 1 changes buttons, which cancel tap, leaving drag the only - // remaining member of arena 1, therefore drag is accepted. - tester.route(pointer1.move(const Offset(9.9, 9.9), buttons: kSecondaryButton)); - expect(logs, <String>['startH']); - logs.clear(); + tester.route(pointer2.move(const Offset(100, 100))); + expect(logs, <String>['updateH']); + logs.clear(); - tester.route(pointer2.move(const Offset(100, 100))); - expect(logs, <String>['updateH']); - logs.clear(); - - tester.route(pointer2.up()); - GestureBinding.instance.gestureArena.sweep(pointer2.pointer); - expect(logs, <String>['endH']); - logs.clear(); - }); + tester.route(pointer2.up()); + GestureBinding.instance.gestureArena.sweep(pointer2.pointer); + expect(logs, <String>['endH']); + logs.clear(); + }, + ); }
diff --git a/packages/flutter/test/gestures/mouse_tracking_test.dart b/packages/flutter/test/gestures/mouse_tracking_test.dart index b22da89..73e2088 100644 --- a/packages/flutter/test/gestures/mouse_tracking_test.dart +++ b/packages/flutter/test/gestures/mouse_tracking_test.dart
@@ -65,7 +65,7 @@ isInHitRegionTwo = false; tracker = MouseTracker( GestureBinding.instance.pointerRouter, - (Offset _) sync* { + (Offset _) sync* { if (isInHitRegionOne) yield annotation; else if (isInHitRegionTwo)
diff --git a/packages/flutter/test/material/back_button_test.dart b/packages/flutter/test/material/back_button_test.dart index 5044a3f..5334169 100644 --- a/packages/flutter/test/material/back_button_test.dart +++ b/packages/flutter/test/material/back_button_test.dart
@@ -35,34 +35,34 @@ }); testWidgets('BackButton onPressed overrides default pop behavior', (WidgetTester tester) async { - bool backPressed = false; - await tester.pumpWidget( - MaterialApp( - home: const Material(child: Text('Home')), - routes: <String, WidgetBuilder>{ - '/next': (BuildContext context) { - return Material( - child: Center( - child: BackButton(onPressed: () => backPressed = true), - ), - ); - }, + bool backPressed = false; + await tester.pumpWidget( + MaterialApp( + home: const Material(child: Text('Home')), + routes: <String, WidgetBuilder>{ + '/next': (BuildContext context) { + return Material( + child: Center( + child: BackButton(onPressed: () => backPressed = true), + ), + ); }, - ) - ); + }, + ) + ); - tester.state<NavigatorState>(find.byType(Navigator)).pushNamed('/next'); + tester.state<NavigatorState>(find.byType(Navigator)).pushNamed('/next'); - await tester.pumpAndSettle(); + await tester.pumpAndSettle(); - await tester.tap(find.byType(BackButton)); + await tester.tap(find.byType(BackButton)); - await tester.pumpAndSettle(); + await tester.pumpAndSettle(); - // We're still on the second page. - expect(find.text('Home'), findsNothing); - // But the custom callback is called. - expect(backPressed, true); + // We're still on the second page. + expect(find.text('Home'), findsNothing); + // But the custom callback is called. + expect(backPressed, true); }); testWidgets('BackButton icon', (WidgetTester tester) async {
diff --git a/packages/flutter/test/material/chip_test.dart b/packages/flutter/test/material/chip_test.dart index 6429842..ff1ba8f 100644 --- a/packages/flutter/test/material/chip_test.dart +++ b/packages/flutter/test/material/chip_test.dart
@@ -239,145 +239,157 @@ }); testWidgets( - 'Chip does not constrain size of label widget if it does not exceed ' - 'the available space', (WidgetTester tester) async { - const double labelWidth = 50.0; - const double labelHeight = 30.0; - final Key labelKey = UniqueKey(); + 'Chip does not constrain size of label widget if it does not exceed ' + 'the available space', + (WidgetTester tester) async { + const double labelWidth = 50.0; + const double labelHeight = 30.0; + final Key labelKey = UniqueKey(); - await tester.pumpWidget( - _wrapForChip( - child: Center( - child: Container( - width: 500.0, - height: 500.0, - child: Column( - children: <Widget>[ - Chip( - label: Container( - key: labelKey, - width: labelWidth, - height: labelHeight, + await tester.pumpWidget( + _wrapForChip( + child: Center( + child: Container( + width: 500.0, + height: 500.0, + child: Column( + children: <Widget>[ + Chip( + label: Container( + key: labelKey, + width: labelWidth, + height: labelHeight, + ), ), - ), - ], - ), - ), - ), - ), - ); - - final Size labelSize = tester.getSize(find.byKey(labelKey)); - expect(labelSize.width, labelWidth); - expect(labelSize.height, labelHeight); - }); - - testWidgets( - 'Chip constrains the size of the label widget when it exceeds the ' - 'available space', (WidgetTester tester) async { - await _testConstrainedLabel(tester); - }); - - testWidgets( - 'Chip constrains the size of the label widget when it exceeds the ' - 'available space and the avatar is present', (WidgetTester tester) async { - await _testConstrainedLabel( - tester, - avatar: const CircleAvatar(child: Text('A')), - ); - }); - - testWidgets( - 'Chip constrains the size of the label widget when it exceeds the ' - 'available space and the delete icon is present', (WidgetTester tester) async { - await _testConstrainedLabel( - tester, - onDeleted: () { }, - ); - }); - - testWidgets( - 'Chip constrains the size of the label widget when it exceeds the ' - 'available space and both avatar and delete icons are present', (WidgetTester tester) async { - await _testConstrainedLabel( - tester, - avatar: const CircleAvatar(child: Text('A')), - onDeleted: () { }, - ); - }); - - testWidgets( - 'Chip constrains the avatar, label, and delete icons to the bounds of ' - 'the chip when it exceeds the available space', (WidgetTester tester) async { - // Regression test for https://github.com/flutter/flutter/issues/11523 - Widget chipBuilder (String text, {Widget avatar, VoidCallback onDeleted}) { - return MaterialApp( - home: Scaffold( - body: Container( - width: 150, - child: Column( - children: <Widget>[ - Chip( - avatar: avatar, - label: Text(text), - onDeleted: onDeleted, - ), - ] + ], + ), ), ), ), ); - } - void chipRectContains(Rect chipRect, Rect rect) { - expect(chipRect.contains(rect.topLeft), true); - expect(chipRect.contains(rect.topRight), true); - expect(chipRect.contains(rect.bottomLeft), true); - expect(chipRect.contains(rect.bottomRight), true); - } + final Size labelSize = tester.getSize(find.byKey(labelKey)); + expect(labelSize.width, labelWidth); + expect(labelSize.height, labelHeight); + }, + ); - Rect chipRect; - Rect avatarRect; - Rect labelRect; - Rect deleteIconRect; - const String text = 'Very long text that will be clipped'; + testWidgets( + 'Chip constrains the size of the label widget when it exceeds the ' + 'available space', + (WidgetTester tester) async { + await _testConstrainedLabel(tester); + }, + ); - await tester.pumpWidget(chipBuilder(text)); + testWidgets( + 'Chip constrains the size of the label widget when it exceeds the ' + 'available space and the avatar is present', + (WidgetTester tester) async { + await _testConstrainedLabel( + tester, + avatar: const CircleAvatar(child: Text('A')), + ); + }, + ); - chipRect = tester.getRect(find.byType(Chip)); - labelRect = tester.getRect(find.text(text)); - chipRectContains(chipRect, labelRect); + testWidgets( + 'Chip constrains the size of the label widget when it exceeds the ' + 'available space and the delete icon is present', + (WidgetTester tester) async { + await _testConstrainedLabel( + tester, + onDeleted: () { }, + ); + }, + ); - await tester.pumpWidget(chipBuilder( - text, - avatar: const CircleAvatar(child: Text('A')), - )); - await tester.pumpAndSettle(); + testWidgets( + 'Chip constrains the size of the label widget when it exceeds the ' + 'available space and both avatar and delete icons are present', + (WidgetTester tester) async { + await _testConstrainedLabel( + tester, + avatar: const CircleAvatar(child: Text('A')), + onDeleted: () { }, + ); + }, + ); - chipRect = tester.getRect(find.byType(Chip)); - avatarRect = tester.getRect(find.byType(CircleAvatar)); - chipRectContains(chipRect, avatarRect); + testWidgets( + 'Chip constrains the avatar, label, and delete icons to the bounds of ' + 'the chip when it exceeds the available space', + (WidgetTester tester) async { + // Regression test for https://github.com/flutter/flutter/issues/11523 + Widget chipBuilder (String text, {Widget avatar, VoidCallback onDeleted}) { + return MaterialApp( + home: Scaffold( + body: Container( + width: 150, + child: Column( + children: <Widget>[ + Chip( + avatar: avatar, + label: Text(text), + onDeleted: onDeleted, + ), + ] + ), + ), + ), + ); + } - labelRect = tester.getRect(find.text(text)); - chipRectContains(chipRect, labelRect); + void chipRectContains(Rect chipRect, Rect rect) { + expect(chipRect.contains(rect.topLeft), true); + expect(chipRect.contains(rect.topRight), true); + expect(chipRect.contains(rect.bottomLeft), true); + expect(chipRect.contains(rect.bottomRight), true); + } - await tester.pumpWidget(chipBuilder( - text, - avatar: const CircleAvatar(child: Text('A')), - onDeleted: () {}, - )); - await tester.pumpAndSettle(); + Rect chipRect; + Rect avatarRect; + Rect labelRect; + Rect deleteIconRect; + const String text = 'Very long text that will be clipped'; - chipRect = tester.getRect(find.byType(Chip)); - avatarRect = tester.getRect(find.byType(CircleAvatar)); - chipRectContains(chipRect, avatarRect); + await tester.pumpWidget(chipBuilder(text)); - labelRect = tester.getRect(find.text(text)); - chipRectContains(chipRect, labelRect); + chipRect = tester.getRect(find.byType(Chip)); + labelRect = tester.getRect(find.text(text)); + chipRectContains(chipRect, labelRect); - deleteIconRect = tester.getRect(find.byIcon(Icons.cancel)); - chipRectContains(chipRect, deleteIconRect); - }); + await tester.pumpWidget(chipBuilder( + text, + avatar: const CircleAvatar(child: Text('A')), + )); + await tester.pumpAndSettle(); + + chipRect = tester.getRect(find.byType(Chip)); + avatarRect = tester.getRect(find.byType(CircleAvatar)); + chipRectContains(chipRect, avatarRect); + + labelRect = tester.getRect(find.text(text)); + chipRectContains(chipRect, labelRect); + + await tester.pumpWidget(chipBuilder( + text, + avatar: const CircleAvatar(child: Text('A')), + onDeleted: () {}, + )); + await tester.pumpAndSettle(); + + chipRect = tester.getRect(find.byType(Chip)); + avatarRect = tester.getRect(find.byType(CircleAvatar)); + chipRectContains(chipRect, avatarRect); + + labelRect = tester.getRect(find.text(text)); + chipRectContains(chipRect, labelRect); + + deleteIconRect = tester.getRect(find.byIcon(Icons.cancel)); + chipRectContains(chipRect, deleteIconRect); + }, + ); testWidgets('Chip in row works ok', (WidgetTester tester) async { const TextStyle style = TextStyle(fontFamily: 'Ahem', fontSize: 10.0); @@ -807,12 +819,12 @@ StatefulBuilder(builder: (BuildContext context, StateSetter setState) { return RawChip( onDeleted: deletable - ? () { - setState(() { - wasDeleted = true; - }); - } - : null, + ? () { + setState(() { + wasDeleted = true; + }); + } + : null, deleteIcon: Container(width: 40.0, height: 40.0, key: deleteButtonKey), label: Text('Chip', key: labelKey), shape: const StadiumBorder(), @@ -923,12 +935,12 @@ return RawChip( avatar: avatar, onSelected: selectable != null - ? (bool value) { - setState(() { - selected = value; - }); - } - : null, + ? (bool value) { + setState(() { + selected = value; + }); + } + : null, selected: selected, label: Text('Chip', key: labelKey), shape: const StadiumBorder(), @@ -1005,12 +1017,12 @@ StatefulBuilder(builder: (BuildContext context, StateSetter setState) { return RawChip( onSelected: selectable != null - ? (bool value) { - setState(() { - selected = value; - }); - } - : null, + ? (bool value) { + setState(() { + selected = value; + }); + } + : null, selected: selected, label: Text('Chip', key: labelKey), shape: const StadiumBorder(), @@ -1082,12 +1094,12 @@ return RawChip( avatar: avatar, onSelected: selectable != null - ? (bool value) { - setState(() { - selected = value; - }); - } - : null, + ? (bool value) { + setState(() { + selected = value; + }); + } + : null, selected: selected, label: Text('Chip', key: labelKey), shape: const StadiumBorder(), @@ -1229,19 +1241,19 @@ selected: isSelectable && value, label: Text('$value'), onSelected: isSelectable - ? (bool newValue) { - setState(() { - value = newValue; - }); - } - : null, + ? (bool newValue) { + setState(() { + value = newValue; + }); + } + : null, onPressed: isPressable - ? () { - setState(() { - value = true; - }); - } - : null, + ? () { + setState(() { + value = true; + }); + } + : null, ); }), ),
diff --git a/packages/flutter/test/material/expand_icon_test.dart b/packages/flutter/test/material/expand_icon_test.dart index 9cf2b62..1198b92 100644 --- a/packages/flutter/test/material/expand_icon_test.dart +++ b/packages/flutter/test/material/expand_icon_test.dart
@@ -176,16 +176,17 @@ await tester.pumpWidget(wrap( child: StatefulBuilder( builder: (BuildContext context, StateSetter setState) { - return ExpandIcon( - isExpanded: expanded, - onPressed: (bool isExpanded) { - setState(() { - expanded = !isExpanded; - }); - }, - color: Colors.indigo, - ); - }), + return ExpandIcon( + isExpanded: expanded, + onPressed: (bool isExpanded) { + setState(() { + expanded = !isExpanded; + }); + }, + color: Colors.indigo, + ); + }, + ), )); await tester.pumpAndSettle(); iconTheme = tester.firstWidget(find.byType(IconTheme).last); @@ -201,17 +202,18 @@ await tester.pumpWidget(wrap( child: StatefulBuilder( builder: (BuildContext context, StateSetter setState) { - return ExpandIcon( - isExpanded: expanded, - onPressed: (bool isExpanded) { - setState(() { - expanded = !isExpanded; - }); - }, - color: Colors.indigo, - expandedColor: Colors.teal, - ); - }), + return ExpandIcon( + isExpanded: expanded, + onPressed: (bool isExpanded) { + setState(() { + expanded = !isExpanded; + }); + }, + color: Colors.indigo, + expandedColor: Colors.teal, + ); + }, + ), )); await tester.pumpAndSettle(); iconTheme = tester.firstWidget(find.byType(IconTheme).last);
diff --git a/packages/flutter/test/material/expansion_panel_test.dart b/packages/flutter/test/material/expansion_panel_test.dart index 5f87d73..7963099 100644 --- a/packages/flutter/test/material/expansion_panel_test.dart +++ b/packages/flutter/test/material/expansion_panel_test.dart
@@ -636,132 +636,135 @@ expect(callbackResults['isExpanded'], equals(false)); }); - testWidgets('didUpdateWidget accounts for toggling between ExpansionPanelList' - 'and ExpansionPaneList.radio', (WidgetTester tester) async { - bool isRadioList = false; - final List<bool> _panelExpansionState = <bool>[ - false, - false, - false, - ]; + testWidgets( + 'didUpdateWidget accounts for toggling between ExpansionPanelList' + 'and ExpansionPaneList.radio', + (WidgetTester tester) async { + bool isRadioList = false; + final List<bool> _panelExpansionState = <bool>[ + false, + false, + false, + ]; - ExpansionPanelList buildRadioExpansionPanelList() { - return ExpansionPanelList.radio( - initialOpenPanelValue: 2, - children: <ExpansionPanelRadio>[ - ExpansionPanelRadio( - headerBuilder: (BuildContext context, bool isExpanded) { - return Text(isExpanded ? 'B' : 'A'); - }, - body: const SizedBox(height: 100.0), - value: 0, - ), - ExpansionPanelRadio( - headerBuilder: (BuildContext context, bool isExpanded) { - return Text(isExpanded ? 'D' : 'C'); - }, - body: const SizedBox(height: 100.0), - value: 1, - ), - ExpansionPanelRadio( - headerBuilder: (BuildContext context, bool isExpanded) { - return Text(isExpanded ? 'F' : 'E'); - }, - body: const SizedBox(height: 100.0), - value: 2, - ), - ], - ); - } - - ExpansionPanelList buildExpansionPanelList(Function setState) { - return ExpansionPanelList( - expansionCallback: (int index, _) => setState(() { _panelExpansionState[index] = !_panelExpansionState[index]; }), - children: <ExpansionPanel>[ - ExpansionPanel( - isExpanded: _panelExpansionState[0], - headerBuilder: (BuildContext context, bool isExpanded) { - return Text(isExpanded ? 'B' : 'A'); - }, - body: const SizedBox(height: 100.0), - ), - ExpansionPanel( - isExpanded: _panelExpansionState[1], - headerBuilder: (BuildContext context, bool isExpanded) { - return Text(isExpanded ? 'D' : 'C'); - }, - body: const SizedBox(height: 100.0), - ), - ExpansionPanel( - isExpanded: _panelExpansionState[2], - headerBuilder: (BuildContext context, bool isExpanded) { - return Text(isExpanded ? 'F' : 'E'); - }, - body: const SizedBox(height: 100.0), - ), - ], - ); - } - - await tester.pumpWidget( - StatefulBuilder( - builder: (BuildContext context, StateSetter setState) { - return MaterialApp( - home: Scaffold( - body: SingleChildScrollView( - child: isRadioList - ? buildRadioExpansionPanelList() - : buildExpansionPanelList(setState) - ), - floatingActionButton: FloatingActionButton( - onPressed: () => setState(() { isRadioList = !isRadioList; }), - ), + ExpansionPanelList buildRadioExpansionPanelList() { + return ExpansionPanelList.radio( + initialOpenPanelValue: 2, + children: <ExpansionPanelRadio>[ + ExpansionPanelRadio( + headerBuilder: (BuildContext context, bool isExpanded) { + return Text(isExpanded ? 'B' : 'A'); + }, + body: const SizedBox(height: 100.0), + value: 0, ), - ); - }, - ), - ); + ExpansionPanelRadio( + headerBuilder: (BuildContext context, bool isExpanded) { + return Text(isExpanded ? 'D' : 'C'); + }, + body: const SizedBox(height: 100.0), + value: 1, + ), + ExpansionPanelRadio( + headerBuilder: (BuildContext context, bool isExpanded) { + return Text(isExpanded ? 'F' : 'E'); + }, + body: const SizedBox(height: 100.0), + value: 2, + ), + ], + ); + } - expect(find.text('A'), findsOneWidget); - expect(find.text('B'), findsNothing); - expect(find.text('C'), findsOneWidget); - expect(find.text('D'), findsNothing); - expect(find.text('E'), findsOneWidget); - expect(find.text('F'), findsNothing); + ExpansionPanelList buildExpansionPanelList(Function setState) { + return ExpansionPanelList( + expansionCallback: (int index, _) => setState(() { _panelExpansionState[index] = !_panelExpansionState[index]; }), + children: <ExpansionPanel>[ + ExpansionPanel( + isExpanded: _panelExpansionState[0], + headerBuilder: (BuildContext context, bool isExpanded) { + return Text(isExpanded ? 'B' : 'A'); + }, + body: const SizedBox(height: 100.0), + ), + ExpansionPanel( + isExpanded: _panelExpansionState[1], + headerBuilder: (BuildContext context, bool isExpanded) { + return Text(isExpanded ? 'D' : 'C'); + }, + body: const SizedBox(height: 100.0), + ), + ExpansionPanel( + isExpanded: _panelExpansionState[2], + headerBuilder: (BuildContext context, bool isExpanded) { + return Text(isExpanded ? 'F' : 'E'); + }, + body: const SizedBox(height: 100.0), + ), + ], + ); + } - await tester.tap(find.byType(ExpandIcon).at(0)); - await tester.tap(find.byType(ExpandIcon).at(1)); - await tester.pumpAndSettle(); + await tester.pumpWidget( + StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return MaterialApp( + home: Scaffold( + body: SingleChildScrollView( + child: isRadioList + ? buildRadioExpansionPanelList() + : buildExpansionPanelList(setState) + ), + floatingActionButton: FloatingActionButton( + onPressed: () => setState(() { isRadioList = !isRadioList; }), + ), + ), + ); + }, + ), + ); - expect(find.text('A'), findsNothing); - expect(find.text('B'), findsOneWidget); - expect(find.text('C'), findsNothing); - expect(find.text('D'), findsOneWidget); - expect(find.text('E'), findsOneWidget); - expect(find.text('F'), findsNothing); + expect(find.text('A'), findsOneWidget); + expect(find.text('B'), findsNothing); + expect(find.text('C'), findsOneWidget); + expect(find.text('D'), findsNothing); + expect(find.text('E'), findsOneWidget); + expect(find.text('F'), findsNothing); - // ExpansionPanelList --> ExpansionPanelList.radio - await tester.tap(find.byType(FloatingActionButton)); - await tester.pumpAndSettle(); + await tester.tap(find.byType(ExpandIcon).at(0)); + await tester.tap(find.byType(ExpandIcon).at(1)); + await tester.pumpAndSettle(); - expect(find.text('A'), findsOneWidget); - expect(find.text('B'), findsNothing); - expect(find.text('C'), findsOneWidget); - expect(find.text('D'), findsNothing); - expect(find.text('E'), findsNothing); - expect(find.text('F'), findsOneWidget); + expect(find.text('A'), findsNothing); + expect(find.text('B'), findsOneWidget); + expect(find.text('C'), findsNothing); + expect(find.text('D'), findsOneWidget); + expect(find.text('E'), findsOneWidget); + expect(find.text('F'), findsNothing); - // ExpansionPanelList.radio --> ExpansionPanelList - await tester.tap(find.byType(FloatingActionButton)); - await tester.pumpAndSettle(); + // ExpansionPanelList --> ExpansionPanelList.radio + await tester.tap(find.byType(FloatingActionButton)); + await tester.pumpAndSettle(); - expect(find.text('A'), findsNothing); - expect(find.text('B'), findsOneWidget); - expect(find.text('C'), findsNothing); - expect(find.text('D'), findsOneWidget); - expect(find.text('E'), findsOneWidget); - expect(find.text('F'), findsNothing); - }); + expect(find.text('A'), findsOneWidget); + expect(find.text('B'), findsNothing); + expect(find.text('C'), findsOneWidget); + expect(find.text('D'), findsNothing); + expect(find.text('E'), findsNothing); + expect(find.text('F'), findsOneWidget); + + // ExpansionPanelList.radio --> ExpansionPanelList + await tester.tap(find.byType(FloatingActionButton)); + await tester.pumpAndSettle(); + + expect(find.text('A'), findsNothing); + expect(find.text('B'), findsOneWidget); + expect(find.text('C'), findsNothing); + expect(find.text('D'), findsOneWidget); + expect(find.text('E'), findsOneWidget); + expect(find.text('F'), findsNothing); + }, + ); testWidgets('No duplicate global keys at layout/build time', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/13780
diff --git a/packages/flutter/test/material/popup_menu_theme_test.dart b/packages/flutter/test/material/popup_menu_theme_test.dart index d58f851..7db290a 100644 --- a/packages/flutter/test/material/popup_menu_theme_test.dart +++ b/packages/flutter/test/material/popup_menu_theme_test.dart
@@ -29,8 +29,7 @@ expect(popupMenuTheme.textStyle, null); }); - testWidgets('Default PopupMenuThemeData debugFillProperties', - (WidgetTester tester) async { + testWidgets('Default PopupMenuThemeData debugFillProperties', (WidgetTester tester) async { final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); const PopupMenuThemeData().debugFillProperties(builder); @@ -42,8 +41,7 @@ expect(description, <String>[]); }); - testWidgets('PopupMenuThemeData implements debugFillProperties', - (WidgetTester tester) async { + testWidgets('PopupMenuThemeData implements debugFillProperties', (WidgetTester tester) async { final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); PopupMenuThemeData( color: const Color(0xFFFFFFFF),
diff --git a/packages/flutter/test/material/scaffold_test.dart b/packages/flutter/test/material/scaffold_test.dart index 18c52b6..b72843d 100644 --- a/packages/flutter/test/material/scaffold_test.dart +++ b/packages/flutter/test/material/scaffold_test.dart
@@ -1559,51 +1559,51 @@ }); }); - testWidgets('Drawer opens correctly with custom edgeDragWidth', (WidgetTester tester) async { - // The default edge drag width is 20.0. - await tester.pumpWidget( - MaterialApp( - home: Scaffold( - drawer: const Drawer( - child: Text('Drawer'), - ), - body: const Text('Scaffold body'), - appBar: AppBar( - centerTitle: true, - title: const Text('Title'), - ), + testWidgets('Drawer opens correctly with custom edgeDragWidth', (WidgetTester tester) async { + // The default edge drag width is 20.0. + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + drawer: const Drawer( + child: Text('Drawer'), + ), + body: const Text('Scaffold body'), + appBar: AppBar( + centerTitle: true, + title: const Text('Title'), ), ), - ); - ScaffoldState scaffoldState = tester.state(find.byType(Scaffold)); - expect(scaffoldState.isDrawerOpen, false); + ), + ); + ScaffoldState scaffoldState = tester.state(find.byType(Scaffold)); + expect(scaffoldState.isDrawerOpen, false); - await tester.dragFrom(const Offset(35, 100), const Offset(300, 0)); - await tester.pumpAndSettle(); - expect(scaffoldState.isDrawerOpen, false); + await tester.dragFrom(const Offset(35, 100), const Offset(300, 0)); + await tester.pumpAndSettle(); + expect(scaffoldState.isDrawerOpen, false); - await tester.pumpWidget( - MaterialApp( - home: Scaffold( - drawer: const Drawer( - child: Text('Drawer'), - ), - drawerEdgeDragWidth: 40.0, - body: const Text('Scaffold Body'), - appBar: AppBar( - centerTitle: true, - title: const Text('Title'), - ), + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + drawer: const Drawer( + child: Text('Drawer'), + ), + drawerEdgeDragWidth: 40.0, + body: const Text('Scaffold Body'), + appBar: AppBar( + centerTitle: true, + title: const Text('Title'), ), ), - ); - scaffoldState = tester.state(find.byType(Scaffold)); - expect(scaffoldState.isDrawerOpen, false); + ), + ); + scaffoldState = tester.state(find.byType(Scaffold)); + expect(scaffoldState.isDrawerOpen, false); - await tester.dragFrom(const Offset(35, 100), const Offset(300, 0)); - await tester.pumpAndSettle(); - expect(scaffoldState.isDrawerOpen, true); - }); + await tester.dragFrom(const Offset(35, 100), const Offset(300, 0)); + await tester.pumpAndSettle(); + expect(scaffoldState.isDrawerOpen, true); + }); testWidgets('Nested scaffold body insets', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/20295
diff --git a/packages/flutter/test/material/slider_test.dart b/packages/flutter/test/material/slider_test.dart index 637d066..bfa1579 100644 --- a/packages/flutter/test/material/slider_test.dart +++ b/packages/flutter/test/material/slider_test.dart
@@ -1548,8 +1548,7 @@ expect(renderObject.size.height, 200); }); - testWidgets( - 'Slider implements debugFillProperties', (WidgetTester tester) async { + testWidgets('Slider implements debugFillProperties', (WidgetTester tester) async { final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); const Slider(
diff --git a/packages/flutter/test/material/text_field_test.dart b/packages/flutter/test/material/text_field_test.dart index a3a86ba..226a2c7 100644 --- a/packages/flutter/test/material/text_field_test.dart +++ b/packages/flutter/test/material/text_field_test.dart
@@ -6887,7 +6887,7 @@ testWidgets( 'Tap in empty text field does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController(); await tester.pumpWidget( @@ -6932,7 +6932,7 @@ testWidgets( 'Long press in empty text field shows handles and toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController(); await tester.pumpWidget( @@ -6979,7 +6979,7 @@ testWidgets( 'Double tap in empty text field shows toolbar but not handles', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController(); await tester.pumpWidget( @@ -7004,7 +7004,7 @@ testWidgets( 'Mouse tap does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController( text: 'abc def ghi', ); @@ -7037,7 +7037,7 @@ testWidgets( 'Mouse long press does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController( text: 'abc def ghi', ); @@ -7070,7 +7070,7 @@ testWidgets( 'Mouse double tap does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { final TextEditingController controller = TextEditingController( text: 'abc def ghi', );
diff --git a/packages/flutter/test/material/text_form_field_test.dart b/packages/flutter/test/material/text_form_field_test.dart index acffbc4..eb20bf5 100644 --- a/packages/flutter/test/material/text_form_field_test.dart +++ b/packages/flutter/test/material/text_form_field_test.dart
@@ -176,7 +176,10 @@ child: Center( child: TextFormField( autovalidate: true, - validator: (String value) { _validateCalled++; return null; }, + validator: (String value) { + _validateCalled++; + return null; + }, ), ), ), @@ -199,7 +202,10 @@ child: TextFormField( enabled: true, autovalidate: true, - validator: (String value) { _validateCalled += 1; return null; }, + validator: (String value) { + _validateCalled += 1; + return null; + }, ), ), ),
diff --git a/packages/flutter/test/material/toggle_buttons_theme_test.dart b/packages/flutter/test/material/toggle_buttons_theme_test.dart index 15ecacf..5240264 100644 --- a/packages/flutter/test/material/toggle_buttons_theme_test.dart +++ b/packages/flutter/test/material/toggle_buttons_theme_test.dart
@@ -58,7 +58,7 @@ expect(theme.data.borderWidth, null); }); - testWidgets('Default ToggleButtonsThemeData debugFillProperties', (WidgetTester tester) async { + testWidgets('Default ToggleButtonsThemeData debugFillProperties', (WidgetTester tester) async { final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); const ToggleButtonsThemeData().debugFillProperties(builder); @@ -90,12 +90,12 @@ borderWidth: 2.0, ).debugFillProperties(builder); - final List<String> description = builder.properties + final List<String> description = builder.properties .where((DiagnosticsNode node) => !node.isFiltered(DiagnosticLevel.info)) .map((DiagnosticsNode node) => node.toString()) .toList(); - expect(description, <String>[ + expect(description, <String>[ 'textStyle.inherit: true', 'textStyle.size: 10.0', 'constraints: BoxConstraints(0.0<=w<=Infinity, 10.0<=h<=20.0)',
diff --git a/packages/flutter/test/painting/image_resolution_test.dart b/packages/flutter/test/painting/image_resolution_test.dart index 096f440..f3f8796 100644 --- a/packages/flutter/test/painting/image_resolution_test.dart +++ b/packages/flutter/test/painting/image_resolution_test.dart
@@ -115,8 +115,7 @@ })); }); - test( - 'When high-res device and high-res asset not present in bundle then return main variant', () { + test('When high-res device and high-res asset not present in bundle then return main variant', () { const String mainAssetPath = 'assets/normalFolder/normalFile.png'; final Map<String, List<String>> assetBundleMap =
diff --git a/packages/flutter/test/painting/mocks_for_image_cache.dart b/packages/flutter/test/painting/mocks_for_image_cache.dart index 0c48149..656967e 100644 --- a/packages/flutter/test/painting/mocks_for_image_cache.dart +++ b/packages/flutter/test/painting/mocks_for_image_cache.dart
@@ -113,7 +113,7 @@ throw Error(); } - @override + @override Future<LoadErrorImageProvider> obtainKey(ImageConfiguration configuration) { return SynchronousFuture<LoadErrorImageProvider>(this); } @@ -127,7 +127,7 @@ return OneFrameImageStreamCompleter(completer.future); } - @override + @override Future<LoadErrorCompleterImageProvider> obtainKey(ImageConfiguration configuration) { return SynchronousFuture<LoadErrorCompleterImageProvider>(this); }
diff --git a/packages/flutter/test/rendering/cached_intrinsics_test.dart b/packages/flutter/test/rendering/cached_intrinsics_test.dart index 2b9f792..6f90d36 100644 --- a/packages/flutter/test/rendering/cached_intrinsics_test.dart +++ b/packages/flutter/test/rendering/cached_intrinsics_test.dart
@@ -7,7 +7,10 @@ class RenderTestBox extends RenderBox { double value = 0.0; - double next() { value += 1.0; return value; } + double next() { + value += 1.0; + return value; + } @override double computeMinIntrinsicWidth(double height) => next(); @override
diff --git a/packages/flutter/test/services/fake_platform_views.dart b/packages/flutter/test/services/fake_platform_views.dart index 857033e..48c27c4 100644 --- a/packages/flutter/test/services/fake_platform_views.dart +++ b/packages/flutter/test/services/fake_platform_views.dart
@@ -312,7 +312,7 @@ class FakeHtmlPlatformViewsController { FakeHtmlPlatformViewsController() { - SystemChannels.platform_views.setMockMethodCallHandler(_onMethodCall); + SystemChannels.platform_views.setMockMethodCallHandler(_onMethodCall); } Iterable<FakeHtmlPlatformView> get views => _views.values;
diff --git a/packages/flutter/test/widgets/actions_test.dart b/packages/flutter/test/widgets/actions_test.dart index 17efccd..2841020 100644 --- a/packages/flutter/test/widgets/actions_test.dart +++ b/packages/flutter/test/widgets/actions_test.dart
@@ -226,11 +226,11 @@ const Intent(ValueKey<String>('foo')).debugFillProperties(builder); final List<String> description = builder.properties - .where((DiagnosticsNode node) { - return !node.isFiltered(DiagnosticLevel.info); - }) - .map((DiagnosticsNode node) => node.toString()) - .toList(); + .where((DiagnosticsNode node) { + return !node.isFiltered(DiagnosticLevel.info); + }) + .map((DiagnosticsNode node) => node.toString()) + .toList(); expect(description, equals(<String>['key: [<\'foo\'>]'])); }); @@ -257,11 +257,11 @@ Actions(actions: const <LocalKey, ActionFactory>{}, child: Container()).debugFillProperties(builder); final List<String> description = builder.properties - .where((DiagnosticsNode node) { - return !node.isFiltered(DiagnosticLevel.info); - }) - .map((DiagnosticsNode node) => node.toString()) - .toList(); + .where((DiagnosticsNode node) { + return !node.isFiltered(DiagnosticLevel.info); + }) + .map((DiagnosticsNode node) => node.toString()) + .toList(); expect(description[0], equalsIgnoringHashCodes('dispatcher: ActionDispatcher#00000')); expect(description[1], equals('actions: {}')); @@ -278,11 +278,11 @@ ).debugFillProperties(builder); final List<String> description = builder.properties - .where((DiagnosticsNode node) { - return !node.isFiltered(DiagnosticLevel.info); - }) - .map((DiagnosticsNode node) => node.toString()) - .toList(); + .where((DiagnosticsNode node) { + return !node.isFiltered(DiagnosticLevel.info); + }) + .map((DiagnosticsNode node) => node.toString()) + .toList(); expect(description[0], equalsIgnoringHashCodes('dispatcher: ActionDispatcher#00000')); expect(description[1], equals('actions: {[<\'bar\'>]: Closure: () => TestAction}'));
diff --git a/packages/flutter/test/widgets/draggable_test.dart b/packages/flutter/test/widgets/draggable_test.dart index 39e0b5a..b5f1697 100644 --- a/packages/flutter/test/widgets/draggable_test.dart +++ b/packages/flutter/test/widgets/draggable_test.dart
@@ -982,8 +982,7 @@ feedback: Text('Dragging'), ), DragTarget<int>( - builder: - (BuildContext context, List<int> data, List<dynamic> rejects) { + builder: (BuildContext context, List<int> data, List<dynamic> rejects) { return Container( height: 100.0, child: rejects.isNotEmpty @@ -1041,8 +1040,7 @@ }, ), DragTarget<int>( - builder: - (BuildContext context, List<int> data, List<dynamic> rejects) { + builder: (BuildContext context, List<int> data, List<dynamic> rejects) { return Container( height: 100.0, child: rejects.isNotEmpty
diff --git a/packages/flutter/test/widgets/heroes_test.dart b/packages/flutter/test/widgets/heroes_test.dart index 4e7b801..a2cdf56 100644 --- a/packages/flutter/test/widgets/heroes_test.dart +++ b/packages/flutter/test/widgets/heroes_test.dart
@@ -1055,12 +1055,12 @@ bool _isVisible(Element node) { bool isVisible = true; node.visitAncestorElements((Element ancestor) { - final RenderObject r = ancestor.renderObject; - if (r is RenderOpacity && r.opacity == 0) { - isVisible = false; - return false; - } - return true; + final RenderObject r = ancestor.renderObject; + if (r is RenderOpacity && r.opacity == 0) { + isVisible = false; + return false; + } + return true; }); return isVisible; } @@ -2222,39 +2222,40 @@ } ); - // Load image before measuring the `Rect` of the `RenderImage`. - imageProvider.complete(); - await tester.pump(); - final RenderImage renderImage = tester.renderObject( - find.descendant(of: find.byKey(imageKey1), matching: find.byType(RawImage)) - ); + // Load image before measuring the `Rect` of the `RenderImage`. + imageProvider.complete(); + await tester.pump(); + final RenderImage renderImage = tester.renderObject( + find.descendant(of: find.byKey(imageKey1), matching: find.byType(RawImage)) + ); - // Before push image1 should be laid out correctly. - expect(renderImage.size, const Size(100, 100)); + // Before push image1 should be laid out correctly. + expect(renderImage.size, const Size(100, 100)); - navigatorKey.currentState.push(route2); - await tester.pump(); + navigatorKey.currentState.push(route2); + await tester.pump(); - final TestGesture gesture = await tester.startGesture(const Offset(0.01, 300)); - await tester.pump(); + final TestGesture gesture = await tester.startGesture(const Offset(0.01, 300)); + await tester.pump(); - // Move (almost) across the screen, to make the animation as close to finish - // as possible. - await gesture.moveTo(const Offset(800, 200)); - await tester.pump(); + // Move (almost) across the screen, to make the animation as close to finish + // as possible. + await gesture.moveTo(const Offset(800, 200)); + await tester.pump(); - // image1 should snap to the top left corner of the Row widget. - expect( - tester.getRect(find.byKey(imageKey1, skipOffstage: false)), - rectMoreOrLessEquals(tester.getTopLeft(find.widgetWithText(Row, '1')) & const Size(100, 100), epsilon: 0.01), - ); + // image1 should snap to the top left corner of the Row widget. + expect( + tester.getRect(find.byKey(imageKey1, skipOffstage: false)), + rectMoreOrLessEquals(tester.getTopLeft(find.widgetWithText(Row, '1')) & const Size(100, 100), epsilon: 0.01), + ); - // Text should respect the correct final size of image1. - expect( - tester.getTopRight(find.byKey(imageKey1, skipOffstage: false)).dx, - moreOrLessEquals(tester.getTopLeft(find.text('1')).dx, epsilon: 0.01), - ); - }); + // Text should respect the correct final size of image1. + expect( + tester.getTopRight(find.byKey(imageKey1, skipOffstage: false)).dx, + moreOrLessEquals(tester.getTopLeft(find.text('1')).dx, epsilon: 0.01), + ); + }, + ); // Regression test for https://github.com/flutter/flutter/issues/40239. testWidgets(
diff --git a/packages/flutter/test/widgets/layout_builder_test.dart b/packages/flutter/test/widgets/layout_builder_test.dart index 64f7372..9e50b30 100644 --- a/packages/flutter/test/widgets/layout_builder_test.dart +++ b/packages/flutter/test/widgets/layout_builder_test.dart
@@ -190,8 +190,8 @@ // Make child wider and higher than the viewport. setState(() { - childWidth = 900.0; - childHeight = 900.0; + childWidth = 900.0; + childHeight = 900.0; }); await tester.pump(); @@ -294,9 +294,7 @@ expect(built, 2); }); - testWidgets('SliverLayoutBuilder and Inherited -- do not rebuild when not using inherited', - (WidgetTester tester) async { - + testWidgets('SliverLayoutBuilder and Inherited -- do not rebuild when not using inherited', (WidgetTester tester) async { int built = 0; final Widget target = Directionality( textDirection: TextDirection.ltr,
diff --git a/packages/flutter/test/widgets/listener_test.dart b/packages/flutter/test/widgets/listener_test.dart index e474c5f..da1592e 100644 --- a/packages/flutter/test/widgets/listener_test.dart +++ b/packages/flutter/test/widgets/listener_test.dart
@@ -58,7 +58,7 @@ events.add(event); }, onPointerUp: (PointerUpEvent event) { - events.add(event); + events.add(event); }, onPointerMove: (PointerMoveEvent event) { events.add(event);
diff --git a/packages/flutter/test/widgets/physical_model_test.dart b/packages/flutter/test/widgets/physical_model_test.dart index 666c054..c1ae8db 100644 --- a/packages/flutter/test/widgets/physical_model_test.dart +++ b/packages/flutter/test/widgets/physical_model_test.dart
@@ -413,7 +413,7 @@ // │ │ // ──────────────────────────── testWidgets('non-rect partially overlapping, wrong painting order, check disabled', (WidgetTester tester) async { - final List<Widget> children = <Widget>[ + final List<Widget> children = <Widget>[ Positioned.fromRect( rect: const Rect.fromLTWH(150, 150, 150, 150), child: Container(
diff --git a/packages/flutter/test/widgets/platform_view_test.dart b/packages/flutter/test/widgets/platform_view_test.dart index 2526dd1..e7f5188 100644 --- a/packages/flutter/test/widgets/platform_view_test.dart +++ b/packages/flutter/test/widgets/platform_view_test.dart
@@ -622,8 +622,7 @@ ); }); - testWidgets( - 'Android view can claim gesture after all pointers are up', (WidgetTester tester) async { + testWidgets('Android view can claim gesture after all pointers are up', (WidgetTester tester) async { final int currentViewId = platformViewsRegistry.getNextPlatformViewId(); final FakeAndroidPlatformViewsController viewsController = FakeAndroidPlatformViewsController(); viewsController.registerViewType('webview'); @@ -1762,8 +1761,7 @@ }); - testWidgets( - 'PlatformViewSurface can claim gesture after all pointers are up', (WidgetTester tester) async { + testWidgets('PlatformViewSurface can claim gesture after all pointers are up', (WidgetTester tester) async { bool verticalDragAcceptedByParent = false; // The long press recognizer rejects the gesture after the PlatformViewSurface gets the pointer up event. // This test makes sure that the PlatformViewSurface can win the gesture after it got the pointer up event.
diff --git a/packages/flutter/test/widgets/route_notification_messages_test.dart b/packages/flutter/test/widgets/route_notification_messages_test.dart index 74b1bc4..c8f9d39 100644 --- a/packages/flutter/test/widgets/route_notification_messages_test.dart +++ b/packages/flutter/test/widgets/route_notification_messages_test.dart
@@ -35,8 +35,7 @@ } void main() { - testWidgets('Push and Pop should send platform messages', - (WidgetTester tester) async { + testWidgets('Push and Pop should send platform messages', (WidgetTester tester) async { final Map<String, WidgetBuilder> routes = <String, WidgetBuilder>{ '/': (BuildContext context) => OnTapPage( id: '/', @@ -52,8 +51,7 @@ final List<MethodCall> log = <MethodCall>[]; - SystemChannels.navigation - .setMockMethodCallHandler((MethodCall methodCall) async { + SystemChannels.navigation.setMockMethodCallHandler((MethodCall methodCall) async { log.add(methodCall); }); @@ -103,8 +101,7 @@ )); }); - testWidgets('Replace should send platform messages', - (WidgetTester tester) async { + testWidgets('Replace should send platform messages', (WidgetTester tester) async { final Map<String, WidgetBuilder> routes = <String, WidgetBuilder>{ '/': (BuildContext context) => OnTapPage( id: '/', @@ -121,8 +118,7 @@ final List<MethodCall> log = <MethodCall>[]; - SystemChannels.navigation - .setMockMethodCallHandler((MethodCall methodCall) async { + SystemChannels.navigation.setMockMethodCallHandler((MethodCall methodCall) async { log.add(methodCall); });
diff --git a/packages/flutter/test/widgets/scroll_view_test.dart b/packages/flutter/test/widgets/scroll_view_test.dart index c03f368..895dfcc 100644 --- a/packages/flutter/test/widgets/scroll_view_test.dart +++ b/packages/flutter/test/widgets/scroll_view_test.dart
@@ -350,7 +350,10 @@ Directionality( textDirection: TextDirection.ltr, child: NotificationListener<OverscrollNotification>( - onNotification: (OverscrollNotification message) { scrolled = true; return false; }, + onNotification: (OverscrollNotification message) { + scrolled = true; + return false; + }, child: ListView( primary: true, children: const <Widget>[], @@ -368,7 +371,10 @@ Directionality( textDirection: TextDirection.ltr, child: NotificationListener<OverscrollNotification>( - onNotification: (OverscrollNotification message) { scrolled = true; return false; }, + onNotification: (OverscrollNotification message) { + scrolled = true; + return false; + }, child: ListView( primary: false, children: const <Widget>[], @@ -386,7 +392,10 @@ Directionality( textDirection: TextDirection.ltr, child: NotificationListener<OverscrollNotification>( - onNotification: (OverscrollNotification message) { scrolled = true; return false; }, + onNotification: (OverscrollNotification message) { + scrolled = true; + return false; + }, child: ListView( primary: false, physics: const AlwaysScrollableScrollPhysics(), @@ -405,7 +414,10 @@ Directionality( textDirection: TextDirection.ltr, child: NotificationListener<OverscrollNotification>( - onNotification: (OverscrollNotification message) { scrolled = true; return false; }, + onNotification: (OverscrollNotification message) { + scrolled = true; + return false; + }, child: ListView( primary: true, physics: const ScrollPhysics(),
diff --git a/packages/flutter/test/widgets/selectable_text_test.dart b/packages/flutter/test/widgets/selectable_text_test.dart index 9433cf8..e247d66 100644 --- a/packages/flutter/test/widgets/selectable_text_test.dart +++ b/packages/flutter/test/widgets/selectable_text_test.dart
@@ -1379,8 +1379,7 @@ final FocusNode focusNode = FocusNode(); String clipboardContent = ''; - SystemChannels.platform - .setMockMethodCallHandler((MethodCall methodCall) async { + SystemChannels.platform.setMockMethodCallHandler((MethodCall methodCall) async { if (methodCall.method == 'Clipboard.setData') clipboardContent = methodCall.arguments['text']; else if (methodCall.method == 'Clipboard.getData') @@ -2308,7 +2307,7 @@ testWidgets( 'tap moves cursor to the edge of the word it tapped on (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2340,7 +2339,7 @@ testWidgets( 'tap moves cursor to the position tapped (Android)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Material( @@ -2372,7 +2371,7 @@ testWidgets( 'two slow taps do not trigger a word selection (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2407,7 +2406,7 @@ testWidgets( 'double tap selects word and first tap of double tap moves cursor (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2453,7 +2452,7 @@ testWidgets( 'double tap selects word and first tap of double tap moves cursor and shows toolbar (Android)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Material( @@ -2498,7 +2497,7 @@ testWidgets( 'double tap on top of cursor also selects word (Android)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Material( @@ -2547,7 +2546,7 @@ testWidgets( 'double tap hold selects word (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2594,7 +2593,7 @@ testWidgets( 'tap after a double tap select is not affected (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2641,7 +2640,7 @@ testWidgets( 'long press moves cursor to the exact long press position and shows toolbar (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2674,7 +2673,7 @@ testWidgets( 'long press selects word and shows toolbar (Android)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( @@ -2706,7 +2705,7 @@ testWidgets( 'long press tap cannot initiate a double tap (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2742,7 +2741,7 @@ testWidgets( 'long press drag moves the cursor under the drag and shows toolbar on lift (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2898,7 +2897,7 @@ testWidgets( 'long tap after a double tap select is not affected (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2942,7 +2941,7 @@ //convert testWidgets( 'double tap after a long tap is not affected (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -2984,7 +2983,7 @@ testWidgets( 'double tap chains work (iOS)', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.iOS), @@ -3238,7 +3237,7 @@ testWidgets( 'strut basic single line', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.android), @@ -3261,7 +3260,7 @@ testWidgets( 'strut TextStyle increases height', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.android), @@ -3308,7 +3307,7 @@ testWidgets( 'strut basic multi line', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.android), @@ -3332,7 +3331,7 @@ testWidgets( 'strut no force small strut', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.android), @@ -3364,7 +3363,7 @@ testWidgets( 'strut no force large strut', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.android), @@ -3393,7 +3392,7 @@ testWidgets( 'strut height override', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.android), @@ -3422,7 +3421,7 @@ testWidgets( 'strut forces field taller', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( theme: ThemeData(platform: TargetPlatform.android), @@ -3636,7 +3635,7 @@ testWidgets( 'Mouse tap does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Material( @@ -3665,7 +3664,7 @@ testWidgets( 'Mouse long press does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Material( @@ -3694,7 +3693,7 @@ testWidgets( 'Mouse double tap does not show handles nor toolbar', - (WidgetTester tester) async { + (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Material(
diff --git a/packages/flutter/test/widgets/shortcuts_test.dart b/packages/flutter/test/widgets/shortcuts_test.dart index 51b2862..8a618f7 100644 --- a/packages/flutter/test/widgets/shortcuts_test.dart +++ b/packages/flutter/test/widgets/shortcuts_test.dart
@@ -193,9 +193,9 @@ Actions( actions: <LocalKey, ActionFactory>{ TestAction.key: () => TestAction(onInvoke: (FocusNode node, Intent intent) { - invoked = true; - return true; - }), + invoked = true; + return true; + }), }, child: Shortcuts( manager: testManager,
diff --git a/packages/flutter/test/widgets/slivers_test.dart b/packages/flutter/test/widgets/slivers_test.dart index f8e13f2..ee9c372 100644 --- a/packages/flutter/test/widgets/slivers_test.dart +++ b/packages/flutter/test/widgets/slivers_test.dart
@@ -34,7 +34,7 @@ SliverFixedExtentList( itemExtent: 900, delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { + (BuildContext context, int index) { return Center( key: ValueKey<String>(items[index]), child: KeepAlive( @@ -268,7 +268,9 @@ expect(find.text('4'), findsOneWidget); }); - testWidgets('SliverGrid Correctly layout children after rearranging', (WidgetTester tester) async { + testWidgets( + 'SliverGrid Correctly layout children after rearranging', + (WidgetTester tester) async { await tester.pumpWidget(const TestSliverGrid( <Widget>[ Text('item0', key: Key('0')), @@ -299,7 +301,9 @@ }, ); - testWidgets('SliverFixedExtentList Correctly layout children after rearranging', (WidgetTester tester) async { + testWidgets( + 'SliverFixedExtentList Correctly layout children after rearranging', + (WidgetTester tester) async { await tester.pumpWidget(const TestSliverFixedExtentList( <Widget>[ Text('item0', key: Key('0')), @@ -363,7 +367,7 @@ SliverFixedExtentList( itemExtent: 200, delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { + (BuildContext context, int index) { if (index <= 6) { return Center(child: Text('Page $index')); } @@ -395,7 +399,7 @@ SliverFixedExtentList( itemExtent: 200, delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { + (BuildContext context, int index) { if (index <= 6) { return Center(child: Text('Page $index')); }
diff --git a/packages/flutter/test/widgets/text_selection_test.dart b/packages/flutter/test/widgets/text_selection_test.dart index 40eda84..911f20a 100644 --- a/packages/flutter/test/widgets/text_selection_test.dart +++ b/packages/flutter/test/widgets/text_selection_test.dart
@@ -551,8 +551,7 @@ }); // Regression test for https://github.com/flutter/flutter/issues/37032. - testWidgets("selection handle's GestureDetector should not cover the entire screen", - (WidgetTester tester) async { + testWidgets("selection handle's GestureDetector should not cover the entire screen", (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; final TextEditingController controller = TextEditingController(text: 'a');
diff --git a/packages/flutter_tools/lib/src/android/android_builder.dart b/packages/flutter_tools/lib/src/android/android_builder.dart index fdff980..fb99b67 100644 --- a/packages/flutter_tools/lib/src/android/android_builder.dart +++ b/packages/flutter_tools/lib/src/android/android_builder.dart
@@ -86,7 +86,7 @@ @required AndroidBuildInfo androidBuildInfo, @required String target, }) async { - if (!project.android.isUsingGradle) { + if (!project.android.isUsingGradle) { throwToolExit( 'The build process for Android has changed, and the current project configuration ' 'is no longer valid. Please consult\n\n'
diff --git a/packages/flutter_tools/lib/src/build_runner/build_script.dart b/packages/flutter_tools/lib/src/build_runner/build_script.dart index 703e670..6adb7a0 100644 --- a/packages/flutter_tools/lib/src/build_runner/build_script.dart +++ b/packages/flutter_tools/lib/src/build_runner/build_script.dart
@@ -275,7 +275,7 @@ assetPath, contents, Runtime.builtIn.map((Runtime runtime) => runtime.name).toSet()); if (metadata.testOn.evaluate(SuitePlatform(Runtime.chrome))) { - await buildStep.writeAsString(id.addExtension('.browser_test.dart'), ''' + await buildStep.writeAsString(id.addExtension('.browser_test.dart'), ''' import 'dart:ui' as ui; import 'dart:html'; import 'dart:js';
diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart index 5badddd..fd93aef 100644 --- a/packages/flutter_tools/lib/src/dart/pub.dart +++ b/packages/flutter_tools/lib/src/dart/pub.dart
@@ -284,7 +284,8 @@ // ! front_end 0.1.0-alpha.0 from path ../../bin/cache/dart-sdk/lib/front_end if (message == 'Warning: You are using these overridden dependencies:') { return null; - } if (message.contains(_analyzerWarning)) { + } + if (message.contains(_analyzerWarning)) { return null; } return message;
diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart index 35e7d54..4aec079 100644 --- a/packages/flutter_tools/lib/src/doctor.dart +++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -505,7 +505,7 @@ return terminal.color(leadingBox, TerminalColor.green); case ValidationType.notAvailable: case ValidationType.partial: - return terminal.color(leadingBox, TerminalColor.yellow); + return terminal.color(leadingBox, TerminalColor.yellow); } return null; }
diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart index 7bf1091..11cda6c 100644 --- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart +++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart
@@ -61,8 +61,7 @@ Stream<String> syslogs(String id) { Process process; try { - final StreamController<String> controller = - StreamController<String>(onCancel: () { + final StreamController<String> controller = StreamController<String>(onCancel: () { process.kill(); }); if (fuchsiaArtifacts.sshConfig == null ||
diff --git a/packages/flutter_tools/lib/src/macos/build_macos.dart b/packages/flutter_tools/lib/src/macos/build_macos.dart index 678c14c..cd891a6 100644 --- a/packages/flutter_tools/lib/src/macos/build_macos.dart +++ b/packages/flutter_tools/lib/src/macos/build_macos.dart
@@ -38,7 +38,7 @@ await processPodsIfNeeded(flutterProject.macos, getMacOSBuildDirectory(), buildInfo.mode); // If the xcfilelists do not exist, create empty version. if (!flutterProject.macos.inputFileList.existsSync()) { - flutterProject.macos.inputFileList.createSync(recursive: true); + flutterProject.macos.inputFileList.createSync(recursive: true); } if (!flutterProject.macos.outputFileList.existsSync()) { flutterProject.macos.outputFileList.createSync(recursive: true);
diff --git a/packages/flutter_tools/lib/src/mdns_discovery.dart b/packages/flutter_tools/lib/src/mdns_discovery.dart index 72aa60a..23c15fe 100644 --- a/packages/flutter_tools/lib/src/mdns_discovery.dart +++ b/packages/flutter_tools/lib/src/mdns_discovery.dart
@@ -85,7 +85,7 @@ buffer.writeln('There are multiple observatory ports available.'); buffer.writeln('Rerun this command with one of the following passed in as the appId:'); buffer.writeln(''); - for (final String uniqueDomainName in uniqueDomainNames) { + for (final String uniqueDomainName in uniqueDomainNames) { buffer.writeln(' flutter attach --app-id ${uniqueDomainName.replaceAll('.$dartObservatoryName', '')}'); } throwToolExit(buffer.toString());
diff --git a/packages/flutter_tools/lib/src/plugins.dart b/packages/flutter_tools/lib/src/plugins.dart index 38af093..03f7f20 100644 --- a/packages/flutter_tools/lib/src/plugins.dart +++ b/packages/flutter_tools/lib/src/plugins.dart
@@ -534,17 +534,17 @@ await _writeMacOSPluginRegistrant(project, plugins); } for (final XcodeBasedProject subproject in <XcodeBasedProject>[project.ios, project.macos]) { - if (!project.isModule && (!checkProjects || subproject.existsSync())) { - final CocoaPods cocoaPods = CocoaPods(); - if (plugins.isNotEmpty) { - await cocoaPods.setupPodfile(subproject); + if (!project.isModule && (!checkProjects || subproject.existsSync())) { + final CocoaPods cocoaPods = CocoaPods(); + if (plugins.isNotEmpty) { + await cocoaPods.setupPodfile(subproject); + } + /// The user may have a custom maintained Podfile that they're running `pod install` + /// on themselves. + else if (subproject.podfile.existsSync() && subproject.podfileLock.existsSync()) { + cocoaPods.addPodsDependencyToFlutterXcconfig(subproject); + } } - /// The user may have a custom maintained Podfile that they're running `pod install` - /// on themselves. - else if (subproject.podfile.existsSync() && subproject.podfileLock.existsSync()) { - cocoaPods.addPodsDependencyToFlutterXcconfig(subproject); - } - } } if (featureFlags.isWebEnabled && project.web.existsSync()) { await _writeWebPluginRegistrant(project, plugins);
diff --git a/packages/flutter_tools/lib/src/test/flutter_platform.dart b/packages/flutter_tools/lib/src/test/flutter_platform.dart index 840d3d7..c43b0e3 100644 --- a/packages/flutter_tools/lib/src/test/flutter_platform.dart +++ b/packages/flutter_tools/lib/src/test/flutter_platform.dart
@@ -102,7 +102,7 @@ platformPluginRegistration ??= (FlutterPlatform platform) { hack.registerPlatformPlugin( <Runtime>[Runtime.vm], - () { + () { return platform; }, ); @@ -417,7 +417,8 @@ await server.close(force: true); }); final Completer<WebSocket> webSocket = Completer<WebSocket>(); - server.listen((HttpRequest request) { + server.listen( + (HttpRequest request) { if (!webSocket.isCompleted) { webSocket.complete(WebSocketTransformer.upgrade(request)); }
diff --git a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart index df3b927..416b7d0 100644 --- a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart +++ b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart
@@ -282,17 +282,18 @@ @override Future<void> close() => _closeMemo.runOnce(() async { - final List<Future<dynamic>> futures = _browserManagers.values - .map<Future<dynamic>>((Future<BrowserManager> future) async { - final BrowserManager result = await future; - if (result == null) { - return; - } - await result.close(); - }).toList(); - futures.add(_server.close()); - await Future.wait<void>(futures); - }); + final List<Future<dynamic>> futures = _browserManagers.values + .map<Future<dynamic>>((Future<BrowserManager> future) async { + final BrowserManager result = await future; + if (result == null) { + return; + } + await result.close(); + }) + .toList(); + futures.add(_server.close()); + await Future.wait<void>(futures); + }); } class OneOffHandler { @@ -414,18 +415,19 @@ // Whenever we get a message, no matter which child channel it's for, we the // know browser is still running code which means the user isn't debugging. _channel = MultiChannel<dynamic>( - webSocket.cast<String>().transform(jsonDocument).changeStream((Stream<Object> stream) { - return stream.map((Object message) { - if (!_closed) { - _timer.reset(); - } - for (RunnerSuiteController controller in _controllers) { - controller.setDebugging(false); - } + webSocket.cast<String>().transform(jsonDocument).changeStream((Stream<Object> stream) { + return stream.map((Object message) { + if (!_closed) { + _timer.reset(); + } + for (RunnerSuiteController controller in _controllers) { + controller.setDebugging(false); + } - return message; - }); - })); + return message; + }); + }), + ); _environment = _loadBrowserEnvironment(); _channel.stream.listen(_onMessage, onDone: close); @@ -579,10 +581,11 @@ final VirtualChannel<dynamic> virtualChannel = _channel.virtualChannel(); final int suiteChannelID = virtualChannel.id; final StreamChannel<dynamic> suiteChannel = virtualChannel.transformStream( - StreamTransformer<dynamic, dynamic>.fromHandlers(handleDone: (EventSink<dynamic> sink) { - closeIframe(); - sink.close(); - })); + StreamTransformer<dynamic, dynamic>.fromHandlers(handleDone: (EventSink<dynamic> sink) { + closeIframe(); + sink.close(); + }), + ); return await _pool.withResource<RunnerSuite>(() async { _channel.sink.add(<String, Object>{
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart index 7a73194..210f96e 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart
@@ -66,7 +66,7 @@ final String remote = channel.substring(0, slash); _repositoryUrl = _runGit('git ls-remote --get-url $remote'); _channel = channel.substring(slash + 1); - } else if (channel.isEmpty) { + } else if (channel.isEmpty) { _channel = 'unknown'; } else { _channel = channel;
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index a5af8de..e43d532 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -467,13 +467,13 @@ switch (type) { case 'Event': serviceObject = ServiceEvent._empty(owner); - break; + break; case 'FlutterView': serviceObject = FlutterView._empty(owner.vm); - break; + break; case 'Isolate': serviceObject = Isolate._empty(owner.vm); - break; + break; } // If we don't have a model object for this service object type, as a // fallback return a ServiceMap object. @@ -811,7 +811,7 @@ final String mapId = map['id']; switch (type) { - case 'Isolate': { + case 'Isolate': // Check cache. Isolate isolate = _isolateCache[mapId]; if (isolate == null) { @@ -829,9 +829,7 @@ isolate.updateFromMap(map); } return isolate; - } - break; - case 'FlutterView': { + case 'FlutterView': FlutterView view = _viewCache[mapId]; if (view == null) { // Add new view to the cache. @@ -841,8 +839,6 @@ view.updateFromMap(map); } return view; - } - break; default: throw VMServiceObjectLoadError( 'VM.getFromMap called for something other than an isolate', map);
diff --git a/packages/flutter_tools/test/general.shard/android/android_device_test.dart b/packages/flutter_tools/test/general.shard/android/android_device_test.dart index afe5533..73e64bb 100644 --- a/packages/flutter_tools/test/general.shard/android/android_device_test.dart +++ b/packages/flutter_tools/test/general.shard/android/android_device_test.dart
@@ -138,9 +138,11 @@ hardware = 'goldfish'; buildCharacteristics = 'unused'; exitCode = -1; - when(mockProcessManager.run(argThat(contains('getprop')), - stderrEncoding: anyNamed('stderrEncoding'), - stdoutEncoding: anyNamed('stdoutEncoding'))).thenAnswer((_) { + when(mockProcessManager.run( + argThat(contains('getprop')), + stderrEncoding: anyNamed('stderrEncoding'), + stdoutEncoding: anyNamed('stdoutEncoding'), + )).thenAnswer((_) { final StringBuffer buf = StringBuffer() ..writeln('[ro.hardware]: [$hardware]')..writeln( '[ro.build.characteristics]: [$buildCharacteristics]'); @@ -215,9 +217,11 @@ setUp(() { hardware = 'unknown'; buildCharacteristics = 'unused'; - when(mockProcessManager.run(argThat(contains('getprop')), - stderrEncoding: anyNamed('stderrEncoding'), - stdoutEncoding: anyNamed('stdoutEncoding'))).thenAnswer((_) { + when(mockProcessManager.run( + argThat(contains('getprop')), + stderrEncoding: anyNamed('stderrEncoding'), + stdoutEncoding: anyNamed('stdoutEncoding'), + )).thenAnswer((_) { final StringBuffer buf = StringBuffer() ..writeln('[ro.hardware]: [$hardware]') ..writeln('[ro.build.characteristics]: [$buildCharacteristics]'); @@ -312,9 +316,11 @@ setUp(() { hardware = 'goldfish'; // Known emulator socketWasCreated = false; - when(mockProcessManager.run(argThat(contains('getprop')), - stderrEncoding: anyNamed('stderrEncoding'), - stdoutEncoding: anyNamed('stdoutEncoding'))).thenAnswer((_) { + when(mockProcessManager.run( + argThat(contains('getprop')), + stderrEncoding: anyNamed('stderrEncoding'), + stdoutEncoding: anyNamed('stdoutEncoding'), + )).thenAnswer((_) { final StringBuffer buf = StringBuffer() ..writeln('[ro.hardware]: [$hardware]'); final ProcessResult result = ProcessResult(1, 0, buf.toString(), '');
diff --git a/packages/flutter_tools/test/general.shard/asset_bundle_package_test.dart b/packages/flutter_tools/test/general.shard/asset_bundle_package_test.dart index 4c48cda..f6adfe7 100644 --- a/packages/flutter_tools/test/general.shard/asset_bundle_package_test.dart +++ b/packages/flutter_tools/test/general.shard/asset_bundle_package_test.dart
@@ -483,8 +483,7 @@ }); group('AssetBundle assets from scanned paths', () { - testUsingContext( - 'Two assets are bundled when scanning their directory', () async { + testUsingContext('Two assets are bundled when scanning their directory', () async { establishFlutterRoot(); writeEmptySchemaFile(fs); @@ -514,8 +513,7 @@ FileSystem: () => testFileSystem, }); - testUsingContext( - 'Two assets are bundled when listing one and scanning second directory', () async { + testUsingContext('Two assets are bundled when listing one and scanning second directory', () async { establishFlutterRoot(); writeEmptySchemaFile(fs); @@ -545,8 +543,7 @@ FileSystem: () => testFileSystem, }); - testUsingContext( - 'One asset is bundled with variant, scanning wrong directory', () async { + testUsingContext('One asset is bundled with variant, scanning wrong directory', () async { establishFlutterRoot(); writeEmptySchemaFile(fs); @@ -573,8 +570,7 @@ }); group('AssetBundle assets from scanned paths with MemoryFileSystem', () { - testUsingContext( - 'One asset is bundled with variant, scanning directory', () async { + testUsingContext('One asset is bundled with variant, scanning directory', () async { establishFlutterRoot(); writeEmptySchemaFile(fs); @@ -603,8 +599,7 @@ FileSystem: () => testFileSystem, }); - testUsingContext( - 'No asset is bundled with variant, no assets or directories are listed', () async { + testUsingContext('No asset is bundled with variant, no assets or directories are listed', () async { establishFlutterRoot(); writeEmptySchemaFile(fs); @@ -632,8 +627,7 @@ FileSystem: () => testFileSystem, }); - testUsingContext( - 'Expect error generating manifest, wrong non-existing directory is listed', () async { + testUsingContext('Expect error generating manifest, wrong non-existing directory is listed', () async { establishFlutterRoot(); writeEmptySchemaFile(fs);
diff --git a/packages/flutter_tools/test/general.shard/base/async_guard_test.dart b/packages/flutter_tools/test/general.shard/base/async_guard_test.dart index 4c6d36a..b21e307 100644 --- a/packages/flutter_tools/test/general.shard/base/async_guard_test.dart +++ b/packages/flutter_tools/test/general.shard/base/async_guard_test.dart
@@ -29,10 +29,10 @@ Future<void> delayedThrow(FakeAsync time) { final Future<void> result = - Future<void>.delayed(const Duration(milliseconds: 10)) + Future<void>.delayed(const Duration(milliseconds: 10)) .then((_) { - throw 'Delayed Doom'; - }); + throw 'Delayed Doom'; + }); time.elapse(const Duration(seconds: 1)); time.flushMicrotasks(); return result; @@ -154,9 +154,9 @@ await FakeAsync().run((FakeAsync time) { unawaited(runZoned(() async { final Future<void> f = asyncGuard<void>(() => delayedThrow(time)) - .catchError((Object e, StackTrace s) { - caughtByCatchError = true; - }); + .catchError((Object e, StackTrace s) { + caughtByCatchError = true; + }); try { await f; } on String { @@ -189,10 +189,12 @@ final Completer<void> completer = Completer<void>(); await FakeAsync().run((FakeAsync time) { unawaited(runZoned(() async { - final Future<void> f = asyncGuard<void>(() => delayedThrow(time), - onError: (Object e, StackTrace s) { - caughtByOnError = true; - }); + final Future<void> f = asyncGuard<void>( + () => delayedThrow(time), + onError: (Object e, StackTrace s) { + caughtByOnError = true; + }, + ); try { await f; } catch (e) {
diff --git a/packages/flutter_tools/test/general.shard/base/terminal_test.dart b/packages/flutter_tools/test/general.shard/base/terminal_test.dart index e5c3878..6a5c135 100644 --- a/packages/flutter_tools/test/general.shard/base/terminal_test.dart +++ b/packages/flutter_tools/test/general.shard/base/terminal_test.dart
@@ -151,7 +151,7 @@ }); testUsingContext('default character choice without displayAcceptedCharacters', () async { - terminalUnderTest.usesTerminalUi = true; + terminalUnderTest.usesTerminalUi = true; mockStdInStream = Stream<String>.fromFutures(<Future<String>>[ Future<String>.value('\n'), // Not in accepted list ]).asBroadcastStream();
diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/dart_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/dart_test.dart index 2bb80f21..8f39b9a 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/dart_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/dart_test.dart
@@ -60,13 +60,13 @@ } else if (platform.isLinux) { hostPlatform = HostPlatform.linux_x64; } else if (platform.isMacOS) { - hostPlatform = HostPlatform.darwin_x64; + hostPlatform = HostPlatform.darwin_x64; } else { assert(false); } - final String skyEngineLine = platform.isWindows - ? r'sky_engine:file:///C:/bin/cache/pkg/sky_engine/lib/' - : 'sky_engine:file:///bin/cache/pkg/sky_engine/lib/'; + final String skyEngineLine = platform.isWindows + ? r'sky_engine:file:///C:/bin/cache/pkg/sky_engine/lib/' + : 'sky_engine:file:///bin/cache/pkg/sky_engine/lib/'; fs.file('.packages') ..createSync() ..writeAsStringSync(''' @@ -368,9 +368,10 @@ String fileSystemScheme, bool targetProductVm = false, String platformDill, - String initializeFromDill}) async { - fs.file(outputFilePath).createSync(recursive: true); - return CompilerOutput(outputFilePath, 0, null); + String initializeFromDill, + }) async { + fs.file(outputFilePath).createSync(recursive: true); + return CompilerOutput(outputFilePath, 0, null); } }
diff --git a/packages/flutter_tools/test/general.shard/commands/assemble_test.dart b/packages/flutter_tools/test/general.shard/commands/assemble_test.dart index dc247d3..0e013aa 100644 --- a/packages/flutter_tools/test/general.shard/commands/assemble_test.dart +++ b/packages/flutter_tools/test/general.shard/commands/assemble_test.dart
@@ -32,9 +32,9 @@ test('Can run a build', () => testbed.run(() async { when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig'))) - .thenAnswer((Invocation invocation) async { - return BuildResult(success: true); - }); + .thenAnswer((Invocation invocation) async { + return BuildResult(success: true); + }); final CommandRunner<void> commandRunner = createTestCommandRunner(AssembleCommand()); await commandRunner.run(<String>['assemble', '-o Output', 'debug_macos_bundle_flutter_assets']); final BufferLogger bufferLogger = logger; @@ -44,9 +44,9 @@ test('Throws ToolExit if not provided with output', () => testbed.run(() async { when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig'))) - .thenAnswer((Invocation invocation) async { - return BuildResult(success: true); - }); + .thenAnswer((Invocation invocation) async { + return BuildResult(success: true); + }); final CommandRunner<void> commandRunner = createTestCommandRunner(AssembleCommand()); expect(commandRunner.run(<String>['assemble', 'debug_macos_bundle_flutter_assets']), throwsA(isInstanceOf<ToolExit>())); @@ -54,9 +54,9 @@ test('Throws ToolExit if called with non-existent rule', () => testbed.run(() async { when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig'))) - .thenAnswer((Invocation invocation) async { - return BuildResult(success: true); - }); + .thenAnswer((Invocation invocation) async { + return BuildResult(success: true); + }); final CommandRunner<void> commandRunner = createTestCommandRunner(AssembleCommand()); expect(commandRunner.run(<String>['assemble', '-o Output', 'undefined']), throwsA(isInstanceOf<ToolExit>())); @@ -64,13 +64,13 @@ test('Only writes input and output files when the values change', () => testbed.run(() async { when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig'))) - .thenAnswer((Invocation invocation) async { - return BuildResult( - success: true, - inputFiles: <File>[fs.file('foo')..createSync()], - outputFiles: <File>[fs.file('bar')..createSync()], - ); - }); + .thenAnswer((Invocation invocation) async { + return BuildResult( + success: true, + inputFiles: <File>[fs.file('foo')..createSync()], + outputFiles: <File>[fs.file('bar')..createSync()], + ); + }); final CommandRunner<void> commandRunner = createTestCommandRunner(AssembleCommand()); await commandRunner.run(<String>['assemble', '-o Output', '--build-outputs=outputs', '--build-inputs=inputs', 'debug_macos_bundle_flutter_assets']); @@ -90,12 +90,12 @@ when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig'))) - .thenAnswer((Invocation invocation) async { - return BuildResult( - success: true, - inputFiles: <File>[fs.file('foo'), fs.file('fizz')..createSync()], - outputFiles: <File>[fs.file('bar'), fs.file(fs.path.join('.dart_tool', 'fizz2'))..createSync(recursive: true)]); - }); + .thenAnswer((Invocation invocation) async { + return BuildResult( + success: true, + inputFiles: <File>[fs.file('foo'), fs.file('fizz')..createSync()], + outputFiles: <File>[fs.file('bar'), fs.file(fs.path.join('.dart_tool', 'fizz2'))..createSync(recursive: true)]); + }); await commandRunner.run(<String>['assemble', '-o Output', '--build-outputs=outputs', '--build-inputs=inputs', 'debug_macos_bundle_flutter_assets']); expect(inputs.readAsStringSync(), contains('foo'));
diff --git a/packages/flutter_tools/test/general.shard/commands/build_fuchsia_test.dart b/packages/flutter_tools/test/general.shard/commands/build_fuchsia_test.dart index 3734d04..2e8a8c0 100644 --- a/packages/flutter_tools/test/general.shard/commands/build_fuchsia_test.dart +++ b/packages/flutter_tools/test/general.shard/commands/build_fuchsia_test.dart
@@ -47,8 +47,7 @@ }); group('Fuchsia build fails gracefully when', () { - testUsingContext('there is no Fuchsia project', - () async { + testUsingContext('there is no Fuchsia project', () async { final BuildCommand command = BuildCommand(); applyMocksToCommand(command); expect(
diff --git a/packages/flutter_tools/test/general.shard/commands/build_macos_test.dart b/packages/flutter_tools/test/general.shard/commands/build_macos_test.dart index 00535ff..7865826 100644 --- a/packages/flutter_tools/test/general.shard/commands/build_macos_test.dart +++ b/packages/flutter_tools/test/general.shard/commands/build_macos_test.dart
@@ -52,7 +52,7 @@ macosPlatform = MockPlatform(); notMacosPlatform = MockPlatform(); when(mockProcess.exitCode).thenAnswer((Invocation invocation) async { - return 0; + return 0; }); when(mockProcess.stderr).thenAnswer((Invocation invocation) { return const Stream<List<int>>.empty();
diff --git a/packages/flutter_tools/test/general.shard/commands/doctor_test.dart b/packages/flutter_tools/test/general.shard/commands/doctor_test.dart index 12db20e..03014da 100644 --- a/packages/flutter_tools/test/general.shard/commands/doctor_test.dart +++ b/packages/flutter_tools/test/general.shard/commands/doctor_test.dart
@@ -733,10 +733,10 @@ @override Future<ValidationResult> validate() { const Duration delay = Duration(seconds: 1); - final Future<ValidationResult> result = Future<ValidationResult> - .delayed(delay).then((_) { - throw 'fatal error'; - }); + final Future<ValidationResult> result = Future<ValidationResult>.delayed(delay) + .then((_) { + throw 'fatal error'; + }); _time.elapse(const Duration(seconds: 1)); _time.flushMicrotasks(); return result;
diff --git a/packages/flutter_tools/test/general.shard/commands/test_test.dart b/packages/flutter_tools/test/general.shard/commands/test_test.dart index e62dd83..4e96989 100644 --- a/packages/flutter_tools/test/general.shard/commands/test_test.dart +++ b/packages/flutter_tools/test/general.shard/commands/test_test.dart
@@ -230,7 +230,7 @@ } } else { // Test just a specific test file. - testPath = fs.path.join(testDirectory, '${testName}_test.dart'); + testPath = fs.path.join(testDirectory, '${testName}_test.dart'); final File testFile = fs.file(testPath); if (!testFile.existsSync()) { fail('missing test file: $testFile');
diff --git a/packages/flutter_tools/test/general.shard/crash_reporting_test.dart b/packages/flutter_tools/test/general.shard/crash_reporting_test.dart index 75f014e..70301da 100644 --- a/packages/flutter_tools/test/general.shard/crash_reporting_test.dart +++ b/packages/flutter_tools/test/general.shard/crash_reporting_test.dart
@@ -274,17 +274,17 @@ class MockCrashReportSender extends MockClient { MockCrashReportSender(RequestInfo crashInfo) : super((Request request) async { - MockCrashReportSender.sendCalls++; - crashInfo.method = request.method; - crashInfo.uri = request.url; + MockCrashReportSender.sendCalls++; + crashInfo.method = request.method; + crashInfo.uri = request.url; - // A very ad-hoc multipart request parser. Good enough for this test. - String boundary = request.headers['Content-Type']; - boundary = boundary.substring(boundary.indexOf('boundary=') + 9); - crashInfo.fields = Map<String, String>.fromIterable( - utf8.decode(request.bodyBytes) - .split('--$boundary') - .map<List<String>>((String part) { + // A very ad-hoc multipart request parser. Good enough for this test. + String boundary = request.headers['Content-Type']; + boundary = boundary.substring(boundary.indexOf('boundary=') + 9); + crashInfo.fields = Map<String, String>.fromIterable( + utf8.decode(request.bodyBytes) + .split('--$boundary') + .map<List<String>>((String part) { final Match nameMatch = RegExp(r'name="(.*)"').firstMatch(part); if (nameMatch == null) { return null; @@ -293,29 +293,28 @@ final String value = part.split('\n').skip(2).join('\n').trim(); return <String>[name, value]; }) - .where((List<String> pair) => pair != null), - key: (dynamic key) { - final List<String> pair = key; - return pair[0]; - }, - value: (dynamic value) { - final List<String> pair = value; - return pair[1]; - }, - ); + .where((List<String> pair) => pair != null), + key: (dynamic key) { + final List<String> pair = key; + return pair[0]; + }, + value: (dynamic value) { + final List<String> pair = value; + return pair[1]; + }, + ); - return Response( - 'test-report-id', - 200, - ); - }); + return Response( + 'test-report-id', + 200, + ); + }); static int sendCalls = 0; } class CrashingCrashReportSender extends MockClient { - CrashingCrashReportSender(Object exception) - : super((Request request) async { + CrashingCrashReportSender(Object exception) : super((Request request) async { throw exception; }); }
diff --git a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart index a3a0369..6ed5d09 100644 --- a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart +++ b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart
@@ -368,8 +368,7 @@ return discoveryProtocol.uri; } - testUsingContext('can find flutter view with matching isolate name', - () async { + testUsingContext('can find flutter view with matching isolate name', () async { const String expectedIsolateName = 'foobar'; final Uri uri = await findUri(<MockFlutterView>[ MockFlutterView(null), // no ui isolate. @@ -380,8 +379,7 @@ uri.toString(), 'http://${InternetAddress.loopbackIPv4.address}:0/'); }); - testUsingContext('can handle flutter view without matching isolate name', - () async { + testUsingContext('can handle flutter view without matching isolate name', () async { const String expectedIsolateName = 'foobar'; final Future<Uri> uri = findUri(<MockFlutterView>[ MockFlutterView(null), // no ui isolate.
diff --git a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_workflow_test.dart b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_workflow_test.dart index caf1dc7..777c49b 100644 --- a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_workflow_test.dart +++ b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_workflow_test.dart
@@ -19,31 +19,23 @@ when(devFinder.absolute).thenReturn(devFinder); when(sshConfig.absolute).thenReturn(sshConfig); - testUsingContext( - 'can not list and launch devices if there is not ssh config and dev finder', - () { + testUsingContext('can not list and launch devices if there is not ssh config and dev finder', () { expect(fuchsiaWorkflow.canLaunchDevices, false); expect(fuchsiaWorkflow.canListDevices, false); expect(fuchsiaWorkflow.canListEmulators, false); }, overrides: <Type, Generator>{ - FuchsiaArtifacts: () => - FuchsiaArtifacts(devFinder: null, sshConfig: null), + FuchsiaArtifacts: () => FuchsiaArtifacts(devFinder: null, sshConfig: null), }); - testUsingContext( - 'can not list and launch devices if there is not ssh config and dev finder', - () { + testUsingContext('can not list and launch devices if there is not ssh config and dev finder', () { expect(fuchsiaWorkflow.canLaunchDevices, false); expect(fuchsiaWorkflow.canListDevices, true); expect(fuchsiaWorkflow.canListEmulators, false); }, overrides: <Type, Generator>{ - FuchsiaArtifacts: () => - FuchsiaArtifacts(devFinder: devFinder, sshConfig: null), + FuchsiaArtifacts: () => FuchsiaArtifacts(devFinder: devFinder, sshConfig: null), }); - testUsingContext( - 'can list and launch devices supported with sufficient SDK artifacts', - () { + testUsingContext('can list and launch devices supported with sufficient SDK artifacts', () { expect(fuchsiaWorkflow.canLaunchDevices, true); expect(fuchsiaWorkflow.canListDevices, true); expect(fuchsiaWorkflow.canListEmulators, false);
diff --git a/packages/flutter_tools/test/general.shard/ios/simulators_test.dart b/packages/flutter_tools/test/general.shard/ios/simulators_test.dart index dd3f9c8..9093645 100644 --- a/packages/flutter_tools/test/general.shard/ios/simulators_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/simulators_test.dart
@@ -454,23 +454,21 @@ }); testUsingContext("startApp uses compiled app's Info.plist to find CFBundleIdentifier", () async { - final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', simulatorCategory: 'iOS 11.2'); - when(PlistParser.instance.getValueFromFile(any, any)).thenReturn('correct'); + final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', simulatorCategory: 'iOS 11.2'); + when(PlistParser.instance.getValueFromFile(any, any)).thenReturn('correct'); - final Directory mockDir = fs.currentDirectory; - final IOSApp package = PrebuiltIOSApp(projectBundleId: 'incorrect', bundleName: 'name', bundleDir: mockDir); + final Directory mockDir = fs.currentDirectory; + final IOSApp package = PrebuiltIOSApp(projectBundleId: 'incorrect', bundleName: 'name', bundleDir: mockDir); - const BuildInfo mockInfo = BuildInfo(BuildMode.debug, 'flavor'); - final DebuggingOptions mockOptions = DebuggingOptions.disabled(mockInfo); - await device.startApp(package, prebuiltApplication: true, debuggingOptions: mockOptions); + const BuildInfo mockInfo = BuildInfo(BuildMode.debug, 'flavor'); + final DebuggingOptions mockOptions = DebuggingOptions.disabled(mockInfo); + await device.startApp(package, prebuiltApplication: true, debuggingOptions: mockOptions); - verify(simControl.launch(any, 'correct', any)); - }, - overrides: <Type, Generator>{ - SimControl: () => simControl, - PlistParser: () => MockPlistUtils(), - }, - ); + verify(simControl.launch(any, 'correct', any)); + }, overrides: <Type, Generator>{ + SimControl: () => simControl, + PlistParser: () => MockPlistUtils(), + }); }); testUsingContext('IOSDevice.isSupportedForProject is true on module project', () async {
diff --git a/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart b/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart index 0f739e5..c238ab0 100644 --- a/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/xcodeproj_test.dart
@@ -196,9 +196,11 @@ testUsingOsxContext('getInfo returns something when xcodebuild -list succeeds', () async { const String workingDirectory = '/'; - when(mockProcessManager.run(<String>[xcodebuild, '-list'], - environment: anyNamed('environment'), - workingDirectory: workingDirectory)).thenAnswer((_) { + when(mockProcessManager.run( + <String>[xcodebuild, '-list'], + environment: anyNamed('environment'), + workingDirectory: workingDirectory), + ).thenAnswer((_) { return Future<ProcessResult>.value(ProcessResult(1, 0, '', '')); }); final XcodeProjectInterpreter xcodeProjectInterpreter = XcodeProjectInterpreter(); @@ -208,9 +210,11 @@ testUsingOsxContext('getInfo throws a tool exit when it is unable to find a project', () async { const String workingDirectory = '/'; const String stderr = 'Useful Xcode failure message about missing project.'; - when(mockProcessManager.run(<String>[xcodebuild, '-list'], - environment: anyNamed('environment'), - workingDirectory: workingDirectory)).thenAnswer((_) { + when(mockProcessManager.run( + <String>[xcodebuild, '-list'], + environment: anyNamed('environment'), + workingDirectory: workingDirectory), + ).thenAnswer((_) { return Future<ProcessResult>.value(ProcessResult(1, 66, '', stderr)); }); final XcodeProjectInterpreter xcodeProjectInterpreter = XcodeProjectInterpreter();
diff --git a/packages/flutter_tools/test/general.shard/project_test.dart b/packages/flutter_tools/test/general.shard/project_test.dart index c14e9f5..82d3212 100644 --- a/packages/flutter_tools/test/general.shard/project_test.dart +++ b/packages/flutter_tools/test/general.shard/project_test.dart
@@ -272,7 +272,7 @@ }); addAndroidGradleFile(project.directory, gradleFileContent: () { - return ''' + return ''' apply plugin: 'com.android.application' apply plugin: 'kotlin-android' ''';
diff --git a/packages/flutter_tools/test/general.shard/resident_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_runner_test.dart index 06af27f..65aafe1 100644 --- a/packages/flutter_tools/test/general.shard/resident_runner_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_runner_test.dart
@@ -348,10 +348,10 @@ test('ResidentRunner can take screenshot on debug device', () => testbed.run(() async { when(mockDevice.supportsScreenshot).thenReturn(true); when(mockDevice.takeScreenshot(any)) - .thenAnswer((Invocation invocation) async { - final File file = invocation.positionalArguments.first; - file.writeAsBytesSync(List<int>.generate(1024, (int i) => i)); - }); + .thenAnswer((Invocation invocation) async { + final File file = invocation.positionalArguments.first; + file.writeAsBytesSync(List<int>.generate(1024, (int i) => i)); + }); final BufferLogger bufferLogger = context.get<Logger>(); await residentRunner.screenshot(mockFlutterDevice); @@ -410,10 +410,10 @@ ); when(mockDevice.supportsScreenshot).thenReturn(true); when(mockDevice.takeScreenshot(any)) - .thenAnswer((Invocation invocation) async { - final File file = invocation.positionalArguments.first; - file.writeAsBytesSync(List<int>.generate(1024, (int i) => i)); - }); + .thenAnswer((Invocation invocation) async { + final File file = invocation.positionalArguments.first; + file.writeAsBytesSync(List<int>.generate(1024, (int i) => i)); + }); final BufferLogger bufferLogger = context.get<Logger>(); await residentRunner.screenshot(mockFlutterDevice);
diff --git a/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart b/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart index 561d755..e6291de 100644 --- a/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart
@@ -52,7 +52,7 @@ }); }); - void _setupMocks() { + void _setupMocks() { fs.file('pubspec.yaml').createSync(); fs.file(fs.path.join('lib', 'main.dart')).createSync(recursive: true); fs.file(fs.path.join('web', 'index.html')).createSync(recursive: true); @@ -73,7 +73,7 @@ test('Can full restart after attaching', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -88,7 +88,7 @@ test('Fails on compilation errors in hot restart', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future;
diff --git a/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart index a095ec9..c70f48a 100644 --- a/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart
@@ -61,7 +61,7 @@ }); }); - void _setupMocks() { + void _setupMocks() { fs.file('pubspec.yaml').createSync(); fs.file(fs.path.join('lib', 'main.dart')).createSync(recursive: true); fs.file(fs.path.join('web', 'index.html')).createSync(recursive: true); @@ -138,9 +138,9 @@ })); test('Can hot reload after attaching', () => testbed.run(() async { - _setupMocks(); + _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -167,7 +167,7 @@ test('Can hot restart after attaching', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -194,7 +194,7 @@ test('Fails on compilation errors in hot restart', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -210,7 +210,7 @@ test('Fails on vmservice response error', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -253,7 +253,7 @@ test('debugDumpApp', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -265,7 +265,7 @@ test('debugDumpLayerTree', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -277,7 +277,7 @@ test('debugDumpRenderTree', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -289,7 +289,7 @@ test('debugDumpSemanticsTreeInTraversalOrder', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -301,7 +301,7 @@ test('debugDumpSemanticsTreeInInverseHitTestOrder', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -313,7 +313,7 @@ test('debugToggleDebugPaintSizeEnabled', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -331,7 +331,7 @@ test('debugTogglePerformanceOverlayOverride', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -349,7 +349,7 @@ test('debugToggleWidgetInspector', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -367,7 +367,7 @@ test('debugToggleProfileWidgetBuilds', () => testbed.run(() async { _setupMocks(); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -392,7 +392,7 @@ debugClosed = true; }); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future; @@ -405,7 +405,7 @@ _setupMocks(); when(mockWebDevice.name).thenReturn('Chromez'); final Completer<DebugConnectionInfo> connectionInfoCompleter = Completer<DebugConnectionInfo>(); - unawaited(residentWebRunner.run( + unawaited(residentWebRunner.run( connectionInfoCompleter: connectionInfoCompleter, )); await connectionInfoCompleter.future;
diff --git a/packages/flutter_tools/test/general.shard/runner/runner_test.dart b/packages/flutter_tools/test/general.shard/runner/runner_test.dart index 1a9bd01..c903d57 100644 --- a/packages/flutter_tools/test/general.shard/runner/runner_test.dart +++ b/packages/flutter_tools/test/general.shard/runner/runner_test.dart
@@ -37,7 +37,8 @@ final Completer<void> completer = Completer<void>(); // runner.run() asynchronously calls the exit function set above, so we // catch it in a zone. - unawaited(runZoned<Future<void>>(() { + unawaited(runZoned<Future<void>>( + () { unawaited(runner.run( <String>['test'], <FlutterCommand>[ @@ -52,7 +53,8 @@ onError: (Object error) { expect(error, 'test exit'); completer.complete(); - })); + }, + )); await completer.future; // This is the main check of this test.
diff --git a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart index 1ad44d6..8a034ff 100644 --- a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart +++ b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart
@@ -71,7 +71,7 @@ }); testUsingContext('a - debugToggleProfileWidgetBuilds without service protocol', () async { - when(mockResidentRunner.supportsServiceProtocol).thenReturn(false); + when(mockResidentRunner.supportsServiceProtocol).thenReturn(false); await terminalHandler.processTerminalInput('a'); verifyNever(mockResidentRunner.debugToggleProfileWidgetBuilds());
diff --git a/packages/flutter_tools/test/general.shard/web/web_fs_test.dart b/packages/flutter_tools/test/general.shard/web/web_fs_test.dart index 45a942d..339b0de 100644 --- a/packages/flutter_tools/test/general.shard/web/web_fs_test.dart +++ b/packages/flutter_tools/test/general.shard/web/web_fs_test.dart
@@ -78,8 +78,9 @@ bool serveDevTools, LogWriter logWriter, bool verbose, - bool enableDebugExtension}) async { - return mockDwds; + bool enableDebugExtension, + }) async { + return mockDwds; }, }, );
diff --git a/packages/flutter_tools/tool/tool_coverage.dart b/packages/flutter_tools/tool/tool_coverage.dart index 60c2caf..3504e36 100644 --- a/packages/flutter_tools/tool/tool_coverage.dart +++ b/packages/flutter_tools/tool/tool_coverage.dart
@@ -75,22 +75,25 @@ })); final ServiceProtocolInfo info = await Service.controlWebServer(enable: true); final dynamic channel = IsolateChannel<Object>.connectReceive(receivePort) - .transformStream(StreamTransformer<Object, Object>.fromHandlers(handleDone: (EventSink<Object> sink) async { - try { - // this will throw if collection fails. - await coverageCollector.collectCoverageIsolate(info.serverUri); - } finally { - isolate.kill(priority: Isolate.immediate); - isolate = null; - sink.close(); - completer.complete(); - } - }, handleError: (dynamic error, StackTrace stackTrace, EventSink<Object> sink) { - isolate.kill(priority: Isolate.immediate); - isolate = null; - sink.close(); - completer.complete(); - })); + .transformStream(StreamTransformer<Object, Object>.fromHandlers( + handleDone: (EventSink<Object> sink) async { + try { + // this will throw if collection fails. + await coverageCollector.collectCoverageIsolate(info.serverUri); + } finally { + isolate.kill(priority: Isolate.immediate); + isolate = null; + sink.close(); + completer.complete(); + } + }, + handleError: (dynamic error, StackTrace stackTrace, EventSink<Object> sink) { + isolate.kill(priority: Isolate.immediate); + isolate = null; + sink.close(); + completer.complete(); + }, + )); VMEnvironment environment; final RunnerSuiteController controller = deserializeSuite(