Fix dateAndTime and time modes of CupertinoDatePicker. (#73276)
diff --git a/packages/flutter/lib/src/cupertino/date_picker.dart b/packages/flutter/lib/src/cupertino/date_picker.dart index c89b45d..314e2a4 100644 --- a/packages/flutter/lib/src/cupertino/date_picker.dart +++ b/packages/flutter/lib/src/cupertino/date_picker.dart
@@ -719,6 +719,7 @@ Text(dateText, style: _themeTextStyle(context)), ); }, + selectionOverlay: selectionOverlay, ), ); } @@ -802,6 +803,7 @@ ); }), looping: true, + selectionOverlay: selectionOverlay, ) ); }
diff --git a/packages/flutter/test/cupertino/date_picker_test.dart b/packages/flutter/test/cupertino/date_picker_test.dart index a00a0a2..5eafa3c 100644 --- a/packages/flutter/test/cupertino/date_picker_test.dart +++ b/packages/flutter/test/cupertino/date_picker_test.dart
@@ -1147,24 +1147,38 @@ }); testWidgets('DatePicker golden tests', (WidgetTester tester) async { - await tester.pumpWidget( - CupertinoApp( + Widget _buildApp(CupertinoDatePickerMode mode) { + return CupertinoApp( home: Center( child: SizedBox( width: 500, height: 400, child: RepaintBoundary( child: CupertinoDatePicker( - mode: CupertinoDatePickerMode.dateAndTime, - initialDateTime: DateTime(2019, 1, 1, 4), + key: ValueKey<CupertinoDatePickerMode>(mode), + mode: mode, + initialDateTime: DateTime(2019, 1, 1, 4, 12, 30), onDateTimeChanged: (_) {}, ), ), ), ), - ), + ); + } + + await tester.pumpWidget(_buildApp(CupertinoDatePickerMode.time)); + await expectLater( + find.byType(CupertinoDatePicker), + matchesGoldenFile('date_picker_test.time.initial.png'), ); + await tester.pumpWidget(_buildApp(CupertinoDatePickerMode.date)); + await expectLater( + find.byType(CupertinoDatePicker), + matchesGoldenFile('date_picker_test.date.initial.png'), + ); + + await tester.pumpWidget(_buildApp(CupertinoDatePickerMode.dateAndTime)); await expectLater( find.byType(CupertinoDatePicker), matchesGoldenFile('date_picker_test.datetime.initial.png'),