some formatting of map, parameters and spaces (#29760)
This commit is contained in:
parent
ecfdd7e1ea
commit
bfa1d25bf9
@ -61,14 +61,15 @@ class RowColumnTraversal extends StatelessWidget {
|
||||
/// A Button class that wraps an [IconButton] with a [RowColumnTraversal] to
|
||||
/// set its traversal order.
|
||||
class SpinnerButton extends StatelessWidget {
|
||||
const SpinnerButton(
|
||||
{Key key,
|
||||
const SpinnerButton({
|
||||
Key key,
|
||||
this.onPressed,
|
||||
this.icon,
|
||||
this.rowOrder,
|
||||
this.columnOrder,
|
||||
this.field,
|
||||
this.increment}) : super(key: key);
|
||||
this.increment,
|
||||
}) : super(key: key);
|
||||
|
||||
final VoidCallback onPressed;
|
||||
final IconData icon;
|
||||
|
@ -91,7 +91,8 @@ void main() {
|
||||
});
|
||||
}
|
||||
|
||||
void expectAdjustable(SemanticsNode node, {
|
||||
void expectAdjustable(
|
||||
SemanticsNode node, {
|
||||
bool hasIncreaseAction = true,
|
||||
bool hasDecreaseAction = true,
|
||||
String label = '',
|
||||
|
@ -16,7 +16,8 @@ class _InputDropdown extends StatelessWidget {
|
||||
this.labelText,
|
||||
this.valueText,
|
||||
this.valueStyle,
|
||||
this.onPressed }) : super(key: key);
|
||||
this.onPressed,
|
||||
}) : super(key: key);
|
||||
|
||||
final String labelText;
|
||||
final String valueText;
|
||||
|
@ -71,7 +71,8 @@ Animation<T> _getEmphasizedEasingAnimation<T>({
|
||||
@required T peak,
|
||||
@required T end,
|
||||
@required bool isForward,
|
||||
@required Animation<double> parent}) {
|
||||
@required Animation<double> parent,
|
||||
}) {
|
||||
Curve firstCurve;
|
||||
Curve secondCurve;
|
||||
double firstWeight;
|
||||
|
@ -50,8 +50,11 @@ class VideoCard extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
Widget fullScreenRoutePageBuilder(BuildContext context,
|
||||
Animation<double> animation, Animation<double> secondaryAnimation) {
|
||||
Widget fullScreenRoutePageBuilder(
|
||||
BuildContext context,
|
||||
Animation<double> animation,
|
||||
Animation<double> secondaryAnimation,
|
||||
) {
|
||||
return _buildFullScreenVideo();
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,8 @@ final Animatable<BorderRadius> _kFrontHeadingBevelRadius = BorderRadiusTween(
|
||||
);
|
||||
|
||||
class _TappableWhileStatusIs extends StatefulWidget {
|
||||
const _TappableWhileStatusIs(this.status, {
|
||||
const _TappableWhileStatusIs(
|
||||
this.status, {
|
||||
Key key,
|
||||
this.controller,
|
||||
this.child,
|
||||
|
@ -57,9 +57,10 @@ class SectorDimensions {
|
||||
const SectorDimensions({ this.deltaRadius = 0.0, this.deltaTheta = 0.0 });
|
||||
|
||||
factory SectorDimensions.withConstraints(
|
||||
SectorConstraints constraints,
|
||||
{ double deltaRadius = 0.0, double deltaTheta = 0.0, }
|
||||
) {
|
||||
SectorConstraints constraints, {
|
||||
double deltaRadius = 0.0,
|
||||
double deltaTheta = 0.0,
|
||||
}) {
|
||||
return SectorDimensions(
|
||||
deltaRadius: constraints.constrainDeltaRadius(deltaRadius),
|
||||
deltaTheta: constraints.constrainDeltaTheta(deltaTheta),
|
||||
@ -554,7 +555,8 @@ class RenderBoxToRenderSectorAdapter extends RenderBox with RenderObjectWithChil
|
||||
}
|
||||
|
||||
class RenderSolidColor extends RenderDecoratedSector {
|
||||
RenderSolidColor(this.backgroundColor, {
|
||||
RenderSolidColor(
|
||||
this.backgroundColor, {
|
||||
this.desiredDeltaRadius = double.infinity,
|
||||
this.desiredDeltaTheta = kTwoPi,
|
||||
}) : super(BoxDecoration(color: backgroundColor));
|
||||
|
@ -1045,7 +1045,9 @@ class MessageProperty extends DiagnosticsProperty<void> {
|
||||
/// message is stored as the description.
|
||||
///
|
||||
/// The [name], `message`, and [level] arguments must not be null.
|
||||
MessageProperty(String name, String message, {
|
||||
MessageProperty(
|
||||
String name,
|
||||
String message, {
|
||||
DiagnosticLevel level = DiagnosticLevel.info,
|
||||
}) : assert(name != null),
|
||||
assert(message != null),
|
||||
@ -1063,7 +1065,9 @@ class StringProperty extends DiagnosticsProperty<String> {
|
||||
/// Create a diagnostics property for strings.
|
||||
///
|
||||
/// The [showName], [quoted], and [level] arguments must not be null.
|
||||
StringProperty(String name, String value, {
|
||||
StringProperty(
|
||||
String name,
|
||||
String value, {
|
||||
String description,
|
||||
String tooltip,
|
||||
bool showName = true,
|
||||
@ -1119,7 +1123,8 @@ class StringProperty extends DiagnosticsProperty<String> {
|
||||
}
|
||||
|
||||
abstract class _NumProperty<T extends num> extends DiagnosticsProperty<T> {
|
||||
_NumProperty(String name,
|
||||
_NumProperty(
|
||||
String name,
|
||||
T value, {
|
||||
String ifNull,
|
||||
this.unit,
|
||||
@ -1137,7 +1142,8 @@ abstract class _NumProperty<T extends num> extends DiagnosticsProperty<T> {
|
||||
level: level,
|
||||
);
|
||||
|
||||
_NumProperty.lazy(String name,
|
||||
_NumProperty.lazy(
|
||||
String name,
|
||||
ComputePropertyValueCallback<T> computeValue, {
|
||||
String ifNull,
|
||||
this.unit,
|
||||
@ -1190,7 +1196,9 @@ class DoubleProperty extends _NumProperty<double> {
|
||||
/// If specified, [unit] describes the unit for the [value] (e.g. px).
|
||||
///
|
||||
/// The [showName] and [level] arguments must not be null.
|
||||
DoubleProperty(String name, double value, {
|
||||
DoubleProperty(
|
||||
String name,
|
||||
double value, {
|
||||
String ifNull,
|
||||
String unit,
|
||||
String tooltip,
|
||||
@ -1249,7 +1257,9 @@ class IntProperty extends _NumProperty<int> {
|
||||
/// Create a diagnostics property for integers.
|
||||
///
|
||||
/// The [showName] and [level] arguments must not be null.
|
||||
IntProperty(String name, int value, {
|
||||
IntProperty(
|
||||
String name,
|
||||
int value, {
|
||||
String ifNull,
|
||||
bool showName = true,
|
||||
String unit,
|
||||
@ -1282,7 +1292,9 @@ class PercentProperty extends DoubleProperty {
|
||||
/// be sufficient to disambiguate its meaning.
|
||||
///
|
||||
/// The [showName] and [level] arguments must not be null.
|
||||
PercentProperty(String name, double fraction, {
|
||||
PercentProperty(
|
||||
String name,
|
||||
double fraction, {
|
||||
String ifNull,
|
||||
bool showName = true,
|
||||
String tooltip,
|
||||
@ -1361,7 +1373,8 @@ class FlagProperty extends DiagnosticsProperty<bool> {
|
||||
/// be descriptions that make the property name redundant.
|
||||
///
|
||||
/// The [showName] and [level] arguments must not be null.
|
||||
FlagProperty(String name, {
|
||||
FlagProperty(
|
||||
String name, {
|
||||
@required bool value,
|
||||
this.ifTrue,
|
||||
this.ifFalse,
|
||||
@ -1456,7 +1469,9 @@ class IterableProperty<T> extends DiagnosticsProperty<Iterable<T>> {
|
||||
/// interesting to display.
|
||||
///
|
||||
/// The [style], [showName], and [level] arguments must not be null.
|
||||
IterableProperty(String name, Iterable<T> value, {
|
||||
IterableProperty(
|
||||
String name,
|
||||
Iterable<T> value, {
|
||||
Object defaultValue = kNoDefaultValue,
|
||||
String ifNull,
|
||||
String ifEmpty = '[]',
|
||||
@ -1531,7 +1546,9 @@ class EnumProperty<T> extends DiagnosticsProperty<T> {
|
||||
/// Create a diagnostics property that displays an enum.
|
||||
///
|
||||
/// The [level] argument must also not be null.
|
||||
EnumProperty(String name, T value, {
|
||||
EnumProperty(
|
||||
String name,
|
||||
T value, {
|
||||
Object defaultValue = kNoDefaultValue,
|
||||
DiagnosticLevel level = DiagnosticLevel.info,
|
||||
}) : assert(level != null),
|
||||
@ -1575,7 +1592,9 @@ class ObjectFlagProperty<T> extends DiagnosticsProperty<T> {
|
||||
///
|
||||
/// The [showName] and [level] arguments must not be null. Additionally, at
|
||||
/// least one of [ifPresent] and [ifNull] must not be null.
|
||||
ObjectFlagProperty(String name, T value, {
|
||||
ObjectFlagProperty(
|
||||
String name,
|
||||
T value, {
|
||||
this.ifPresent,
|
||||
String ifNull,
|
||||
bool showName = false,
|
||||
|
@ -59,7 +59,7 @@ class PointerSignalResolver {
|
||||
informationCollector: (StringBuffer information) {
|
||||
information.writeln('Event:');
|
||||
information.write(' $event');
|
||||
}
|
||||
},
|
||||
));
|
||||
}
|
||||
_firstRegisteredCallback = null;
|
||||
|
@ -162,7 +162,8 @@ class DataCell {
|
||||
/// If the cell has no data, then a [Text] widget with placeholder
|
||||
/// text should be provided instead, and then the [placeholder]
|
||||
/// argument should be set to true.
|
||||
const DataCell(this.child, {
|
||||
const DataCell(
|
||||
this.child, {
|
||||
this.placeholder = false,
|
||||
this.showEditIcon = false,
|
||||
this.onTap,
|
||||
|
@ -47,15 +47,13 @@ abstract class InteractiveInkFeature extends InkFeature {
|
||||
///
|
||||
/// Typically causes the ink to propagate faster across the material. By default this
|
||||
/// method does nothing.
|
||||
void confirm() {
|
||||
}
|
||||
void confirm() { }
|
||||
|
||||
/// Called when the user input that triggered this feature's appearance was canceled.
|
||||
///
|
||||
/// Typically causes the ink to gradually disappear. By default this method does
|
||||
/// nothing.
|
||||
void cancel() {
|
||||
}
|
||||
void cancel() { }
|
||||
|
||||
/// The ink's color.
|
||||
Color get color => _color;
|
||||
|
@ -736,7 +736,8 @@ class ExactAssetImage extends AssetBundleImageProvider {
|
||||
/// The [package] argument must be non-null when fetching an asset that is
|
||||
/// included in a package. See the documentation for the [ExactAssetImage] class
|
||||
/// itself for details.
|
||||
const ExactAssetImage(this.assetName, {
|
||||
const ExactAssetImage(
|
||||
this.assetName, {
|
||||
this.scale = 1.0,
|
||||
this.bundle,
|
||||
this.package,
|
||||
|
@ -128,7 +128,8 @@ class AssetImage extends AssetBundleImageProvider {
|
||||
/// from the set of images to choose from. The [package] argument must be
|
||||
/// non-null when fetching an asset that is included in package. See the
|
||||
/// documentation for the [AssetImage] class itself for details.
|
||||
const AssetImage(this.assetName, {
|
||||
const AssetImage(
|
||||
this.assetName, {
|
||||
this.bundle,
|
||||
this.package,
|
||||
}) : assert(assetName != null);
|
||||
|
@ -265,7 +265,9 @@ class TransformProperty extends DiagnosticsProperty<Matrix4> {
|
||||
/// Create a diagnostics property for [Matrix4] objects.
|
||||
///
|
||||
/// The [showName] and [level] arguments must not be null.
|
||||
TransformProperty(String name, Matrix4 value, {
|
||||
TransformProperty(
|
||||
String name,
|
||||
Matrix4 value, {
|
||||
bool showName = true,
|
||||
Object defaultValue = kNoDefaultValue,
|
||||
DiagnosticLevel level = DiagnosticLevel.info,
|
||||
|
@ -302,7 +302,8 @@ class StrutStyle extends Diagnosticable {
|
||||
/// is inherited by being prepended onto the font family names. If
|
||||
/// [fontFamilyFallback] is meant to be empty, pass an empty list instead of null.
|
||||
/// This prevents the previous package name from being prepended twice.
|
||||
StrutStyle.fromTextStyle(TextStyle textStyle, {
|
||||
StrutStyle.fromTextStyle(
|
||||
TextStyle textStyle, {
|
||||
String fontFamily,
|
||||
List<String> fontFamilyFallback,
|
||||
double fontSize,
|
||||
|
@ -21,7 +21,8 @@ class ClampedSimulation extends Simulation {
|
||||
///
|
||||
/// The named arguments specify the ranges for the clamping behavior, as
|
||||
/// applied to [x] and [dx].
|
||||
ClampedSimulation(this.simulation, {
|
||||
ClampedSimulation(
|
||||
this.simulation, {
|
||||
this.xMin = double.negativeInfinity,
|
||||
this.xMax = double.infinity,
|
||||
this.dxMin = double.negativeInfinity,
|
||||
|
@ -18,7 +18,10 @@ class FrictionSimulation extends Simulation {
|
||||
/// drag coefficient, a unitless value; the initial position, in the same
|
||||
/// length units as used for [x]; and the initial velocity, in the same
|
||||
/// velocity units as used for [dx].
|
||||
FrictionSimulation(double drag, double position, double velocity, {
|
||||
FrictionSimulation(
|
||||
double drag,
|
||||
double position,
|
||||
double velocity, {
|
||||
Tolerance tolerance = Tolerance.defaultTolerance,
|
||||
}) : _drag = drag,
|
||||
_dragLog = math.log(drag),
|
||||
|
@ -300,14 +300,14 @@ class RenderEditable extends RenderBox {
|
||||
|
||||
final Offset startOffset = _textPainter.getOffsetForCaret(
|
||||
TextPosition(offset: _selection.start, affinity: _selection.affinity),
|
||||
Rect.zero
|
||||
Rect.zero,
|
||||
);
|
||||
|
||||
_selectionStartInViewport.value = visibleRegion.contains(startOffset + effectiveOffset);
|
||||
|
||||
final Offset endOffset = _textPainter.getOffsetForCaret(
|
||||
TextPosition(offset: _selection.end, affinity: _selection.affinity),
|
||||
Rect.zero
|
||||
Rect.zero,
|
||||
);
|
||||
|
||||
_selectionEndInViewport.value = visibleRegion.contains(endOffset + effectiveOffset);
|
||||
|
@ -41,7 +41,8 @@ class RenderParagraph extends RenderBox {
|
||||
///
|
||||
/// The [maxLines] property may be null (and indeed defaults to null), but if
|
||||
/// it is not null, it must be greater than zero.
|
||||
RenderParagraph(TextSpan text, {
|
||||
RenderParagraph(
|
||||
TextSpan text, {
|
||||
TextAlign textAlign = TextAlign.start,
|
||||
@required TextDirection textDirection,
|
||||
bool softWrap = true,
|
||||
|
@ -773,7 +773,8 @@ class SliverHitTestEntry extends HitTestEntry {
|
||||
/// Creates a sliver hit test entry.
|
||||
///
|
||||
/// The [mainAxisPosition] and [crossAxisPosition] arguments must not be null.
|
||||
const SliverHitTestEntry(RenderSliver target, {
|
||||
const SliverHitTestEntry(
|
||||
RenderSliver target, {
|
||||
@required this.mainAxisPosition,
|
||||
@required this.crossAxisPosition,
|
||||
}) : assert(mainAxisPosition != null),
|
||||
|
@ -48,7 +48,8 @@ class Icon extends StatelessWidget {
|
||||
/// Creates an icon.
|
||||
///
|
||||
/// The [size] and [color] default to the value given by the current [IconTheme].
|
||||
const Icon(this.icon, {
|
||||
const Icon(
|
||||
this.icon, {
|
||||
Key key,
|
||||
this.size,
|
||||
this.color,
|
||||
|
@ -195,7 +195,8 @@ class Image extends StatefulWidget {
|
||||
/// [FilterQuality.none] which corresponds to nearest-neighbor.
|
||||
///
|
||||
/// If [excludeFromSemantics] is true, then [semanticLabel] will be ignored.
|
||||
Image.network(String src, {
|
||||
Image.network(
|
||||
String src, {
|
||||
Key key,
|
||||
double scale = 1.0,
|
||||
this.semanticLabel,
|
||||
@ -236,7 +237,8 @@ class Image extends StatefulWidget {
|
||||
/// [FilterQuality.none] which corresponds to nearest-neighbor.
|
||||
///
|
||||
/// If [excludeFromSemantics] is true, then [semanticLabel] will be ignored.
|
||||
Image.file(File file, {
|
||||
Image.file(
|
||||
File file, {
|
||||
Key key,
|
||||
double scale = 1.0,
|
||||
this.semanticLabel,
|
||||
@ -384,7 +386,8 @@ class Image extends StatefulWidget {
|
||||
/// scale is present.
|
||||
/// * <https://flutter.io/assets-and-images/>, an introduction to assets in
|
||||
/// Flutter.
|
||||
Image.asset(String name, {
|
||||
Image.asset(
|
||||
String name, {
|
||||
Key key,
|
||||
AssetBundle bundle,
|
||||
this.semanticLabel,
|
||||
@ -425,7 +428,8 @@ class Image extends StatefulWidget {
|
||||
/// [FilterQuality.none] which corresponds to nearest-neighbor.
|
||||
///
|
||||
/// If [excludeFromSemantics] is true, then [semanticLabel] will be ignored.
|
||||
Image.memory(Uint8List bytes, {
|
||||
Image.memory(
|
||||
Uint8List bytes, {
|
||||
Key key,
|
||||
double scale = 1.0,
|
||||
this.semanticLabel,
|
||||
|
@ -23,7 +23,8 @@ class ImageIcon extends StatelessWidget {
|
||||
/// Creates an image icon.
|
||||
///
|
||||
/// The [size] and [color] default to the value given by the current [IconTheme].
|
||||
const ImageIcon(this.image, {
|
||||
const ImageIcon(
|
||||
this.image, {
|
||||
Key key,
|
||||
this.size,
|
||||
this.color,
|
||||
|
@ -844,7 +844,8 @@ class _NestedScrollCoordinator implements ScrollActivityDelegate, ScrollHoldCont
|
||||
}
|
||||
|
||||
class _NestedScrollController extends ScrollController {
|
||||
_NestedScrollController(this.coordinator, {
|
||||
_NestedScrollController(
|
||||
this.coordinator, {
|
||||
double initialScrollOffset = 0.0,
|
||||
String debugLabel,
|
||||
}) : super(initialScrollOffset: initialScrollOffset, debugLabel: debugLabel);
|
||||
|
@ -36,11 +36,12 @@ class PerformanceOverlay extends LeafRenderObjectWidget {
|
||||
}) : super(key: key);
|
||||
|
||||
/// Create a performance overlay that displays all available statistics
|
||||
PerformanceOverlay.allEnabled({ Key key,
|
||||
PerformanceOverlay.allEnabled({
|
||||
Key key,
|
||||
this.rasterizerThreshold = 0,
|
||||
this.checkerboardRasterCacheImages = false,
|
||||
this.checkerboardOffscreenLayers = false })
|
||||
: optionsMask =
|
||||
this.checkerboardOffscreenLayers = false,
|
||||
}) : optionsMask =
|
||||
1 << PerformanceOverlayOption.displayRasterizerStatistics.index |
|
||||
1 << PerformanceOverlayOption.visualizeRasterizerStatistics.index |
|
||||
1 << PerformanceOverlayOption.displayEngineStatistics.index |
|
||||
|
@ -224,7 +224,8 @@ class Text extends StatelessWidget {
|
||||
/// closest enclosing [DefaultTextStyle].
|
||||
///
|
||||
/// The [data] parameter must not be null.
|
||||
const Text(this.data, {
|
||||
const Text(
|
||||
this.data, {
|
||||
Key key,
|
||||
this.style,
|
||||
this.strutStyle,
|
||||
@ -246,7 +247,8 @@ class Text extends StatelessWidget {
|
||||
/// Creates a text widget with a [TextSpan].
|
||||
///
|
||||
/// The [textSpan] parameter must not be null.
|
||||
const Text.rich(this.textSpan, {
|
||||
const Text.rich(
|
||||
this.textSpan, {
|
||||
Key key,
|
||||
this.style,
|
||||
this.strutStyle,
|
||||
|
@ -640,7 +640,7 @@ class _TextSelectionHandleOverlayState
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -348,7 +348,7 @@ void main() {
|
||||
onPressed: () {
|
||||
Navigator.pop<void>(context);
|
||||
},
|
||||
)
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
|
@ -267,7 +267,7 @@ void main() {
|
||||
groupValue: 1,
|
||||
onChanged: (int value) { },
|
||||
),
|
||||
)
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
@ -26,7 +26,10 @@ final List<SizedBox> _sizedTabs = <SizedBox>[
|
||||
];
|
||||
|
||||
Widget _withTheme(
|
||||
TabBarTheme theme, { List<Widget> tabs = _tabs, bool isScrollable = false }) {
|
||||
TabBarTheme theme, {
|
||||
List<Widget> tabs = _tabs,
|
||||
bool isScrollable = false,
|
||||
}) {
|
||||
return MaterialApp(
|
||||
theme: ThemeData(tabBarTheme: theme),
|
||||
home: Scaffold(
|
||||
@ -102,7 +105,7 @@ void main() {
|
||||
const double indicatorWeight = 2.0; // default value
|
||||
|
||||
const EdgeInsetsGeometry labelPadding = EdgeInsets.fromLTRB(
|
||||
leftPadding, topPadding, rightPadding, bottomPadding
|
||||
leftPadding, topPadding, rightPadding, bottomPadding,
|
||||
);
|
||||
|
||||
const TabBarTheme tabBarTheme = TabBarTheme(labelPadding: labelPadding);
|
||||
|
@ -741,7 +741,7 @@ class _TextStyleProxy implements TextStyle {
|
||||
double wordSpacingFactor = 1.0,
|
||||
double wordSpacingDelta = 0.0,
|
||||
double heightFactor = 1.0,
|
||||
double heightDelta = 0.0
|
||||
double heightDelta = 0.0,
|
||||
}) {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
@ -773,7 +773,7 @@ class _TextStyleProxy implements TextStyle {
|
||||
Color decorationColor,
|
||||
TextDecorationStyle decorationStyle,
|
||||
double decorationThickness,
|
||||
String debugLabel
|
||||
String debugLabel,
|
||||
}) {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
@ -796,7 +796,7 @@ class _TextStyleProxy implements TextStyle {
|
||||
FontWeight fontWeight,
|
||||
FontStyle fontStyle,
|
||||
double height,
|
||||
StrutStyle strutStyle
|
||||
StrutStyle strutStyle,
|
||||
}) {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
@ -866,9 +866,15 @@ abstract class _PaintPredicate {
|
||||
|
||||
abstract class _DrawCommandPaintPredicate extends _PaintPredicate {
|
||||
_DrawCommandPaintPredicate(
|
||||
this.symbol, this.name, this.argumentCount, this.paintArgumentIndex,
|
||||
{ this.color, this.strokeWidth, this.hasMaskFilter, this.style, }
|
||||
);
|
||||
this.symbol,
|
||||
this.name,
|
||||
this.argumentCount,
|
||||
this.paintArgumentIndex, {
|
||||
this.color,
|
||||
this.strokeWidth,
|
||||
this.hasMaskFilter,
|
||||
this.style,
|
||||
});
|
||||
|
||||
final Symbol symbol;
|
||||
final String name;
|
||||
@ -934,7 +940,9 @@ abstract class _DrawCommandPaintPredicate extends _PaintPredicate {
|
||||
}
|
||||
|
||||
class _OneParameterPaintPredicate<T> extends _DrawCommandPaintPredicate {
|
||||
_OneParameterPaintPredicate(Symbol symbol, String name, {
|
||||
_OneParameterPaintPredicate(
|
||||
Symbol symbol,
|
||||
String name, {
|
||||
@required this.expected,
|
||||
@required Color color,
|
||||
@required double strokeWidth,
|
||||
@ -967,7 +975,9 @@ class _OneParameterPaintPredicate<T> extends _DrawCommandPaintPredicate {
|
||||
}
|
||||
|
||||
class _TwoParameterPaintPredicate<T1, T2> extends _DrawCommandPaintPredicate {
|
||||
_TwoParameterPaintPredicate(Symbol symbol, String name, {
|
||||
_TwoParameterPaintPredicate(
|
||||
Symbol symbol,
|
||||
String name, {
|
||||
@required this.expected1,
|
||||
@required this.expected2,
|
||||
@required Color color,
|
||||
|
@ -26,7 +26,9 @@ void main() {
|
||||
);
|
||||
final Map<String, dynamic> json = configuration.toJson();
|
||||
expect(json['inputType'], <String, dynamic>{
|
||||
'name': 'TextInputType.text', 'signed': null, 'decimal': null,
|
||||
'name': 'TextInputType.text',
|
||||
'signed': null,
|
||||
'decimal': null,
|
||||
});
|
||||
expect(json['obscureText'], true);
|
||||
expect(json['autocorrect'], false);
|
||||
@ -42,7 +44,9 @@ void main() {
|
||||
);
|
||||
final Map<String, dynamic> json = configuration.toJson();
|
||||
expect(json['inputType'], <String, dynamic>{
|
||||
'name': 'TextInputType.number', 'signed': false, 'decimal': true,
|
||||
'name': 'TextInputType.number',
|
||||
'signed': false,
|
||||
'decimal': true,
|
||||
});
|
||||
expect(json['obscureText'], true);
|
||||
expect(json['autocorrect'], false);
|
||||
|
@ -37,8 +37,8 @@ void main() {
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
)
|
||||
),
|
||||
),
|
||||
)
|
||||
);
|
||||
await expectLater(
|
||||
|
@ -1649,8 +1649,7 @@ void main() {
|
||||
expect(tester.takeException(), isAssertionError);
|
||||
});
|
||||
|
||||
testWidgets('Hero within a Hero subtree with Builder, throws', (
|
||||
WidgetTester tester) async {
|
||||
testWidgets('Hero within a Hero subtree with Builder, throws', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Material(
|
||||
@ -1672,8 +1671,7 @@ void main() {
|
||||
expect(tester.takeException(),isAssertionError);
|
||||
});
|
||||
|
||||
testWidgets('Hero within a Hero subtree with LayoutBuilder, throws', (
|
||||
WidgetTester tester) async {
|
||||
testWidgets('Hero within a Hero subtree with LayoutBuilder, throws', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Material(
|
||||
|
@ -105,7 +105,8 @@ class LinkedScrollController extends ScrollController {
|
||||
}
|
||||
|
||||
class LinkedScrollPosition extends ScrollPositionWithSingleContext {
|
||||
LinkedScrollPosition(this.owner, {
|
||||
LinkedScrollPosition(
|
||||
this.owner, {
|
||||
ScrollPhysics physics,
|
||||
ScrollContext context,
|
||||
double initialPixels,
|
||||
|
@ -621,8 +621,7 @@ class SemanticsTester {
|
||||
|
||||
class _HasSemantics extends Matcher {
|
||||
const _HasSemantics(
|
||||
this._semantics,
|
||||
{
|
||||
this._semantics, {
|
||||
@required this.ignoreRect,
|
||||
@required this.ignoreTransform,
|
||||
@required this.ignoreId,
|
||||
|
@ -166,7 +166,7 @@ void main() {
|
||||
|
||||
class _TestWidget extends StatelessWidget {
|
||||
|
||||
const _TestWidget({this.pinned, this.floating, this.bottom, this.controller,});
|
||||
const _TestWidget({this.pinned, this.floating, this.bottom, this.controller});
|
||||
|
||||
final bool pinned;
|
||||
final bool floating;
|
||||
|
@ -21,15 +21,22 @@ void main() {
|
||||
}
|
||||
|
||||
Map<String, dynamic> build(int timeStamp, int duration) => <String, dynamic>{
|
||||
'name': 'Frame', 'ph': 'X', 'ts': timeStamp, 'dur': duration,
|
||||
'name': 'Frame',
|
||||
'ph': 'X',
|
||||
'ts': timeStamp,
|
||||
'dur': duration,
|
||||
};
|
||||
|
||||
Map<String, dynamic> begin(int timeStamp) => <String, dynamic>{
|
||||
'name': 'GPURasterizer::Draw', 'ph': 'B', 'ts': timeStamp,
|
||||
'name': 'GPURasterizer::Draw',
|
||||
'ph': 'B',
|
||||
'ts': timeStamp,
|
||||
};
|
||||
|
||||
Map<String, dynamic> end(int timeStamp) => <String, dynamic>{
|
||||
'name': 'GPURasterizer::Draw', 'ph': 'E', 'ts': timeStamp,
|
||||
'name': 'GPURasterizer::Draw',
|
||||
'ph': 'E',
|
||||
'ts': timeStamp,
|
||||
};
|
||||
|
||||
List<Map<String, dynamic>> rasterizeTimeSequenceInMillis(List<int> sequence) {
|
||||
|
@ -231,7 +231,8 @@ abstract class TestWidgetsFlutterBinding extends BindingBase
|
||||
/// [AutomatedTestWidgetsFlutterBinding] implementation to increase the
|
||||
/// current timeout. See [AutomatedTestWidgetsFlutterBinding.addTime] for
|
||||
/// details. The value is ignored by the [LiveTestWidgetsFlutterBinding].
|
||||
Future<T> runAsync<T>(Future<T> callback(), {
|
||||
Future<T> runAsync<T>(
|
||||
Future<T> callback(), {
|
||||
Duration additionalTime = const Duration(milliseconds: 1000),
|
||||
});
|
||||
|
||||
@ -740,7 +741,8 @@ class AutomatedTestWidgetsFlutterBinding extends TestWidgetsFlutterBinding {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<T> runAsync<T>(Future<T> callback(), {
|
||||
Future<T> runAsync<T>(
|
||||
Future<T> callback(), {
|
||||
Duration additionalTime = const Duration(milliseconds: 1000),
|
||||
}) {
|
||||
assert(additionalTime != null);
|
||||
@ -1249,7 +1251,8 @@ class LiveTestWidgetsFlutterBinding extends TestWidgetsFlutterBinding {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<T> runAsync<T>(Future<T> callback(), {
|
||||
Future<T> runAsync<T>(
|
||||
Future<T> callback(), {
|
||||
Duration additionalTime = const Duration(milliseconds: 1000),
|
||||
}) async {
|
||||
assert(() {
|
||||
|
@ -654,7 +654,9 @@ class _ElementPredicateFinder extends MatchFinder {
|
||||
}
|
||||
|
||||
class _DescendantFinder extends Finder {
|
||||
_DescendantFinder(this.ancestor, this.descendant, {
|
||||
_DescendantFinder(
|
||||
this.ancestor,
|
||||
this.descendant, {
|
||||
this.matchRoot = false,
|
||||
bool skipOffstage = true,
|
||||
}) : super(skipOffstage: skipOffstage);
|
||||
|
@ -409,7 +409,8 @@ class WidgetTester extends WidgetController implements HitTestDispatcher, Ticker
|
||||
/// are required to wait for the returned future to complete before calling
|
||||
/// this method again. Attempts to do otherwise will result in a
|
||||
/// [TestFailure] error being thrown.
|
||||
Future<T> runAsync<T>(Future<T> callback(), {
|
||||
Future<T> runAsync<T>(
|
||||
Future<T> callback(), {
|
||||
Duration additionalTime = const Duration(milliseconds: 1000),
|
||||
}) => binding.runAsync<T>(callback, additionalTime: additionalTime);
|
||||
|
||||
|
@ -315,9 +315,11 @@ class TestWindow implements Window {
|
||||
}
|
||||
|
||||
@override
|
||||
void sendPlatformMessage(String name,
|
||||
void sendPlatformMessage(
|
||||
String name,
|
||||
ByteData data,
|
||||
PlatformMessageResponseCallback callback) {
|
||||
PlatformMessageResponseCallback callback,
|
||||
) {
|
||||
_window.sendPlatformMessage(name, data, callback);
|
||||
}
|
||||
|
||||
|
@ -162,6 +162,5 @@ class SimpleCustomSemanticsRenderObject extends RenderBox {
|
||||
void describeSemanticsConfiguration(SemanticsConfiguration config) {
|
||||
super.describeSemanticsConfiguration(config);
|
||||
config..label = label..textDirection = TextDirection.ltr;
|
||||
|
||||
}
|
||||
}
|
@ -113,7 +113,7 @@ Future<void> main(List<String> args) async {
|
||||
platformKernelDill: platformKernelDill,
|
||||
flutterPatchedSdk: flutterPatchedSdk,
|
||||
),
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -588,7 +588,8 @@ class AndroidSdk {
|
||||
}
|
||||
|
||||
class AndroidSdkVersion implements Comparable<AndroidSdkVersion> {
|
||||
AndroidSdkVersion._(this.sdk, {
|
||||
AndroidSdkVersion._(
|
||||
this.sdk, {
|
||||
@required this.sdkLevel,
|
||||
@required this.platformName,
|
||||
@required this.buildToolsVersion,
|
||||
|
@ -30,9 +30,13 @@ final RegExp _dotHomeStudioVersionMatcher =
|
||||
String get javaPath => androidStudio?.javaPath;
|
||||
|
||||
class AndroidStudio implements Comparable<AndroidStudio> {
|
||||
AndroidStudio(this.directory,
|
||||
{Version version, this.configured, this.studioAppName = 'AndroidStudio', this.presetPluginsPath})
|
||||
: version = version ?? Version.unknown {
|
||||
AndroidStudio(
|
||||
this.directory, {
|
||||
Version version,
|
||||
this.configured,
|
||||
this.studioAppName = 'AndroidStudio',
|
||||
this.presetPluginsPath,
|
||||
}) : version = version ?? Version.unknown {
|
||||
_init();
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,9 @@ import 'globals.dart';
|
||||
|
||||
/// Information about a build to be performed or used.
|
||||
class BuildInfo {
|
||||
const BuildInfo(this.mode, this.flavor, {
|
||||
const BuildInfo(
|
||||
this.mode,
|
||||
this.flavor, {
|
||||
this.trackWidgetCreation = false,
|
||||
this.compilationTraceFilePath,
|
||||
this.createBaseline = false,
|
||||
|
@ -119,7 +119,8 @@ class BuildRunner extends CodeGenerator {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<CodegenDaemon> daemon(FlutterProject flutterProject, {
|
||||
Future<CodegenDaemon> daemon(
|
||||
FlutterProject flutterProject, {
|
||||
String mainPath,
|
||||
bool linkPlatformKernelIn = false,
|
||||
bool targetProductVm = false,
|
||||
|
@ -34,7 +34,7 @@ abstract class RunCommandBase extends FlutterCommand {
|
||||
)
|
||||
..addFlag('verbose-system-logs',
|
||||
negatable: false,
|
||||
help: 'Include verbose logging from the flutter engine.'
|
||||
help: 'Include verbose logging from the flutter engine.',
|
||||
)
|
||||
..addOption('route',
|
||||
help: 'Which route to load when running the app.',
|
||||
|
@ -909,7 +909,10 @@ class PubspecHeader extends PubspecLine {
|
||||
|
||||
/// A dependency, as represented by a line (or two) from a pubspec.yaml file.
|
||||
class PubspecDependency extends PubspecLine {
|
||||
PubspecDependency(String line, this.name, this.suffix, {
|
||||
PubspecDependency(
|
||||
String line,
|
||||
this.name,
|
||||
this.suffix, {
|
||||
@required this.isTransitive,
|
||||
DependencyKind kind,
|
||||
this.version,
|
||||
|
@ -412,7 +412,8 @@ class _RejectRequest extends _CompilationRequest {
|
||||
/// The wrapper is intended to stay resident in memory as user changes, reloads,
|
||||
/// restarts the Flutter app.
|
||||
class ResidentCompiler {
|
||||
ResidentCompiler(this._sdkRoot, {
|
||||
ResidentCompiler(
|
||||
this._sdkRoot, {
|
||||
bool trackWidgetCreation = false,
|
||||
String packagesPath,
|
||||
List<String> fileSystemRoots,
|
||||
|
@ -76,7 +76,7 @@ Future<void> pubGet({
|
||||
bool upgrade = false,
|
||||
bool offline = false,
|
||||
bool checkLastModified = true,
|
||||
bool skipPubspecYamlCheck = false
|
||||
bool skipPubspecYamlCheck = false,
|
||||
}) async {
|
||||
directory ??= fs.currentDirectory.path;
|
||||
|
||||
|
@ -337,8 +337,11 @@ class _DevFSHttpWriter {
|
||||
|
||||
// Basic statistics for DevFS update operation.
|
||||
class UpdateFSReport {
|
||||
UpdateFSReport({bool success = false,
|
||||
int invalidatedSourcesCount = 0, int syncedBytes = 0}) {
|
||||
UpdateFSReport({
|
||||
bool success = false,
|
||||
int invalidatedSourcesCount = 0,
|
||||
int syncedBytes = 0,
|
||||
}) {
|
||||
_success = success;
|
||||
_invalidatedSourcesCount = invalidatedSourcesCount;
|
||||
_syncedBytes = syncedBytes;
|
||||
|
@ -364,7 +364,8 @@ abstract class Device {
|
||||
}
|
||||
|
||||
class DebuggingOptions {
|
||||
DebuggingOptions.enabled(this.buildInfo, {
|
||||
DebuggingOptions.enabled(
|
||||
this.buildInfo, {
|
||||
this.startPaused = false,
|
||||
this.enableSoftwareRendering = false,
|
||||
this.skiaDeterministicRendering = false,
|
||||
|
@ -213,8 +213,7 @@ class FuchsiaDevice extends Device {
|
||||
_FuchsiaPortForwarder _portForwarder;
|
||||
|
||||
@override
|
||||
void clearLogs() {
|
||||
}
|
||||
void clearLogs() { }
|
||||
|
||||
@override
|
||||
bool get supportsScreenshot => false;
|
||||
@ -306,7 +305,9 @@ class FuchsiaDevice extends Device {
|
||||
}
|
||||
|
||||
class FuchsiaIsolateDiscoveryProtocol {
|
||||
FuchsiaIsolateDiscoveryProtocol(this._device, this._isolateName, [
|
||||
FuchsiaIsolateDiscoveryProtocol(
|
||||
this._device,
|
||||
this._isolateName, [
|
||||
this._vmServiceConnector = _kDefaultFuchsiaIsolateDiscoveryConnector,
|
||||
this._pollOnce = false,
|
||||
]);
|
||||
|
@ -389,8 +389,7 @@ class IOSDevice extends Device {
|
||||
DevicePortForwarder get portForwarder => _portForwarder ??= _IOSDevicePortForwarder(this);
|
||||
|
||||
@override
|
||||
void clearLogs() {
|
||||
}
|
||||
void clearLogs() { }
|
||||
|
||||
@override
|
||||
bool get supportsScreenshot => iMobileDevice.isInstalled;
|
||||
|
@ -625,15 +625,13 @@ Future<void> diagnoseXcodeBuildFailure(XcodeBuildResult result) async {
|
||||
}
|
||||
|
||||
class XcodeBuildResult {
|
||||
XcodeBuildResult(
|
||||
{
|
||||
XcodeBuildResult({
|
||||
@required this.success,
|
||||
this.output,
|
||||
this.stdout,
|
||||
this.stderr,
|
||||
this.xcodeBuildExecution,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
final bool success;
|
||||
final String output;
|
||||
@ -645,14 +643,12 @@ class XcodeBuildResult {
|
||||
|
||||
/// Describes an invocation of a Xcode build command.
|
||||
class XcodeBuildExecution {
|
||||
XcodeBuildExecution(
|
||||
{
|
||||
XcodeBuildExecution({
|
||||
@required this.buildCommands,
|
||||
@required this.appDirectory,
|
||||
@required this.buildForPhysicalDevice,
|
||||
@required this.buildSettings,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
/// The original list of Xcode build commands used to produce this build result.
|
||||
final List<String> buildCommands;
|
||||
|
@ -28,7 +28,8 @@ import 'run_hot.dart';
|
||||
import 'vmservice.dart';
|
||||
|
||||
class FlutterDevice {
|
||||
FlutterDevice(this.device, {
|
||||
FlutterDevice(
|
||||
this.device, {
|
||||
@required this.trackWidgetCreation,
|
||||
this.dillOutputPath,
|
||||
this.fileSystemRoots,
|
||||
@ -48,7 +49,8 @@ class FlutterDevice {
|
||||
);
|
||||
|
||||
/// Create a [FlutterDevice] with optional code generation enabled.
|
||||
static Future<FlutterDevice> create(Device device, {
|
||||
static Future<FlutterDevice> create(
|
||||
Device device, {
|
||||
@required bool trackWidgetCreation,
|
||||
String dillOutputPath,
|
||||
List<String> fileSystemRoots,
|
||||
@ -482,7 +484,8 @@ class FlutterDevice {
|
||||
|
||||
// Shared code between different resident application runners.
|
||||
abstract class ResidentRunner {
|
||||
ResidentRunner(this.flutterDevices, {
|
||||
ResidentRunner(
|
||||
this.flutterDevices, {
|
||||
this.target,
|
||||
this.debuggingOptions,
|
||||
this.usesTerminalUI = true,
|
||||
|
@ -93,8 +93,11 @@ class HotRunner extends ResidentRunner {
|
||||
benchmarkData[name].add(value);
|
||||
}
|
||||
|
||||
Future<void> _reloadSourcesService(String isolateId,
|
||||
{ bool force = false, bool pause = false }) async {
|
||||
Future<void> _reloadSourcesService(
|
||||
String isolateId, {
|
||||
bool force = false,
|
||||
bool pause = false,
|
||||
}) async {
|
||||
// TODO(cbernaschina): check that isolateId is the id of the UI isolate.
|
||||
final OperationResult result = await restart(pauseAfterRestart: pause);
|
||||
if (!result.isOk) {
|
||||
@ -589,7 +592,7 @@ class HotRunner extends ResidentRunner {
|
||||
}
|
||||
}
|
||||
|
||||
Future<OperationResult> _reloadSources({ bool pause = false, String reason, void Function(String message) onSlow, }) async {
|
||||
Future<OperationResult> _reloadSources({ bool pause = false, String reason, void Function(String message) onSlow }) async {
|
||||
final Map<String, String> analyticsParameters = <String, String>{};
|
||||
if (reason != null) {
|
||||
analyticsParameters[kEventReloadReasonParameterName] = reason;
|
||||
|
@ -424,8 +424,10 @@ abstract class ServiceObject {
|
||||
/// Factory constructor given a [ServiceObjectOwner] and a service map,
|
||||
/// upgrade the map into a proper [ServiceObject]. This function always
|
||||
/// returns a new instance and does not interact with caches.
|
||||
factory ServiceObject._fromMap(ServiceObjectOwner owner,
|
||||
Map<String, dynamic> map) {
|
||||
factory ServiceObject._fromMap(
|
||||
ServiceObjectOwner owner,
|
||||
Map<String, dynamic> map,
|
||||
) {
|
||||
if (map == null)
|
||||
return null;
|
||||
|
||||
|
@ -57,8 +57,11 @@ class VsCode {
|
||||
}
|
||||
}
|
||||
|
||||
factory VsCode.fromDirectory(String installPath, String extensionDirectory,
|
||||
{ String edition }) {
|
||||
factory VsCode.fromDirectory(
|
||||
String installPath,
|
||||
String extensionDirectory, {
|
||||
String edition,
|
||||
}) {
|
||||
final String packageJsonPath =
|
||||
fs.path.join(installPath, 'resources', 'app', 'package.json');
|
||||
final String versionString = _getVersionFromPackageJson(packageJsonPath);
|
||||
|
@ -9,12 +9,10 @@ import 'src/common.dart';
|
||||
import 'src/context.dart';
|
||||
|
||||
void main() {
|
||||
setUpAll(() {
|
||||
});
|
||||
setUpAll(() { });
|
||||
|
||||
group('Validate build number', () {
|
||||
setUp(() async {
|
||||
});
|
||||
setUp(() async { });
|
||||
|
||||
testUsingContext('CFBundleVersion for iOS', () async {
|
||||
String buildName = validatedBuildNumberForPlatform(TargetPlatform.ios, 'xyz');
|
||||
@ -34,8 +32,7 @@ void main() {
|
||||
});
|
||||
|
||||
group('Validate build name', () {
|
||||
setUp(() async {
|
||||
});
|
||||
setUp(() async { });
|
||||
|
||||
testUsingContext('CFBundleShortVersionString for iOS', () async {
|
||||
String buildName = validatedBuildNameForPlatform(TargetPlatform.ios, 'xyz');
|
||||
|
@ -900,7 +900,7 @@ void main() {
|
||||
final List<String> args = <String>[
|
||||
'create',
|
||||
'--list-samples',
|
||||
outputFile
|
||||
outputFile,
|
||||
];
|
||||
|
||||
await runner.run(args);
|
||||
@ -918,7 +918,7 @@ void main() {
|
||||
final List<String> args = <String>[
|
||||
'create',
|
||||
'--list-samples',
|
||||
outputFile
|
||||
outputFile,
|
||||
];
|
||||
|
||||
await expectLater(runner.run(args), throwsToolExit(exitCode: 2, message: 'Failed to write samples'));
|
||||
|
@ -108,12 +108,14 @@ class MockProcessManager extends Mock implements ProcessManager {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Process> start(List<dynamic> command,
|
||||
{String workingDirectory,
|
||||
Future<Process> start(
|
||||
List<dynamic> command, {
|
||||
String workingDirectory,
|
||||
Map<String, String> environment,
|
||||
bool includeParentEnvironment = true,
|
||||
bool runInShell = false,
|
||||
ProcessStartMode mode = ProcessStartMode.normal}) {
|
||||
ProcessStartMode mode = ProcessStartMode.normal,
|
||||
}) {
|
||||
final Completer<Process> completer = Completer<Process>();
|
||||
completer.complete(MockProcess());
|
||||
return completer.future;
|
||||
|
@ -532,9 +532,12 @@ Future<void> _recompile(
|
||||
mockFrontendServerStdIn._stdInWrites.clear();
|
||||
}
|
||||
|
||||
Future<void> _accept(StreamController<List<int>> streamController,
|
||||
ResidentCompiler generator, MockStdIn mockFrontendServerStdIn,
|
||||
String expected) async {
|
||||
Future<void> _accept(
|
||||
StreamController<List<int>> streamController,
|
||||
ResidentCompiler generator,
|
||||
MockStdIn mockFrontendServerStdIn,
|
||||
String expected,
|
||||
) async {
|
||||
// Put content into the output stream after generator.recompile gets
|
||||
// going few lines below, resets completer.
|
||||
generator.accept();
|
||||
@ -544,9 +547,13 @@ Future<void> _accept(StreamController<List<int>> streamController,
|
||||
mockFrontendServerStdIn._stdInWrites.clear();
|
||||
}
|
||||
|
||||
Future<void> _reject(StreamController<List<int>> streamController,
|
||||
ResidentCompiler generator, MockStdIn mockFrontendServerStdIn,
|
||||
String mockCompilerOutput, String expected) async {
|
||||
Future<void> _reject(
|
||||
StreamController<List<int>> streamController,
|
||||
ResidentCompiler generator,
|
||||
MockStdIn mockFrontendServerStdIn,
|
||||
String mockCompilerOutput,
|
||||
String expected,
|
||||
) async {
|
||||
// Put content into the output stream after generator.recompile gets
|
||||
// going few lines below, resets completer.
|
||||
scheduleMicrotask(() {
|
||||
|
@ -403,11 +403,12 @@ void main() {
|
||||
expect(GitTagVersion.parse('v1.2.3-4-gx$hash').frameworkVersionFor(hash), '0.0.0-unknown');
|
||||
expect(testLogger.statusText, '');
|
||||
expect(testLogger.errorText, '');
|
||||
expect(testLogger.traceText,
|
||||
expect(
|
||||
testLogger.traceText,
|
||||
'Could not interpret results of "git describe": x1.2.3-4-gabcdef\n'
|
||||
'Could not interpret results of "git describe": v1.0.0-unknown-0-gabcdef\n'
|
||||
'Could not interpret results of "git describe": beta-1-gabcdef\n'
|
||||
'Could not interpret results of "git describe": v1.2.3-4-gxabcdef\n'
|
||||
'Could not interpret results of "git describe": v1.2.3-4-gxabcdef\n',
|
||||
);
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user