Skip to content

Commit 4d5d2dc

Browse files
test: add focus tests
1 parent d813a47 commit 4d5d2dc

12 files changed

+48
-0
lines changed

test/src/fields/form_builder_checkbox_group_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,17 @@ void main() {
172172
final widgetFinder = find.byWidget(testWidget);
173173

174174
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
175+
final focusNode =
176+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
175177

176178
expect(formSave(), isTrue);
177179
expect(formValue(widgetName), isNull);
178180
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
181+
expect(focusNode?.hasFocus, false);
179182
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
180183
await tester.pumpAndSettle();
181184
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
185+
expect(focusNode?.hasFocus, true);
182186
});
183187
});
184188
}

test/src/fields/form_builder_checkbox_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,17 @@ void main() {
3939
final widgetFinder = find.byWidget(testWidget);
4040

4141
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
42+
final focusNode =
43+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
4244

4345
expect(formSave(), isTrue);
4446
expect(formValue(widgetName), isFalse);
4547
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
48+
expect(focusNode?.hasFocus, false);
4649
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
4750
await tester.pumpAndSettle();
4851
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
52+
expect(focusNode?.hasFocus, true);
4953
});
5054
});
5155
}

test/src/fields/form_builder_choice_chips_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,17 @@ void main() {
9898
final widgetFinder = find.byWidget(testWidget);
9999

100100
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
101+
final focusNode =
102+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
101103

102104
expect(formSave(), isTrue);
103105
expect(formValue<int?>(widgetName), isNull);
104106
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
107+
expect(focusNode?.hasFocus, false);
105108
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
106109
await tester.pumpAndSettle();
107110
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
111+
expect(focusNode?.hasFocus, true);
108112
});
109113
});
110114
}

test/src/fields/form_builder_date_range_picker_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,17 @@ void main() {
116116
final widgetFinder = find.byWidget(testWidget);
117117

118118
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
119+
final focusNode =
120+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
119121

120122
expect(formSave(), isTrue);
121123
expect(formValue<DateTimeRange?>(widgetName), isNull);
122124
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
125+
expect(focusNode?.hasFocus, false);
123126
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
124127
await tester.pumpAndSettle();
125128
// TODO: Fix this behavior to solve #1301 and partially #1450
126129
// expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
130+
// expect(focusNode?.hasFocus, true);
127131
});
128132
}

test/src/fields/form_builder_date_time_picker_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,19 @@ void main() {
165165
final widgetFinder = find.byWidget(testWidget);
166166

167167
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
168+
final focusNode =
169+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
168170

169171
expect(formSave(), isTrue);
170172
expect(formValue(widgetName), equals(null));
171173
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
174+
expect(focusNode?.hasFocus, false);
172175
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
173176
await tester.pumpAndSettle();
174177
// TODO: Fix this behavior to solve #1301 and partially #1450
175178
// expect(find.text(confirmText), findsOneWidget);
176179
// expect(find.text(cancelText), findsOneWidget);
177180
// expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
181+
// expect(focusNode?.hasFocus, true);
178182
});
179183
}

test/src/fields/form_builder_dropdown_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,13 +291,17 @@ void main() {
291291
final widgetFinder = find.byWidget(testWidget);
292292

293293
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
294+
final focusNode =
295+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
294296

295297
expect(formSave(), isTrue);
296298
expect(formValue(widgetName), isNull);
297299
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
300+
expect(focusNode?.hasFocus, false);
298301
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
299302
await tester.pumpAndSettle();
300303
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
304+
expect(focusNode?.hasFocus, true);
301305
});
302306
}
303307

test/src/fields/form_builder_filter_chips_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,17 @@ void main() {
106106
final widgetFinder = find.byWidget(testWidget);
107107

108108
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
109+
final focusNode =
110+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
109111

110112
expect(formSave(), isTrue);
111113
expect(formValue<List<int>?>(widgetName), equals(null));
112114
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
115+
expect(focusNode?.hasFocus, false);
113116
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
114117
await tester.pumpAndSettle();
115118
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
119+
expect(focusNode?.hasFocus, true);
116120
});
117121
});
118122
}

test/src/fields/form_builder_radio_group_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,17 @@ void main() {
134134
final widgetFinder = find.byWidget(testWidget);
135135

136136
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
137+
final focusNode =
138+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
137139

138140
expect(formSave(), isTrue);
139141
expect(formValue(widgetName), isNull);
140142
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
143+
expect(focusNode?.hasFocus, false);
141144
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
142145
await tester.pumpAndSettle();
143146
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
147+
expect(focusNode?.hasFocus, true);
144148
});
145149
});
146150
}

test/src/fields/form_builder_range_slider_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,18 @@ void main() {
9494
final widgetFinder = find.byWidget(testWidget);
9595

9696
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
97+
final focusNode =
98+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
9799

98100
expect(formSave(), isTrue);
99101
expect(formValue<RangeValues?>(widgetName),
100102
equals(const RangeValues(10.0, 10.0)));
101103
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
104+
expect(focusNode?.hasFocus, false);
102105
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
103106
await tester.pumpAndSettle();
104107
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
108+
expect(focusNode?.hasFocus, true);
105109
});
106110
});
107111
}

test/src/fields/form_builder_slider_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,17 @@ void main() {
4040
final widgetFinder = find.byWidget(testWidget);
4141

4242
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
43+
final focusNode =
44+
formKey.currentState?.fields[widgetName]?.effectiveFocusNode;
4345

4446
expect(formSave(), isTrue);
4547
expect(formValue(widgetName), equals(2.0));
4648
expect(Focus.of(tester.element(widgetFinder)).hasFocus, false);
49+
expect(focusNode?.hasFocus, false);
4750
await tester.sendKeyEvent(LogicalKeyboardKey.tab);
4851
await tester.pumpAndSettle();
4952
expect(Focus.of(tester.element(widgetFinder)).hasFocus, true);
53+
expect(focusNode?.hasFocus, true);
5054
});
5155
});
5256
}

0 commit comments

Comments
 (0)