Skip to content

Commit 06bc03b

Browse files
test: initial value testing
1 parent 3afd6f2 commit 06bc03b

1 file changed

Lines changed: 5 additions & 13 deletions

File tree

test/src/form_builder_field_test.dart

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -503,22 +503,20 @@ void main() {
503503
});
504504
group('reset -', () {
505505
testWidgets(
506-
'Should avoid reset recursion when reset is called after dirty state',
506+
'Should avoid reset recursion when value returns to initial in onChanged',
507507
(tester) async {
508508
const textFieldName = 'text';
509509
final textFieldKey = GlobalKey<FormBuilderFieldState>();
510510
var onChangedCalls = 0;
511-
var onChangedCallsBeforeReset = 0;
512-
bool? isDirtyInResetOnChanged;
513511
final testWidget = FormBuilderTextField(
514512
name: textFieldName,
515513
key: textFieldKey,
516514
initialValue: 'hi',
517515
onChanged: (value) {
518516
onChangedCalls++;
519517
final state = textFieldKey.currentState;
520-
if (value == state?.initialValue) {
521-
isDirtyInResetOnChanged = state?.isDirty;
518+
if (value == state?.initialValue && state?.isDirty == true) {
519+
state?.reset();
522520
}
523521
},
524522
);
@@ -527,18 +525,12 @@ void main() {
527525
final widgetFinder = find.byWidget(testWidget);
528526
await tester.enterText(widgetFinder, 'test');
529527
await tester.pumpAndSettle();
530-
531-
expect(textFieldKey.currentState?.isDirty, true);
532-
onChangedCallsBeforeReset = onChangedCalls;
533-
534-
textFieldKey.currentState?.reset();
528+
await tester.enterText(widgetFinder, 'hi');
535529
await tester.pumpAndSettle();
536530

537531
expect(tester.takeException(), isNull);
538-
expect(textFieldKey.currentState?.value, equals('hi'));
539532
expect(textFieldKey.currentState?.isDirty, false);
540-
expect(onChangedCalls, equals(onChangedCallsBeforeReset + 1));
541-
expect(isDirtyInResetOnChanged, isFalse);
533+
expect(onChangedCalls, equals(2));
542534
},
543535
);
544536
testWidgets('Should reset to null when call reset', (tester) async {

0 commit comments

Comments
 (0)