added autofocus and test (#87591)
diff --git a/packages/flutter/lib/src/cupertino/search_field.dart b/packages/flutter/lib/src/cupertino/search_field.dart
index d39bfa9..15b2d2e 100644
--- a/packages/flutter/lib/src/cupertino/search_field.dart
+++ b/packages/flutter/lib/src/cupertino/search_field.dart
@@ -151,6 +151,7 @@
this.onSuffixTap,
this.restorationId,
this.focusNode,
+ this.autofocus = false,
this.onTap,
this.autocorrect = true,
this.enabled,
@@ -287,6 +288,9 @@
/// {@macro flutter.widgets.Focus.focusNode}
final FocusNode? focusNode;
+ /// {@macro flutter.widgets.editableText.autofocus}
+ final bool autofocus;
+
/// {@macro flutter.material.textfield.onTap}
final VoidCallback? onTap;
@@ -429,6 +433,7 @@
onChanged: widget.onChanged,
onSubmitted: widget.onSubmitted,
focusNode: widget.focusNode,
+ autofocus: widget.autofocus,
autocorrect: widget.autocorrect,
textInputAction: TextInputAction.search,
);
diff --git a/packages/flutter/test/cupertino/search_field_test.dart b/packages/flutter/test/cupertino/search_field_test.dart
index 84bffd4..6e5884d 100644
--- a/packages/flutter/test/cupertino/search_field_test.dart
+++ b/packages/flutter/test/cupertino/search_field_test.dart
@@ -562,4 +562,20 @@
final CupertinoTextField textField = tester.widget(find.byType(CupertinoTextField));
expect(textField.textInputAction, TextInputAction.search);
});
+
+ testWidgets('autofocus:true gives focus to the widget', (WidgetTester tester) async {
+ final FocusNode focusNode = FocusNode();
+ await tester.pumpWidget(
+ CupertinoApp(
+ home: Center(
+ child: CupertinoSearchTextField(
+ focusNode: focusNode,
+ autofocus: true,
+ ),
+ ),
+ ),
+ );
+
+ expect(focusNode.hasFocus, isTrue);
+ });
}