mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Added spellCheckConfiguration to the constructor of CupertinoTextFormFieldRow (#159385)
Before: No way to set the _spellCheckConfiguration_ property of a CupertinoTextFormFieldRow, meaning no spellcheck/highlighting of incorrect words is present. This can be done on the standard CupertinoTextField widget, but not the CupertinoTextFormFieldRow widget.  After: Adding this property allows the _spellCheckConfiguration_ to be configured and spellcheck/highlighting of incorrect words working as expected.   Fixes #159382 by adding the _ spellCheckConfiguration_ field to the constructor of CupertinoTextFormFieldRow and passing the value through to CupertinoTextField.borderless internally. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This commit is contained in:
parent
25ab2e0bda
commit
918b2b9ddb
@ -157,6 +157,7 @@ class CupertinoTextFormFieldRow extends FormField<String> {
|
||||
color: CupertinoColors.placeholderText,
|
||||
),
|
||||
EditableTextContextMenuBuilder? contextMenuBuilder = _defaultContextMenuBuilder,
|
||||
SpellCheckConfiguration? spellCheckConfiguration,
|
||||
super.restorationId,
|
||||
}) : assert(initialValue == null || controller == null),
|
||||
assert(obscuringCharacter.length == 1),
|
||||
@ -234,6 +235,7 @@ class CupertinoTextFormFieldRow extends FormField<String> {
|
||||
placeholder: placeholder,
|
||||
placeholderStyle: placeholderStyle,
|
||||
contextMenuBuilder: contextMenuBuilder,
|
||||
spellCheckConfiguration: spellCheckConfiguration
|
||||
),
|
||||
),
|
||||
);
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
import 'package:flutter/src/services/spell_check.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
@ -27,6 +28,29 @@ void main() {
|
||||
expect(textFieldWidget.textAlign, alignment);
|
||||
});
|
||||
|
||||
testWidgets('Passes spellCheckConfiguration to underlying CupertinoTextField', (WidgetTester tester) async {
|
||||
final SpellCheckConfiguration spellCheckConfig = SpellCheckConfiguration(
|
||||
spellCheckService: DefaultSpellCheckService(),
|
||||
misspelledSelectionColor: const Color.fromARGB(255, 255, 255, 0)
|
||||
);
|
||||
|
||||
await tester.pumpWidget(
|
||||
CupertinoApp(
|
||||
home: Center(
|
||||
child: CupertinoTextFormFieldRow(
|
||||
spellCheckConfiguration: spellCheckConfig,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
final Finder textFieldFinder = find.byType(CupertinoTextField);
|
||||
expect(textFieldFinder, findsOneWidget);
|
||||
|
||||
final CupertinoTextField textFieldWidget = tester.widget(textFieldFinder);
|
||||
expect(textFieldWidget.spellCheckConfiguration, spellCheckConfig);
|
||||
});
|
||||
|
||||
testWidgets('Passes scrollPhysics to underlying TextField', (WidgetTester tester) async {
|
||||
const ScrollPhysics scrollPhysics = ScrollPhysics();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user