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'),