Commit 3800bb7b authored by Alexandre Ardhuin's avatar Alexandre Ardhuin Committed by Flutter GitHub Bot

fix missing spaces in adjacent strings (#49159)

parent def2205e
<<skip until matching line>> <<skip until matching line>>
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during layout: The following assertion was thrown during layout:
A RenderFlex overflowed by 2844 pixels on the right\. A RenderFlex overflowed by 2858 pixels on the right\.
The relevant error-causing widget was: The relevant error-causing widget was:
Row Row
......
...@@ -26,7 +26,7 @@ void main() { ...@@ -26,7 +26,7 @@ void main() {
children: const <Widget>[ children: const <Widget>[
Text('Title'), Text('Title'),
Text( Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed' 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed '
'do eiusmod tempor incididunt ut labore et dolore magna ' 'do eiusmod tempor incididunt ut labore et dolore magna '
'aliqua. Ut enim ad minim veniam, quis nostrud ' 'aliqua. Ut enim ad minim veniam, quis nostrud '
'exercitation ullamco laboris nisi ut aliquip ex ea ' 'exercitation ullamco laboris nisi ut aliquip ex ea '
......
...@@ -11,7 +11,7 @@ const int _kNumWarmUp = 100; ...@@ -11,7 +11,7 @@ const int _kNumWarmUp = 100;
void main() { void main() {
final List<String> words = 'Lorem Ipsum is simply dummy text of the printing and' final List<String> words = 'Lorem Ipsum is simply dummy text of the printing and'
'typesetting industry. Lorem Ipsum has been the industry\'s' ' typesetting industry. Lorem Ipsum has been the industry\'s'
' standard dummy text ever since the 1500s, when an unknown' ' standard dummy text ever since the 1500s, when an unknown'
' printer took a galley of type and scrambled it to make a' ' printer took a galley of type and scrambled it to make a'
' type specimen book'.split(' '); ' type specimen book'.split(' ');
......
...@@ -171,7 +171,7 @@ final ArgParser _argParser = ArgParser() ...@@ -171,7 +171,7 @@ final ArgParser _argParser = ArgParser()
defaultsTo: true, defaultsTo: true,
help: 'Only run tests that match the host platform (e.g. do not run a\n' help: 'Only run tests that match the host platform (e.g. do not run a\n'
'test with a `required_agent_capabilities` value of "mac/android"\n' 'test with a `required_agent_capabilities` value of "mac/android"\n'
'on a windows host). Each test publishes its' 'on a windows host). Each test publishes its '
'`required_agent_capabilities`\nin the `manifest.yaml` file.', '`required_agent_capabilities`\nin the `manifest.yaml` file.',
) )
..addOption( ..addOption(
......
...@@ -220,7 +220,7 @@ Future<void> main() async { ...@@ -220,7 +220,7 @@ Future<void> main() async {
|| !analyticsOutput.contains('cd25: true') || !analyticsOutput.contains('cd25: true')
|| !analyticsOutput.contains('viewName: assemble')) { || !analyticsOutput.contains('viewName: assemble')) {
return TaskResult.failure( return TaskResult.failure(
'Building outer app produced the following analytics: "$analyticsOutput"' 'Building outer app produced the following analytics: "$analyticsOutput" '
'but not the expected strings: "cd24: android", "cd25: true" and ' 'but not the expected strings: "cd24: android", "cd25: true" and '
'"viewName: assemble"' '"viewName: assemble"'
); );
......
...@@ -285,7 +285,7 @@ Future<void> main() async { ...@@ -285,7 +285,7 @@ Future<void> main() async {
|| !objectiveCAnalyticsOutput.contains('cd25: true') || !objectiveCAnalyticsOutput.contains('cd25: true')
|| !objectiveCAnalyticsOutput.contains('viewName: build/bundle')) { || !objectiveCAnalyticsOutput.contains('viewName: build/bundle')) {
return TaskResult.failure( return TaskResult.failure(
'Building outer Objective-C app produced the following analytics: "$objectiveCAnalyticsOutput"' 'Building outer Objective-C app produced the following analytics: "$objectiveCAnalyticsOutput" '
'but not the expected strings: "cd24: ios", "cd25: true", "viewName: build/bundle"' 'but not the expected strings: "cd24: ios", "cd25: true", "viewName: build/bundle"'
); );
} }
...@@ -374,7 +374,7 @@ Future<void> main() async { ...@@ -374,7 +374,7 @@ Future<void> main() async {
|| !swiftAnalyticsOutput.contains('cd25: true') || !swiftAnalyticsOutput.contains('cd25: true')
|| !swiftAnalyticsOutput.contains('viewName: build/bundle')) { || !swiftAnalyticsOutput.contains('viewName: build/bundle')) {
return TaskResult.failure( return TaskResult.failure(
'Building outer Swift app produced the following analytics: "$swiftAnalyticsOutput"' 'Building outer Swift app produced the following analytics: "$swiftAnalyticsOutput" '
'but not the expected strings: "cd24: ios", "cd25: true", "viewName: build/bundle"' 'but not the expected strings: "cd24: ios", "cd25: true", "viewName: build/bundle"'
); );
} }
......
...@@ -132,8 +132,7 @@ void main() { ...@@ -132,8 +132,7 @@ void main() {
expect(html, contains('<div>HTML Bits</div>')); expect(html, contains('<div>HTML Bits</div>'));
expect(html, contains('<div>More HTML Bits</div>')); expect(html, contains('<div>More HTML Bits</div>'));
expect(html, contains(' print(&#39;The actual \$name.&#39;);')); expect(html, contains(' print(&#39;The actual \$name.&#39;);'));
expect(html, contains('<div class="snippet-description">' expect(html, contains('<div class="snippet-description">{@end-inject-html}A description of the snippet.\n\n'
'{@end-inject-html}A description of the snippet.\n\n'
'On several lines.{@inject-html}</div>\n')); 'On several lines.{@inject-html}</div>\n'));
expect(html, contains('main() {')); expect(html, contains('main() {'));
}); });
......
...@@ -102,7 +102,7 @@ Future<void> main(List<String> rawArguments) async { ...@@ -102,7 +102,7 @@ Future<void> main(List<String> rawArguments) async {
argParser.addOption( argParser.addOption(
'code', 'code',
defaultsTo: path.join(flutterRoot.path, 'packages', 'flutter', 'lib', 'src', 'services', 'keyboard_key.dart'), defaultsTo: path.join(flutterRoot.path, 'packages', 'flutter', 'lib', 'src', 'services', 'keyboard_key.dart'),
help: 'The path to where the output "keyboard_keys.dart" file should be' help: 'The path to where the output "keyboard_keys.dart" file should be '
'written. If --code is not specified, the output will be written to the ' 'written. If --code is not specified, the output will be written to the '
'correct directory in the flutter tree. If the output directory does not ' 'correct directory in the flutter tree. If the output directory does not '
'exist, it, and the path to it, will be created.', 'exist, it, and the path to it, will be created.',
...@@ -110,7 +110,7 @@ Future<void> main(List<String> rawArguments) async { ...@@ -110,7 +110,7 @@ Future<void> main(List<String> rawArguments) async {
argParser.addOption( argParser.addOption(
'maps', 'maps',
defaultsTo: path.join(flutterRoot.path, 'packages', 'flutter', 'lib', 'src', 'services', 'keyboard_maps.dart'), defaultsTo: path.join(flutterRoot.path, 'packages', 'flutter', 'lib', 'src', 'services', 'keyboard_maps.dart'),
help: 'The path to where the output "keyboard_maps.dart" file should be' help: 'The path to where the output "keyboard_maps.dart" file should be '
'written. If --maps is not specified, the output will be written to the ' 'written. If --maps is not specified, the output will be written to the '
'correct directory in the flutter tree. If the output directory does not ' 'correct directory in the flutter tree. If the output directory does not '
'exist, it, and the path to it, will be created.', 'exist, it, and the path to it, will be created.',
......
...@@ -544,7 +544,7 @@ String genPluralMethod(Map<String, dynamic> arbBundle, String resourceId) { ...@@ -544,7 +544,7 @@ String genPluralMethod(Map<String, dynamic> arbBundle, String resourceId) {
} }
String genSupportedLocaleProperty(Set<LocaleInfo> supportedLocales) { String genSupportedLocaleProperty(Set<LocaleInfo> supportedLocales) {
const String prefix = 'static const List<Locale> supportedLocales = <Locale>[\n Locale('''; const String prefix = 'static const List<Locale> supportedLocales = <Locale>[\n Locale(';
const String suffix = '),\n ];'; const String suffix = '),\n ];';
String resultingProperty = prefix; String resultingProperty = prefix;
......
...@@ -87,8 +87,8 @@ class PathAnimation { ...@@ -87,8 +87,8 @@ class PathAnimation {
final String currentCommandType = frame.paths[pathIdx].commands[commandIdx].type; final String currentCommandType = frame.paths[pathIdx].commands[commandIdx].type;
if (commandType != currentCommandType) if (commandType != currentCommandType)
throw Exception( throw Exception(
'Paths must be built from the same commands in all frames' 'Paths must be built from the same commands in all frames '
'command $commandIdx at frame 0 was of type \'$commandType\'' 'command $commandIdx at frame 0 was of type \'$commandType\' '
'command $commandIdx at frame $i was of type \'$currentCommandType\'' 'command $commandIdx at frame $i was of type \'$currentCommandType\''
); );
for (int j = 0; j < numPointsInCommand; j += 1) for (int j = 0; j < numPointsInCommand; j += 1)
......
...@@ -131,7 +131,7 @@ class FruitPage extends StatelessWidget { ...@@ -131,7 +131,7 @@ class FruitPage extends StatelessWidget {
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
Text( Text(
'How these crazy fruits sweetened our hearts, relationships,' 'How these crazy fruits sweetened our hearts, relationships, '
'and puffed pastries', 'and puffed pastries',
style: textTheme.body1, style: textTheme.body1,
), ),
......
...@@ -90,7 +90,7 @@ class _BottomAppBarDemoState extends State<BottomAppBarDemo> { ...@@ -90,7 +90,7 @@ class _BottomAppBarDemoState extends State<BottomAppBarDemo> {
static void _showSnackbar() { static void _showSnackbar() {
const String text = const String text =
"When the Scaffold's floating action button location changes, " "When the Scaffold's floating action button location changes, "
'the floating action button animates to its new position.' 'the floating action button animates to its new position. '
'The BottomAppBar adapts its shape appropriately.'; 'The BottomAppBar adapts its shape appropriately.';
_scaffoldKey.currentState.showSnackBar( _scaffoldKey.currentState.showSnackBar(
const SnackBar(content: Text(text)), const SnackBar(content: Text(text)),
......
...@@ -143,7 +143,7 @@ class HitTestResult { ...@@ -143,7 +143,7 @@ class HitTestResult {
'The third row and third column of a transform matrix for pointer ' 'The third row and third column of a transform matrix for pointer '
'events must be Vector4(0, 0, 1, 0) to ensure that a transformed ' 'events must be Vector4(0, 0, 1, 0) to ensure that a transformed '
'point is directly under the pointer device. Did you forget to run the paint ' 'point is directly under the pointer device. Did you forget to run the paint '
'matrix through PointerEvent.removePerspectiveTransform?' 'matrix through PointerEvent.removePerspectiveTransform? '
'The provided matrix is:\n$transform' 'The provided matrix is:\n$transform'
); );
_transforms.add(_transforms.isEmpty ? transform : (transform * _transforms.last as Matrix4)); _transforms.add(_transforms.isEmpty ? transform : (transform * _transforms.last as Matrix4));
......
...@@ -76,7 +76,7 @@ bool debugCheckHasMaterialLocalizations(BuildContext context) { ...@@ -76,7 +76,7 @@ bool debugCheckHasMaterialLocalizations(BuildContext context) {
'to be provided by a Localizations widget ancestor.' 'to be provided by a Localizations widget ancestor.'
), ),
ErrorDescription( ErrorDescription(
'Localizations are used to generate many different messages, labels,' 'Localizations are used to generate many different messages, labels, '
'and abbreviations which are used by the material library.' 'and abbreviations which are used by the material library.'
), ),
ErrorHint( ErrorHint(
......
...@@ -1755,7 +1755,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin { ...@@ -1755,7 +1755,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin {
assert(() { assert(() {
if (widget.bottomSheet != null && isPersistent && _currentBottomSheet != null) { if (widget.bottomSheet != null && isPersistent && _currentBottomSheet != null) {
throw FlutterError( throw FlutterError(
'Scaffold.bottomSheet cannot be specified while a bottom sheet' 'Scaffold.bottomSheet cannot be specified while a bottom sheet '
'displayed with showBottomSheet() is still visible.\n' 'displayed with showBottomSheet() is still visible.\n'
'Rebuild the Scaffold with a null bottomSheet before calling showBottomSheet().' 'Rebuild the Scaffold with a null bottomSheet before calling showBottomSheet().'
); );
...@@ -1935,7 +1935,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin { ...@@ -1935,7 +1935,7 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin {
assert(() { assert(() {
if (widget.bottomSheet != null) { if (widget.bottomSheet != null) {
throw FlutterError( throw FlutterError(
'Scaffold.bottomSheet cannot be specified while a bottom sheet' 'Scaffold.bottomSheet cannot be specified while a bottom sheet '
'displayed with showBottomSheet() is still visible.\n' 'displayed with showBottomSheet() is still visible.\n'
'Rebuild the Scaffold with a null bottomSheet before calling showBottomSheet().' 'Rebuild the Scaffold with a null bottomSheet before calling showBottomSheet().'
); );
......
...@@ -566,7 +566,7 @@ class ToggleButtons extends StatelessWidget { ...@@ -566,7 +566,7 @@ class ToggleButtons extends StatelessWidget {
return true; return true;
}(), }(),
'focusNodes.length must match children.length.\n' 'focusNodes.length must match children.length.\n'
'There are ${focusNodes.length} focus nodes, while' 'There are ${focusNodes.length} focus nodes, while '
'there are ${children.length} children.' 'there are ${children.length} children.'
); );
final ThemeData theme = Theme.of(context); final ThemeData theme = Theme.of(context);
......
...@@ -503,19 +503,20 @@ class SliverConstraints extends Constraints { ...@@ -503,19 +503,20 @@ class SliverConstraints extends Constraints {
@override @override
String toString() { String toString() {
return 'SliverConstraints(' final List<String> properties = <String>[
'$axisDirection, ' '$axisDirection',
'$growthDirection, ' '$growthDirection',
'$userScrollDirection, ' '$userScrollDirection',
'scrollOffset: ${scrollOffset.toStringAsFixed(1)}, ' 'scrollOffset: ${scrollOffset.toStringAsFixed(1)}',
'remainingPaintExtent: ${remainingPaintExtent.toStringAsFixed(1)}, ' + 'remainingPaintExtent: ${remainingPaintExtent.toStringAsFixed(1)}',
(overlap != 0.0 ? 'overlap: ${overlap.toStringAsFixed(1)}, ' : '') + if (overlap != 0.0) 'overlap: ${overlap.toStringAsFixed(1)}',
'crossAxisExtent: ${crossAxisExtent.toStringAsFixed(1)}, ' 'crossAxisExtent: ${crossAxisExtent.toStringAsFixed(1)}',
'crossAxisDirection: $crossAxisDirection, ' 'crossAxisDirection: $crossAxisDirection',
'viewportMainAxisExtent: ${viewportMainAxisExtent.toStringAsFixed(1)}, ' 'viewportMainAxisExtent: ${viewportMainAxisExtent.toStringAsFixed(1)}',
'remainingCacheExtent: ${remainingCacheExtent.toStringAsFixed(1)} ' 'remainingCacheExtent: ${remainingCacheExtent.toStringAsFixed(1)}',
'cacheOrigin: ${cacheOrigin.toStringAsFixed(1)} ' 'cacheOrigin: ${cacheOrigin.toStringAsFixed(1)}',
')'; ];
return 'SliverConstraints(${properties.join(', ')})';
} }
} }
......
...@@ -163,9 +163,9 @@ class RenderSliverFillRemaining extends RenderSliverSingleBoxAdapter { ...@@ -163,9 +163,9 @@ class RenderSliverFillRemaining extends RenderSliverSingleBoxAdapter {
} }
assert(extent.isFinite, assert(extent.isFinite,
'The calculated extent for the child of SliverFillRemaining is not finite.' 'The calculated extent for the child of SliverFillRemaining is not finite. '
'This can happen if the child is a scrollable, in which case, the' 'This can happen if the child is a scrollable, in which case, the '
'hasScrollBody property of SliverFillRemaining should not be set to' 'hasScrollBody property of SliverFillRemaining should not be set to '
'false.', 'false.',
); );
final double paintedChildSize = calculatePaintOffset(constraints, from: 0.0, to: extent); final double paintedChildSize = calculatePaintOffset(constraints, from: 0.0, to: extent);
...@@ -239,9 +239,9 @@ class RenderSliverFillRemainingAndOverscroll extends RenderSliverSingleBoxAdapte ...@@ -239,9 +239,9 @@ class RenderSliverFillRemainingAndOverscroll extends RenderSliverSingleBoxAdapte
} }
assert(extent.isFinite, assert(extent.isFinite,
'The calculated extent for the child of SliverFillRemaining is not finite.' 'The calculated extent for the child of SliverFillRemaining is not finite. '
'This can happen if the child is a scrollable, in which case, the' 'This can happen if the child is a scrollable, in which case, the '
'hasScrollBody property of SliverFillRemaining should not be set to' 'hasScrollBody property of SliverFillRemaining should not be set to '
'false.', 'false.',
); );
final double paintedChildSize = calculatePaintOffset(constraints, from: 0.0, to: extent); final double paintedChildSize = calculatePaintOffset(constraints, from: 0.0, to: extent);
......
...@@ -71,12 +71,13 @@ class SliverGridGeometry { ...@@ -71,12 +71,13 @@ class SliverGridGeometry {
@override @override
String toString() { String toString() {
return 'SliverGridGeometry(' final List<String> properties = <String>[
'scrollOffset: $scrollOffset, ' 'scrollOffset: $scrollOffset',
'crossAxisOffset: $crossAxisOffset, ' 'crossAxisOffset: $crossAxisOffset',
'mainAxisExtent: $mainAxisExtent, ' 'mainAxisExtent: $mainAxisExtent',
'crossAxisExtent: $crossAxisExtent' 'crossAxisExtent: $crossAxisExtent',
')'; ];
return 'SliverGridGeometry(${properties.join(', ')})';
} }
} }
......
...@@ -1270,7 +1270,7 @@ class RenderViewport extends RenderViewportBase<SliverPhysicalContainerParentDat ...@@ -1270,7 +1270,7 @@ class RenderViewport extends RenderViewportBase<SliverPhysicalContainerParentDat
throw FlutterError.fromParts(<DiagnosticsNode>[ throw FlutterError.fromParts(<DiagnosticsNode>[
ErrorSummary('Horizontal viewport was given unbounded width.'), ErrorSummary('Horizontal viewport was given unbounded width.'),
ErrorDescription( ErrorDescription(
'Viewports expand in the scrolling direction to fill their container.' 'Viewports expand in the scrolling direction to fill their container. '
'In this case, a horizontal viewport was given an unlimited amount of ' 'In this case, a horizontal viewport was given an unlimited amount of '
'horizontal space in which to expand. This situation typically happens ' 'horizontal space in which to expand. This situation typically happens '
'when a scrollable widget is nested inside another scrollable widget.' 'when a scrollable widget is nested inside another scrollable widget.'
......
...@@ -145,7 +145,7 @@ class _AutomaticKeepAliveState extends State<AutomaticKeepAlive> { ...@@ -145,7 +145,7 @@ class _AutomaticKeepAliveState extends State<AutomaticKeepAlive> {
assert(() { assert(() {
if (!mounted) { if (!mounted) {
throw FlutterError( throw FlutterError(
'AutomaticKeepAlive handle triggered after AutomaticKeepAlive was disposed.' 'AutomaticKeepAlive handle triggered after AutomaticKeepAlive was disposed. '
'Widgets should always trigger their KeepAliveNotification handle when they are ' 'Widgets should always trigger their KeepAliveNotification handle when they are '
'deactivated, so that they (or their handle) do not send spurious events later ' 'deactivated, so that they (or their handle) do not send spurious events later '
'when they are no longer in the tree.' 'when they are no longer in the tree.'
......
...@@ -574,22 +574,23 @@ class MediaQueryData { ...@@ -574,22 +574,23 @@ class MediaQueryData {
@override @override
String toString() { String toString() {
return '${objectRuntimeType(this, 'MediaQueryData')}(' final List<String> properties = <String>[
'size: $size, ' 'size: $size',
'devicePixelRatio: ${devicePixelRatio.toStringAsFixed(1)}, ' 'devicePixelRatio: ${devicePixelRatio.toStringAsFixed(1)}',
'textScaleFactor: ${textScaleFactor.toStringAsFixed(1)}, ' 'textScaleFactor: ${textScaleFactor.toStringAsFixed(1)}',
'platformBrightness: $platformBrightness, ' 'platformBrightness: $platformBrightness',
'padding: $padding, ' 'padding: $padding',
'viewPadding: $viewPadding, ' 'viewPadding: $viewPadding',
'viewInsets: $viewInsets, ' 'viewInsets: $viewInsets',
'physicalDepth: $physicalDepth, ' 'physicalDepth: $physicalDepth',
'alwaysUse24HourFormat: $alwaysUse24HourFormat, ' 'alwaysUse24HourFormat: $alwaysUse24HourFormat',
'accessibleNavigation: $accessibleNavigation, ' 'accessibleNavigation: $accessibleNavigation',
'highContrast: $highContrast,' 'highContrast: $highContrast',
'disableAnimations: $disableAnimations, ' 'disableAnimations: $disableAnimations',
'invertColors: $invertColors, ' 'invertColors: $invertColors',
'boldText: $boldText' 'boldText: $boldText',
')'; ];
return '${objectRuntimeType(this, 'MediaQueryData')}(${properties.join(', ')})';
} }
} }
......
...@@ -724,7 +724,7 @@ void main() { ...@@ -724,7 +724,7 @@ void main() {
expect(tabsPainted, const <int> [0, 0, 1]); expect(tabsPainted, const <int> [0, 0, 1]);
}); });
testWidgets('Do not call dispose on a controller that we do not own' testWidgets('Do not call dispose on a controller that we do not own '
'but do remove from its listeners when done listening to it', 'but do remove from its listeners when done listening to it',
(WidgetTester tester) async { (WidgetTester tester) async {
final MockCupertinoTabController mockController = MockCupertinoTabController(initialIndex: 0); final MockCupertinoTabController mockController = MockCupertinoTabController(initialIndex: 0);
...@@ -798,7 +798,7 @@ void main() { ...@@ -798,7 +798,7 @@ void main() {
expect(find.text('Tab 3'), findsNothing); expect(find.text('Tab 3'), findsNothing);
}); });
testWidgets('A controller can control more than one CupertinoTabScaffold,' testWidgets('A controller can control more than one CupertinoTabScaffold, '
'removal of listeners does not break the controller', 'removal of listeners does not break the controller',
(WidgetTester tester) async { (WidgetTester tester) async {
final List<int> tabsPainted0 = <int>[]; final List<int> tabsPainted0 = <int>[];
......
...@@ -68,7 +68,7 @@ void main() { ...@@ -68,7 +68,7 @@ void main() {
' BackButton widgets require MaterialLocalizations to be provided\n' ' BackButton widgets require MaterialLocalizations to be provided\n'
' by a Localizations widget ancestor.\n' ' by a Localizations widget ancestor.\n'
' Localizations are used to generate many different messages,\n' ' Localizations are used to generate many different messages,\n'
' labels,and abbreviations which are used by the material library.\n' ' labels, and abbreviations which are used by the material library.\n'
' To introduce a MaterialLocalizations, either use a MaterialApp at\n' ' To introduce a MaterialLocalizations, either use a MaterialApp at\n'
' the root of your application to include them automatically, or\n' ' the root of your application to include them automatically, or\n'
' add a Localization widget with a MaterialLocalizations delegate.\n' ' add a Localization widget with a MaterialLocalizations delegate.\n'
......
...@@ -649,7 +649,7 @@ void main() { ...@@ -649,7 +649,7 @@ void main() {
}); });
testWidgets( testWidgets(
'didUpdateWidget accounts for toggling between ExpansionPanelList' 'didUpdateWidget accounts for toggling between ExpansionPanelList '
'and ExpansionPaneList.radio', 'and ExpansionPaneList.radio',
(WidgetTester tester) async { (WidgetTester tester) async {
bool isRadioList = false; bool isRadioList = false;
......
...@@ -1720,8 +1720,8 @@ void main() { ...@@ -1720,8 +1720,8 @@ void main() {
expect(error, isNotNull); expect(error, isNotNull);
expect(error.toStringDeep(), equalsIgnoringHashCodes( expect(error.toStringDeep(), equalsIgnoringHashCodes(
'FlutterError\n' 'FlutterError\n'
' Scaffold.bottomSheet cannot be specified while a bottom\n' ' Scaffold.bottomSheet cannot be specified while a bottom sheet\n'
' sheetdisplayed with showBottomSheet() is still visible.\n' ' displayed with showBottomSheet() is still visible.\n'
' Rebuild the Scaffold with a null bottomSheet before calling\n' ' Rebuild the Scaffold with a null bottomSheet before calling\n'
' showBottomSheet().\n', ' showBottomSheet().\n',
)); ));
......
...@@ -228,7 +228,7 @@ void main() { ...@@ -228,7 +228,7 @@ void main() {
), ),
), ),
); );
fail('Should not be possible to create a toggle button with mismatching' fail('Should not be possible to create a toggle button with mismatching '
'children.length and isSelected.length.'); 'children.length and isSelected.length.');
} on AssertionError catch (e) { } on AssertionError catch (e) {
expect(e.toString(), contains('children.length')); expect(e.toString(), contains('children.length'));
......
...@@ -491,7 +491,7 @@ void main() { ...@@ -491,7 +491,7 @@ void main() {
); );
}); });
test('AnnotatedRegionLayer.findAllAnnotations should still check children and return' test('AnnotatedRegionLayer.findAllAnnotations should still check children and return '
'children\'s opacity (false) during a failed hit', () { 'children\'s opacity (false) during a failed hit', () {
const Offset position = Offset(5, 5); const Offset position = Offset(5, 5);
...@@ -513,7 +513,7 @@ void main() { ...@@ -513,7 +513,7 @@ void main() {
); );
}); });
test('AnnotatedRegionLayer.findAllAnnotations should still check children and return' test('AnnotatedRegionLayer.findAllAnnotations should still check children and return '
'children\'s opacity (true) during a failed hit', () { 'children\'s opacity (true) during a failed hit', () {
const Offset position = Offset(5, 5); const Offset position = Offset(5, 5);
......
...@@ -92,8 +92,8 @@ void main() { ...@@ -92,8 +92,8 @@ void main() {
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n' ' │ │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
' │ │ crossAxisDirection: AxisDirection.right,\n' ' │ │ crossAxisDirection: AxisDirection.right,\n'
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0\n' ' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
' │ │ cacheOrigin: 0.0 )\n' ' │ │ cacheOrigin: 0.0)\n'
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, paintExtent: 400.0,\n' ' │ │ geometry: SliverGeometry(scrollExtent: 400.0, paintExtent: 400.0,\n'
' │ │ maxPaintExtent: 400.0, cacheExtent: 400.0)\n' ' │ │ maxPaintExtent: 400.0, cacheExtent: 400.0)\n'
' │ │\n' ' │ │\n'
...@@ -108,8 +108,8 @@ void main() { ...@@ -108,8 +108,8 @@ void main() {
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ │ 0.0, remainingPaintExtent: 200.0, crossAxisExtent: 800.0,\n' ' │ │ 0.0, remainingPaintExtent: 200.0, crossAxisExtent: 800.0,\n'
' │ │ crossAxisDirection: AxisDirection.right,\n' ' │ │ crossAxisDirection: AxisDirection.right,\n'
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 450.0\n' ' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 450.0,\n'
' │ │ cacheOrigin: 0.0 )\n' ' │ │ cacheOrigin: 0.0)\n'
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, paintExtent: 200.0,\n' ' │ │ geometry: SliverGeometry(scrollExtent: 400.0, paintExtent: 200.0,\n'
' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true, cacheExtent:\n' ' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true, cacheExtent:\n'
' │ │ 400.0)\n' ' │ │ 400.0)\n'
...@@ -125,8 +125,8 @@ void main() { ...@@ -125,8 +125,8 @@ void main() {
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n' ' │ │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n'
' │ │ crossAxisDirection: AxisDirection.right,\n' ' │ │ crossAxisDirection: AxisDirection.right,\n'
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 50.0\n' ' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 50.0,\n'
' │ │ cacheOrigin: 0.0 )\n' ' │ │ cacheOrigin: 0.0)\n'
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n' ' │ │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n'
' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true, cacheExtent:\n' ' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true, cacheExtent:\n'
' │ │ 50.0)\n' ' │ │ 50.0)\n'
...@@ -142,8 +142,8 @@ void main() { ...@@ -142,8 +142,8 @@ void main() {
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n' ' │ │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n'
' │ │ crossAxisDirection: AxisDirection.right,\n' ' │ │ crossAxisDirection: AxisDirection.right,\n'
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 0.0\n' ' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 0.0,\n'
' │ │ cacheOrigin: 0.0 )\n' ' │ │ cacheOrigin: 0.0)\n'
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n' ' │ │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n'
' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true)\n' ' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true)\n'
' │ │\n' ' │ │\n'
...@@ -158,8 +158,8 @@ void main() { ...@@ -158,8 +158,8 @@ void main() {
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n' ' │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n'
' │ crossAxisDirection: AxisDirection.right,\n' ' │ crossAxisDirection: AxisDirection.right,\n'
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 0.0\n' ' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 0.0,\n'
' │ cacheOrigin: 0.0 )\n' ' │ cacheOrigin: 0.0)\n'
' │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n' ' │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n'
' │ maxPaintExtent: 400.0, hasVisualOverflow: true)\n' ' │ maxPaintExtent: 400.0, hasVisualOverflow: true)\n'
' │\n' ' │\n'
...@@ -956,7 +956,7 @@ void main() { ...@@ -956,7 +956,7 @@ void main() {
' The "precedingScrollExtent" is NaN, expected greater than or equal to zero.\n' ' The "precedingScrollExtent" is NaN, expected greater than or equal to zero.\n'
' The constraints are not normalized.\n' ' The constraints are not normalized.\n'
'The offending constraints were:\n' 'The offending constraints were:\n'
' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: NaN, remainingPaintExtent: NaN, overlap: NaN, crossAxisExtent: NaN, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: NaN, remainingCacheExtent: NaN cacheOrigin: NaN )', ' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: NaN, remainingPaintExtent: NaN, overlap: NaN, crossAxisExtent: NaN, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: NaN, remainingCacheExtent: NaN, cacheOrigin: NaN)',
); );
threw = true; threw = true;
} }
...@@ -992,7 +992,7 @@ void main() { ...@@ -992,7 +992,7 @@ void main() {
' The "precedingScrollExtent" is negative.\n' ' The "precedingScrollExtent" is negative.\n'
' The constraints are not normalized.\n' ' The constraints are not normalized.\n'
'The offending constraints were:\n' 'The offending constraints were:\n'
' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: -1.0, remainingPaintExtent: -1.0, crossAxisExtent: 0.0, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: 0.0, remainingCacheExtent: -1.0 cacheOrigin: 1.0 )', ' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: -1.0, remainingPaintExtent: -1.0, crossAxisExtent: 0.0, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: 0.0, remainingCacheExtent: -1.0, cacheOrigin: 1.0)',
); );
threw = true; threw = true;
} }
......
...@@ -1047,7 +1047,7 @@ void main() { ...@@ -1047,7 +1047,7 @@ void main() {
'FlutterError\n' 'FlutterError\n'
' Horizontal viewport was given unbounded width.\n' ' Horizontal viewport was given unbounded width.\n'
' Viewports expand in the scrolling direction to fill their\n' ' Viewports expand in the scrolling direction to fill their\n'
' container.In this case, a horizontal viewport was given an\n' ' container. In this case, a horizontal viewport was given an\n'
' unlimited amount of horizontal space in which to expand. This\n' ' unlimited amount of horizontal space in which to expand. This\n'
' situation typically happens when a scrollable widget is nested\n' ' situation typically happens when a scrollable widget is nested\n'
' inside another scrollable widget.\n' ' inside another scrollable widget.\n'
......
...@@ -299,8 +299,8 @@ void main() { ...@@ -299,8 +299,8 @@ void main() {
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n' ' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
' │ crossAxisDirection: AxisDirection.right,\n' ' │ crossAxisDirection: AxisDirection.right,\n'
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0\n' ' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
' │ cacheOrigin: 0.0 )\n' ' │ cacheOrigin: 0.0)\n'
' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n' ' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n'
' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n' ' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n'
' │ cacheExtent: 850.0)\n' ' │ cacheExtent: 850.0)\n'
...@@ -446,8 +446,8 @@ void main() { ...@@ -446,8 +446,8 @@ void main() {
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ 2000.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n' ' │ 2000.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
' │ crossAxisDirection: AxisDirection.right,\n' ' │ crossAxisDirection: AxisDirection.right,\n'
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 1100.0\n' ' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 1100.0,\n'
' │ cacheOrigin: -250.0 )\n' ' │ cacheOrigin: -250.0)\n'
' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n' ' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n'
' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n' ' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n'
' │ cacheExtent: 1100.0)\n' ' │ cacheExtent: 1100.0)\n'
......
...@@ -335,8 +335,8 @@ void main() { ...@@ -335,8 +335,8 @@ void main() {
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n' ' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
' │ crossAxisDirection: AxisDirection.right,\n' ' │ crossAxisDirection: AxisDirection.right,\n'
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0\n' ' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
' │ cacheOrigin: 0.0 )\n' ' │ cacheOrigin: 0.0)\n'
' │ geometry: SliverGeometry(scrollExtent: 300.0, paintExtent: 300.0,\n' ' │ geometry: SliverGeometry(scrollExtent: 300.0, paintExtent: 300.0,\n'
' │ maxPaintExtent: 300.0, cacheExtent: 300.0)\n' ' │ maxPaintExtent: 300.0, cacheExtent: 300.0)\n'
' │ currently live children: 0 to 2\n' ' │ currently live children: 0 to 2\n'
......
...@@ -72,8 +72,8 @@ void main() { ...@@ -72,8 +72,8 @@ void main() {
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n' ' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
' │ crossAxisDirection: AxisDirection.right,\n' ' │ crossAxisDirection: AxisDirection.right,\n'
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0\n' ' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
' │ cacheOrigin: 0.0 )\n' ' │ cacheOrigin: 0.0)\n'
' │ geometry: SliverGeometry(scrollExtent: 12000.0, paintExtent:\n' ' │ geometry: SliverGeometry(scrollExtent: 12000.0, paintExtent:\n'
' │ 600.0, maxPaintExtent: 12000.0, hasVisualOverflow: true,\n' ' │ 600.0, maxPaintExtent: 12000.0, hasVisualOverflow: true,\n'
' │ cacheExtent: 850.0)\n' ' │ cacheExtent: 850.0)\n'
...@@ -85,8 +85,8 @@ void main() { ...@@ -85,8 +85,8 @@ void main() {
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n' ' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
' │ crossAxisDirection: AxisDirection.right,\n' ' │ crossAxisDirection: AxisDirection.right,\n'
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0\n' ' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
' │ cacheOrigin: 0.0 )\n' ' │ cacheOrigin: 0.0)\n'
' │ geometry: SliverGeometry(scrollExtent: 12000.0, paintExtent:\n' ' │ geometry: SliverGeometry(scrollExtent: 12000.0, paintExtent:\n'
' │ 600.0, maxPaintExtent: 12000.0, hasVisualOverflow: true,\n' ' │ 600.0, maxPaintExtent: 12000.0, hasVisualOverflow: true,\n'
' │ cacheExtent: 850.0)\n' ' │ cacheExtent: 850.0)\n'
......
...@@ -90,8 +90,8 @@ void main() { ...@@ -90,8 +90,8 @@ void main() {
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n' ' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n' ' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
' │ crossAxisDirection: AxisDirection.right,\n' ' │ crossAxisDirection: AxisDirection.right,\n'
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0\n' ' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
' │ cacheOrigin: 0.0 )\n' ' │ cacheOrigin: 0.0)\n'
' │ geometry: SliverGeometry(scrollExtent: 200.0, paintExtent: 200.0,\n' ' │ geometry: SliverGeometry(scrollExtent: 200.0, paintExtent: 200.0,\n'
' │ maxPaintExtent: 200.0, hasVisualOverflow: true, cacheExtent:\n' ' │ maxPaintExtent: 200.0, hasVisualOverflow: true, cacheExtent:\n'
' │ 200.0)\n' ' │ 200.0)\n'
......
...@@ -772,8 +772,7 @@ void main() { ...@@ -772,8 +772,7 @@ void main() {
// Each word takes up more than a half of a line. Together they // Each word takes up more than a half of a line. Together they
// wrap onto two lines, but leave a lot of extra space. // wrap onto two lines, but leave a lot of extra space.
child: Text( child: Text(
'twowordsthateachtakeupmorethanhalfof alineoftextsothattheywr' 'twowordsthateachtakeupmorethanhalfof alineoftextsothattheywrapwithlotsofextraspace',
'apwithlotsofextraspace',
textDirection: TextDirection.ltr, textDirection: TextDirection.ltr,
textWidthBasis: textWidthBasis, textWidthBasis: textWidthBasis,
), ),
......
...@@ -220,7 +220,7 @@ class VMServiceFlutterDriver extends FlutterDriver { ...@@ -220,7 +220,7 @@ class VMServiceFlutterDriver extends FlutterDriver {
rethrow; rethrow;
} }
_log( _log(
'Check Health failed, try to wait for the service extensions to be' 'Check Health failed, try to wait for the service extensions to be '
'registered.' 'registered.'
); );
await enableIsolateStreams(); await enableIsolateStreams();
......
...@@ -195,16 +195,17 @@ class TestAsyncUtils { ...@@ -195,16 +195,17 @@ class TestAsyncUtils {
final _StackEntry originalGuarder = _findResponsibleMethod(scope.creationStack, 'guard', information); final _StackEntry originalGuarder = _findResponsibleMethod(scope.creationStack, 'guard', information);
final _StackEntry collidingGuarder = _findResponsibleMethod(StackTrace.current, 'guardSync', information); final _StackEntry collidingGuarder = _findResponsibleMethod(StackTrace.current, 'guardSync', information);
if (originalGuarder != null && collidingGuarder != null) { if (originalGuarder != null && collidingGuarder != null) {
final String originalKind = originalGuarder.className == null ? 'function' : 'method';
String originalName; String originalName;
if (originalGuarder.className == null) { if (originalGuarder.className == null) {
originalName = '(${originalGuarder.methodName}) '; originalName = '$originalKind (${originalGuarder.methodName})';
information.add(ErrorDescription( information.add(ErrorDescription(
'The guarded "${originalGuarder.methodName}" function ' 'The guarded "${originalGuarder.methodName}" function '
'was called from ${originalGuarder.callerFile} ' 'was called from ${originalGuarder.callerFile} '
'on line ${originalGuarder.callerLine}.' 'on line ${originalGuarder.callerLine}.'
)); ));
} else { } else {
originalName = '(${originalGuarder.className}.${originalGuarder.methodName}) '; originalName = '$originalKind (${originalGuarder.className}.${originalGuarder.methodName})';
information.add(ErrorDescription( information.add(ErrorDescription(
'The guarded method "${originalGuarder.methodName}" ' 'The guarded method "${originalGuarder.methodName}" '
'from class ${originalGuarder.className} ' 'from class ${originalGuarder.className} '
...@@ -215,25 +216,26 @@ class TestAsyncUtils { ...@@ -215,25 +216,26 @@ class TestAsyncUtils {
final String again = (originalGuarder.callerFile == collidingGuarder.callerFile) && final String again = (originalGuarder.callerFile == collidingGuarder.callerFile) &&
(originalGuarder.callerLine == collidingGuarder.callerLine) ? (originalGuarder.callerLine == collidingGuarder.callerLine) ?
'again ' : ''; 'again ' : '';
final String collidingKind = collidingGuarder.className == null ? 'function' : 'method';
String collidingName; String collidingName;
if ((originalGuarder.className == collidingGuarder.className) && if ((originalGuarder.className == collidingGuarder.className) &&
(originalGuarder.methodName == collidingGuarder.methodName)) { (originalGuarder.methodName == collidingGuarder.methodName)) {
originalName = ''; originalName = originalKind;
collidingName = ''; collidingName = collidingKind;
information.add(ErrorDescription( information.add(ErrorDescription(
'Then, it ' 'Then, it '
'was called ${again}from ${collidingGuarder.callerFile} ' 'was called ${again}from ${collidingGuarder.callerFile} '
'on line ${collidingGuarder.callerLine}.' 'on line ${collidingGuarder.callerLine}.'
)); ));
} else if (collidingGuarder.className == null) { } else if (collidingGuarder.className == null) {
collidingName = '(${collidingGuarder.methodName}) '; collidingName = '$collidingKind (${collidingGuarder.methodName})';
information.add(ErrorDescription( information.add(ErrorDescription(
'Then, the "${collidingGuarder.methodName}" function ' 'Then, the "${collidingGuarder.methodName}" function '
'was called ${again}from ${collidingGuarder.callerFile} ' 'was called ${again}from ${collidingGuarder.callerFile} '
'on line ${collidingGuarder.callerLine}.' 'on line ${collidingGuarder.callerLine}.'
)); ));
} else { } else {
collidingName = '(${collidingGuarder.className}.${collidingGuarder.methodName}) '; collidingName = '$collidingKind (${collidingGuarder.className}.${collidingGuarder.methodName})';
information.add(ErrorDescription( information.add(ErrorDescription(
'Then, the "${collidingGuarder.methodName}" method ' 'Then, the "${collidingGuarder.methodName}" method '
'${originalGuarder.className == collidingGuarder.className ? "(also from class ${collidingGuarder.className})" '${originalGuarder.className == collidingGuarder.className ? "(also from class ${collidingGuarder.className})"
...@@ -243,9 +245,9 @@ class TestAsyncUtils { ...@@ -243,9 +245,9 @@ class TestAsyncUtils {
)); ));
} }
information.add(ErrorDescription( information.add(ErrorDescription(
'The first ${originalGuarder.className == null ? "function" : "method"} $originalName' 'The first $originalName '
'had not yet finished executing at the time that ' 'had not yet finished executing at the time that '
'the second ${collidingGuarder.className == null ? "function" : "method"} $collidingName' 'the second $collidingName '
'was called. Since both are guarded, and the second was not a nested call inside the first, the ' 'was called. Since both are guarded, and the second was not a nested call inside the first, the '
'first must complete its execution before the second can be called. Typically, this is achieved by ' 'first must complete its execution before the second can be called. Typically, this is achieved by '
'putting an "await" statement in front of the call to the first.' 'putting an "await" statement in front of the call to the first.'
...@@ -259,9 +261,7 @@ class TestAsyncUtils { ...@@ -259,9 +261,7 @@ class TestAsyncUtils {
)); ));
} }
information.add(DiagnosticsStackTrace( information.add(DiagnosticsStackTrace(
'\nWhen the first ${originalGuarder.className == null ? "function" : "method"} ' '\nWhen the first $originalName was called, this was the stack',
'$originalName'
'was called, this was the stack',
scope.creationStack, scope.creationStack,
)); ));
} }
......
...@@ -23,7 +23,7 @@ class TestDragData { ...@@ -23,7 +23,7 @@ class TestDragData {
void main() { void main() {
testWidgets( testWidgets(
'WidgetTester.drag must break the offset into multiple parallel components if' 'WidgetTester.drag must break the offset into multiple parallel components if '
'the drag goes outside the touch slop values', 'the drag goes outside the touch slop values',
(WidgetTester tester) async { (WidgetTester tester) async {
// This test checks to make sure that the total drag will be correctly split into // This test checks to make sure that the total drag will be correctly split into
......
...@@ -642,7 +642,7 @@ ${globals.terminal.bolden('Consuming the Module')} ...@@ -642,7 +642,7 @@ ${globals.terminal.bolden('Consuming the Module')}
'''); ''');
} }
globals.printStatus('To learn more, visit https://flutter.dev/go/build-aar'''); globals.printStatus('To learn more, visit https://flutter.dev/go/build-aar');
} }
String _hex(List<int> bytes) { String _hex(List<int> bytes) {
...@@ -877,7 +877,7 @@ String _getLocalArtifactVersion(String pomPath) { ...@@ -877,7 +877,7 @@ String _getLocalArtifactVersion(String pomPath) {
); );
} on FileSystemException { } on FileSystemException {
throwToolExit( throwToolExit(
'Error reading $pomPath. Please ensure that you have read permission to this' 'Error reading $pomPath. Please ensure that you have read permission to this '
'file and try again.'); 'file and try again.');
} }
final Iterable<xml.XmlElement> project = document.findElements('project'); final Iterable<xml.XmlElement> project = document.findElements('project');
......
...@@ -236,8 +236,7 @@ final GradleHandledError licenseNotAcceptedHandler = GradleHandledError( ...@@ -236,8 +236,7 @@ final GradleHandledError licenseNotAcceptedHandler = GradleHandledError(
bool shouldBuildPluginAsAar, bool shouldBuildPluginAsAar,
}) async { }) async {
const String licenseNotAcceptedMatcher = const String licenseNotAcceptedMatcher =
r'You have not accepted the license agreements of the following SDK components:' r'You have not accepted the license agreements of the following SDK components:\s*\[(.+)\]';
r'\s*\[(.+)\]';
final RegExp licenseFailure = RegExp(licenseNotAcceptedMatcher, multiLine: true); final RegExp licenseFailure = RegExp(licenseNotAcceptedMatcher, multiLine: true);
assert(licenseFailure != null); assert(licenseFailure != null);
......
...@@ -110,7 +110,7 @@ class CodeGeneratingKernelCompiler implements KernelCompiler { ...@@ -110,7 +110,7 @@ class CodeGeneratingKernelCompiler implements KernelCompiler {
List<String> dartDefines, List<String> dartDefines,
}) async { }) async {
if (fileSystemRoots != null || fileSystemScheme != null || depFilePath != null || targetModel != null || sdkRoot != null || packagesPath != null) { if (fileSystemRoots != null || fileSystemScheme != null || depFilePath != null || targetModel != null || sdkRoot != null || packagesPath != null) {
globals.printTrace('fileSystemRoots, fileSystemScheme, depFilePath, targetModel,' globals.printTrace('fileSystemRoots, fileSystemScheme, depFilePath, targetModel, '
'sdkRoot, packagesPath are not supported when using the experimental ' 'sdkRoot, packagesPath are not supported when using the experimental '
'build* pipeline'); 'build* pipeline');
} }
......
...@@ -47,7 +47,7 @@ class BuildAarCommand extends BuildSubCommand { ...@@ -47,7 +47,7 @@ class BuildAarCommand extends BuildSubCommand {
) )
..addOption( ..addOption(
'output-dir', 'output-dir',
help: 'The absolute path to the directory where the repository is generated.' help: 'The absolute path to the directory where the repository is generated. '
'By default, this is \'<current-directory>android/build\'. ', 'By default, this is \'<current-directory>android/build\'. ',
); );
} }
......
...@@ -28,7 +28,7 @@ class BuildWebCommand extends BuildSubCommand { ...@@ -28,7 +28,7 @@ class BuildWebCommand extends BuildSubCommand {
argParser.addFlag('csp', argParser.addFlag('csp',
defaultsTo: false, defaultsTo: false,
negatable: false, negatable: false,
help: 'Disable dynamic generation of code in the generated output.' help: 'Disable dynamic generation of code in the generated output. '
'This is necessary to satisfy CSP restrictions (see http://www.w3.org/TR/CSP/).' 'This is necessary to satisfy CSP restrictions (see http://www.w3.org/TR/CSP/).'
); );
} }
......
...@@ -857,8 +857,10 @@ String _validateProjectDir(String dirPath, { String flutterRoot, bool overwrite ...@@ -857,8 +857,10 @@ String _validateProjectDir(String dirPath, { String flutterRoot, bool overwrite
// If the destination directory is actually a file, then we refuse to // If the destination directory is actually a file, then we refuse to
// overwrite, on the theory that the user probably didn't expect it to exist. // overwrite, on the theory that the user probably didn't expect it to exist.
if (globals.fs.isFileSync(dirPath)) { if (globals.fs.isFileSync(dirPath)) {
return "Invalid project name: '$dirPath' - refers to an existing file." final String message = "Invalid project name: '$dirPath' - refers to an existing file.";
'${overwrite ? ' Refusing to overwrite a file with a directory.' : ''}'; return overwrite
? '$message Refusing to overwrite a file with a directory.'
: message;
} }
if (overwrite) { if (overwrite) {
......
...@@ -52,7 +52,7 @@ class IdeConfigCommand extends FlutterCommand { ...@@ -52,7 +52,7 @@ class IdeConfigCommand extends FlutterCommand {
'missing. If --overwrite is specified, will revert existing files to ' 'missing. If --overwrite is specified, will revert existing files to '
'the template versions, reset the module list, and return configuration ' 'the template versions, reset the module list, and return configuration '
'settings to the template versions.\n\n' 'settings to the template versions.\n\n'
'This command is intended for Flutter developers to help them set up the' 'This command is intended for Flutter developers to help them set up the '
"Flutter tree for development in an IDE. It doesn't affect other projects.\n\n" "Flutter tree for development in an IDE. It doesn't affect other projects.\n\n"
'Currently, IntelliJ is the default (and only) IDE that may be configured.'; 'Currently, IntelliJ is the default (and only) IDE that may be configured.';
......
...@@ -32,7 +32,7 @@ class ScreenshotCommand extends FlutterCommand { ...@@ -32,7 +32,7 @@ class ScreenshotCommand extends FlutterCommand {
valueHelp: 'URI', valueHelp: 'URI',
help: 'The observatory URI to connect to.\n' help: 'The observatory URI to connect to.\n'
'This is required when --$_kType is "$_kSkiaType" or "$_kRasterizerType".\n' 'This is required when --$_kType is "$_kSkiaType" or "$_kRasterizerType".\n'
'To find the observatory URI, use "flutter run" and look for' 'To find the observatory URI, use "flutter run" and look for '
'"An Observatory ... is available at" in the output.', '"An Observatory ... is available at" in the output.',
); );
argParser.addOption( argParser.addOption(
......
...@@ -61,7 +61,7 @@ class UpdatePackagesCommand extends FlutterCommand { ...@@ -61,7 +61,7 @@ class UpdatePackagesCommand extends FlutterCommand {
) )
..addFlag( ..addFlag(
'consumer-only', 'consumer-only',
help: 'Only prints the dependency graph that is the transitive closure' help: 'Only prints the dependency graph that is the transitive closure '
'that a consumer of the Flutter SDK will observe (When combined ' 'that a consumer of the Flutter SDK will observe (When combined '
'with transitive-closure)', 'with transitive-closure)',
defaultsTo: false, defaultsTo: false,
......
...@@ -163,8 +163,8 @@ class UpgradeCommandRunner { ...@@ -163,8 +163,8 @@ class UpgradeCommandRunner {
} on ProcessException catch (error) { } on ProcessException catch (error) {
throwToolExit( throwToolExit(
'The tool could not verify the status of the current flutter checkout. ' 'The tool could not verify the status of the current flutter checkout. '
'This might be due to git not being installed or an internal error.' 'This might be due to git not being installed or an internal error. '
'If it is okay to ignore potential local changes, then re-run this' 'If it is okay to ignore potential local changes, then re-run this '
'command with --force.' 'command with --force.'
'\nError: $error.' '\nError: $error.'
); );
...@@ -212,7 +212,7 @@ class UpgradeCommandRunner { ...@@ -212,7 +212,7 @@ class UpgradeCommandRunner {
} on ProcessException catch (error) { } on ProcessException catch (error) {
throwToolExit( throwToolExit(
'Unable to upgrade Flutter: The tool could not update to the version $tag. ' 'Unable to upgrade Flutter: The tool could not update to the version $tag. '
'This may be due to git not being installed or an internal error.' 'This may be due to git not being installed or an internal error. '
'Please ensure that git is installed on your computer and retry again.' 'Please ensure that git is installed on your computer and retry again.'
'\nError: $error.' '\nError: $error.'
); );
......
...@@ -74,8 +74,8 @@ class VersionCommand extends FlutterCommand { ...@@ -74,8 +74,8 @@ class VersionCommand extends FlutterCommand {
if (targetVersion < minSupportedVersion) { if (targetVersion < minSupportedVersion) {
if (!boolArg('force')) { if (!boolArg('force')) {
globals.printError( globals.printError(
'Version command is not supported in $targetVersion and it is supported since version $minSupportedVersion' 'Version command is not supported in $targetVersion and it is supported since version $minSupportedVersion '
'which means if you switch to version $minSupportedVersion then you can not use version command.' 'which means if you switch to version $minSupportedVersion then you can not use version command. '
'If you really want to switch to version $targetVersion, please use `--force` flag: `flutter version --force $targetVersion`.' 'If you really want to switch to version $targetVersion, please use `--force` flag: `flutter version --force $targetVersion`.'
); );
return const FlutterCommandResult(ExitStatus.success); return const FlutterCommandResult(ExitStatus.success);
......
...@@ -40,7 +40,7 @@ class Utf8Decoder extends cnv.Utf8Decoder { ...@@ -40,7 +40,7 @@ class Utf8Decoder extends cnv.Utf8Decoder {
if (reportErrors && result.contains('\u{FFFD}')) { if (reportErrors && result.contains('\u{FFFD}')) {
throwToolExit( throwToolExit(
'Bad UTF-8 encoding found while decoding string: $result. ' 'Bad UTF-8 encoding found while decoding string: $result. '
'The Flutter team would greatly appreciate if you could file a bug or leave a' 'The Flutter team would greatly appreciate if you could file a bug or leave a '
'comment on the issue https://github.com/flutter/flutter/issues/15646.\n' 'comment on the issue https://github.com/flutter/flutter/issues/15646.\n'
'The source bytes were:\n$codeUnits\n\n'); 'The source bytes were:\n$codeUnits\n\n');
} }
......
...@@ -38,7 +38,7 @@ Future<void> validateBitcode(BuildMode buildMode, TargetPlatform targetPlatform) ...@@ -38,7 +38,7 @@ Future<void> validateBitcode(BuildMode buildMode, TargetPlatform targetPlatform)
throwToolExit( throwToolExit(
'The Flutter.framework at $flutterFrameworkPath was built ' 'The Flutter.framework at $flutterFrameworkPath was built '
'with "${engineClangVersion ?? 'unknown'}", but the current version ' 'with "${engineClangVersion ?? 'unknown'}", but the current version '
'of clang is "$clangVersion". This will result in failures when trying to' 'of clang is "$clangVersion". This will result in failures when trying to '
'archive an IPA. To resolve this issue, update your version of Xcode to ' 'archive an IPA. To resolve this issue, update your version of Xcode to '
'at least $engineClangSemVer.', 'at least $engineClangSemVer.',
); );
......
...@@ -195,7 +195,7 @@ class MDnsObservatoryDiscovery { ...@@ -195,7 +195,7 @@ class MDnsObservatoryDiscovery {
'The mDNS query for an attached iOS device failed. It may ' 'The mDNS query for an attached iOS device failed. It may '
'be necessary to disable the "Personal Hotspot" on the device, and ' 'be necessary to disable the "Personal Hotspot" on the device, and '
'to ensure that the "Disable unless needed" setting is unchecked ' 'to ensure that the "Disable unless needed" setting is unchecked '
'under System Preferences > Network > iPhone USB.' 'under System Preferences > Network > iPhone USB. '
'See https://github.com/flutter/flutter/issues/46698 for details.' 'See https://github.com/flutter/flutter/issues/46698 for details.'
); );
break; break;
......
...@@ -187,8 +187,8 @@ class Plugin { ...@@ -187,8 +187,8 @@ class Plugin {
if (usesOldPluginFormat && usesNewPluginFormat) { if (usesOldPluginFormat && usesNewPluginFormat) {
const String errorMessage = const String errorMessage =
'The flutter.plugin.platforms key cannot be used in combination with the old' 'The flutter.plugin.platforms key cannot be used in combination with the old '
'flutter.plugin.{androidPackage,iosPrefix,pluginClass} keys.' 'flutter.plugin.{androidPackage,iosPrefix,pluginClass} keys. '
'See: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#plugin'; 'See: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#plugin';
return <String>[errorMessage]; return <String>[errorMessage];
} }
......
...@@ -229,7 +229,7 @@ abstract class FlutterCommand extends Command<void> { ...@@ -229,7 +229,7 @@ abstract class FlutterCommand extends Command<void> {
/// Adds options for connecting to the Dart VM observatory port. /// Adds options for connecting to the Dart VM observatory port.
void usesPortOptions() { void usesPortOptions() {
argParser.addOption(observatoryPortOption, argParser.addOption(observatoryPortOption,
help: '(deprecated use host-vmservice-port instead)' help: '(deprecated use host-vmservice-port instead) '
'Listen to the given port for an observatory debugger connection.\n' 'Listen to the given port for an observatory debugger connection.\n'
'Specifying port 0 (the default) will find a random free port.', 'Specifying port 0 (the default) will find a random free port.',
); );
...@@ -368,11 +368,11 @@ abstract class FlutterCommand extends Command<void> { ...@@ -368,11 +368,11 @@ abstract class FlutterCommand extends Command<void> {
argParser.addFlag('shrink', argParser.addFlag('shrink',
negatable: true, negatable: true,
defaultsTo: true, defaultsTo: true,
help: 'Whether to enable code shrinking on release mode.' help: 'Whether to enable code shrinking on release mode. '
'When enabling shrinking, you also benefit from obfuscation, ' 'When enabling shrinking, you also benefit from obfuscation, '
'which shortens the names of your app’s classes and members, ' 'which shortens the names of your app’s classes and members, '
'and optimization, which applies more aggressive strategies to ' 'and optimization, which applies more aggressive strategies to '
'further reduce the size of your app.' 'further reduce the size of your app. '
'To learn more, see: https://developer.android.com/studio/build/shrink-code', 'To learn more, see: https://developer.android.com/studio/build/shrink-code',
); );
} }
......
...@@ -150,7 +150,7 @@ void main() { ...@@ -150,7 +150,7 @@ void main() {
validateBitcode(BuildMode.release, TargetPlatform.ios), validateBitcode(BuildMode.release, TargetPlatform.ios),
equals('The Flutter.framework at ios_profile/Flutter.framework was built with "Apple LLVM version 10.0.1 ' equals('The Flutter.framework at ios_profile/Flutter.framework was built with "Apple LLVM version 10.0.1 '
'(clang-1234.1.12.1)", but the current version of clang is "Apple LLVM version 10.0.0 (clang-4567.1.1.1)". ' '(clang-1234.1.12.1)", but the current version of clang is "Apple LLVM version 10.0.0 (clang-4567.1.1.1)". '
'This will result in failures when trying toarchive an IPA. To resolve this issue, update your version ' 'This will result in failures when trying to archive an IPA. To resolve this issue, update your version '
'of Xcode to at least 10.0.1.'), 'of Xcode to at least 10.0.1.'),
); );
}, overrides: <Type, Generator>{ }, overrides: <Type, Generator>{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment