Unverified Commit dd3dc5ef authored by Justin McCandless's avatar Justin McCandless Committed by GitHub

TextFormField.spellCheckConfiguration (#123295)

TextFormField.spellCheckConfiguration
parent 142dd602
...@@ -154,6 +154,7 @@ class TextFormField extends FormField<String> { ...@@ -154,6 +154,7 @@ class TextFormField extends FormField<String> {
bool enableIMEPersonalizedLearning = true, bool enableIMEPersonalizedLearning = true,
MouseCursor? mouseCursor, MouseCursor? mouseCursor,
EditableTextContextMenuBuilder? contextMenuBuilder = _defaultContextMenuBuilder, EditableTextContextMenuBuilder? contextMenuBuilder = _defaultContextMenuBuilder,
SpellCheckConfiguration? spellCheckConfiguration,
TextMagnifierConfiguration? magnifierConfiguration, TextMagnifierConfiguration? magnifierConfiguration,
}) : assert(initialValue == null || controller == null), }) : assert(initialValue == null || controller == null),
assert(obscuringCharacter.length == 1), assert(obscuringCharacter.length == 1),
...@@ -235,6 +236,7 @@ class TextFormField extends FormField<String> { ...@@ -235,6 +236,7 @@ class TextFormField extends FormField<String> {
enableIMEPersonalizedLearning: enableIMEPersonalizedLearning, enableIMEPersonalizedLearning: enableIMEPersonalizedLearning,
mouseCursor: mouseCursor, mouseCursor: mouseCursor,
contextMenuBuilder: contextMenuBuilder, contextMenuBuilder: contextMenuBuilder,
spellCheckConfiguration: spellCheckConfiguration,
magnifierConfiguration: magnifierConfiguration, magnifierConfiguration: magnifierConfiguration,
), ),
); );
......
...@@ -1145,6 +1145,36 @@ void main() { ...@@ -1145,6 +1145,36 @@ void main() {
skip: kIsWeb, // [intended] we don't supply the cut/copy/paste buttons on the web. skip: kIsWeb, // [intended] we don't supply the cut/copy/paste buttons on the web.
); );
testWidgets('spellCheckConfiguration passes through to EditableText', (WidgetTester tester) async {
final SpellCheckConfiguration mySpellCheckConfiguration = SpellCheckConfiguration(
spellCheckService: DefaultSpellCheckService(),
misspelledTextStyle: TextField.materialMisspelledTextStyle,
);
await tester.pumpWidget(MaterialApp(
home: Scaffold(
body: TextFormField(
spellCheckConfiguration: mySpellCheckConfiguration,
),
),
));
expect(find.byType(EditableText), findsOneWidget);
final EditableText editableText = tester.widget(find.byType(EditableText));
// Can't do equality comparison on spellCheckConfiguration itself because it
// will have been copied.
expect(
editableText.spellCheckConfiguration?.spellCheckService,
equals(mySpellCheckConfiguration.spellCheckService),
);
expect(
editableText.spellCheckConfiguration?.misspelledTextStyle,
equals(mySpellCheckConfiguration.misspelledTextStyle),
);
});
testWidgets('magnifierConfiguration passes through to EditableText', (WidgetTester tester) async { testWidgets('magnifierConfiguration passes through to EditableText', (WidgetTester tester) async {
final TextMagnifierConfiguration myTextMagnifierConfiguration = TextMagnifierConfiguration( final TextMagnifierConfiguration myTextMagnifierConfiguration = TextMagnifierConfiguration(
magnifierBuilder: (BuildContext context, MagnifierController controller, ValueNotifier<MagnifierInfo> notifier) { magnifierBuilder: (BuildContext context, MagnifierController controller, ValueNotifier<MagnifierInfo> notifier) {
...@@ -1154,7 +1184,7 @@ void main() { ...@@ -1154,7 +1184,7 @@ void main() {
await tester.pumpWidget(MaterialApp( await tester.pumpWidget(MaterialApp(
home: Scaffold( home: Scaffold(
body: TextField( body: TextFormField(
magnifierConfiguration: myTextMagnifierConfiguration, magnifierConfiguration: myTextMagnifierConfiguration,
), ),
), ),
......
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