Unverified Commit fb3f1237 authored by Taha Tesser's avatar Taha Tesser Committed by GitHub

[CupertinoTextField] Add missing focus listener (#93875)

parent bde9f118
......@@ -880,6 +880,7 @@ class _CupertinoTextFieldState extends State<CupertinoTextField> with Restoratio
_createLocalController();
}
_effectiveFocusNode.canRequestFocus = widget.enabled ?? true;
_effectiveFocusNode.addListener(_handleFocusChanged);
}
@override
......
......@@ -284,6 +284,36 @@ void main() {
skip: kIsWeb, // [intended] the web handles this on its own.
);
testWidgets('can get text selection color initially on desktop', (WidgetTester tester) async {
final FocusNode focusNode = FocusNode();
final TextEditingController controller = TextEditingController(
text: 'blah1 blah2',
);
await tester.pumpWidget(
CupertinoApp(
home: Center(
child: RepaintBoundary(
child: CupertinoTextField(
key: const ValueKey<int>(1),
controller: controller,
focusNode: focusNode,
),
),
),
),
);
controller.selection = const TextSelection(baseOffset: 0, extentOffset: 11);
focusNode.requestFocus();
await tester.pump();
expect(focusNode.hasFocus, true);
await expectLater(
find.byKey(const ValueKey<int>(1)),
matchesGoldenFile('text_field_golden.text_selection_color.0.png'),
);
});
testWidgets('Activates the text field when receives semantics focus on Mac', (WidgetTester tester) async {
final SemanticsTester semantics = SemanticsTester(tester);
final SemanticsOwner semanticsOwner = tester.binding.pipelineOwner.semanticsOwner!;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment