diff --git a/packages/flutter/lib/src/cupertino/text_field.dart b/packages/flutter/lib/src/cupertino/text_field.dart index a4d0db0776..d16311568f 100644 --- a/packages/flutter/lib/src/cupertino/text_field.dart +++ b/packages/flutter/lib/src/cupertino/text_field.dart @@ -1133,7 +1133,7 @@ class _CupertinoTextFieldState extends State with Restoratio child: Text( widget.placeholder!, maxLines: widget.maxLines, - overflow: TextOverflow.ellipsis, + overflow: placeholderStyle.overflow ?? TextOverflow.ellipsis, style: placeholderStyle, textAlign: widget.textAlign, ), diff --git a/packages/flutter/test/cupertino/text_field_test.dart b/packages/flutter/test/cupertino/text_field_test.dart index 843d3e5a7a..aa612ff52d 100644 --- a/packages/flutter/test/cupertino/text_field_test.dart +++ b/packages/flutter/test/cupertino/text_field_test.dart @@ -7485,4 +7485,29 @@ void main() { expect(controller.text, cutValue); } }); + + testWidgets('placeholder style overflow works', (WidgetTester tester) async { + final String placeholder = 'hint text' * 20; + const TextStyle placeholderStyle = TextStyle( + fontFamily: 'Ahem', + fontSize: 14.0, + overflow: TextOverflow.fade, + ); + + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: CupertinoTextField( + placeholder: placeholder, + placeholderStyle: placeholderStyle, + ), + ), + ), + ); + await tester.pumpAndSettle(); + final Finder placeholderFinder = find.text(placeholder); + final Text placeholderWidget = tester.widget(placeholderFinder); + expect(placeholderWidget.overflow, placeholderStyle.overflow); + expect(placeholderWidget.style!.overflow, placeholderStyle.overflow); + }); }