diff --git a/packages/flutter/lib/src/material/date_picker.dart b/packages/flutter/lib/src/material/date_picker.dart index 890ae8d747..c2b907c4ef 100644 --- a/packages/flutter/lib/src/material/date_picker.dart +++ b/packages/flutter/lib/src/material/date_picker.dart @@ -1685,7 +1685,12 @@ class _CalendarRangePickerDialog extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(helpText, style: headlineHelpStyle), + Text( + helpText, + style: headlineHelpStyle, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), const SizedBox(height: 8), Row( children: [ diff --git a/packages/flutter/test/material/date_range_picker_test.dart b/packages/flutter/test/material/date_range_picker_test.dart index 0a62808319..6206f4ce50 100644 --- a/packages/flutter/test/material/date_range_picker_test.dart +++ b/packages/flutter/test/material/date_range_picker_test.dart @@ -268,6 +268,16 @@ void main() { }); }); + testWidgets('Long helpText does not cutoff the save button', (WidgetTester tester) async { + helpText = 'long helpText' * 100; + saveText = 'make it so'; + await preparePicker(tester, (Future range) async { + expect(find.text(helpText!), findsOneWidget); + expect(find.text(saveText!), findsOneWidget); + expect(tester.takeException(), null); + }); + }); + testWidgets('Material3 has sentence case labels', (WidgetTester tester) async { await preparePicker(tester, (Future range) async { expect(find.text('Save'), findsOneWidget);