diff --git a/packages/flutter/lib/src/cupertino/date_picker.dart b/packages/flutter/lib/src/cupertino/date_picker.dart index bb799a0747..a03adc503e 100644 --- a/packages/flutter/lib/src/cupertino/date_picker.dart +++ b/packages/flutter/lib/src/cupertino/date_picker.dart @@ -1458,6 +1458,7 @@ class _CupertinoDatePickerDateState extends State { useMagnifier: _kUseMagnifier, magnification: _kMagnification, backgroundColor: widget.backgroundColor, + squeeze: _kSqueeze, onSelectedItemChanged: (int index) { selectedYear = index; if (_isCurrentDateValid) { diff --git a/packages/flutter/test/cupertino/date_picker_test.dart b/packages/flutter/test/cupertino/date_picker_test.dart index 1e5b3da4c2..0d21093af8 100644 --- a/packages/flutter/test/cupertino/date_picker_test.dart +++ b/packages/flutter/test/cupertino/date_picker_test.dart @@ -2487,6 +2487,31 @@ void main() { expect(testWidth, equals(largestWidth)); expect(widths.indexOf(largestWidth), equals(1)); }, skip: isBrowser); // https://github.com/flutter/flutter/issues/39998 + + // Regression test for https://github.com/flutter/flutter/issues/161773 + testWidgets('CupertinoDatePicker date value baseline alignment', (WidgetTester tester) async { + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: SizedBox( + width: 400, + height: 400, + child: CupertinoDatePicker( + mode: CupertinoDatePickerMode.date, + onDateTimeChanged: (_) {}, + initialDateTime: DateTime(2025, 2, 14), + ), + ), + ), + ), + ); + + Offset lastOffset = tester.getTopLeft(find.text('November')); + expect(tester.getTopLeft(find.text('11')).dy, lastOffset.dy); + + lastOffset = tester.getTopLeft(find.text('11')); + expect(tester.getTopLeft(find.text('2022')).dy, lastOffset.dy); + }); } Widget _buildPicker({