The state of a
a stub for the system’s onscreen keyboard,
is now reset between tests.
The Flutter test framework uses a class called
TestTextInput to track and
manipulate editing state in a widgets test. Individual tests can make calls
that modify the internal state of this object, sometimes indirectly (such as
by setting their own handlers on
Subsequent tests might then check the state of
and get unexpected values.
Description of change
The state of the
is now reset before running a
Tests that relied on dirty state from a previously run test must be
updated. For example, the following test,
packages/flutter/test/material/text_field_test.dart in the
'Controller can update server' test, previously passed because
of a combination of dirty state from previous tests and a
failure to actually set state in cases where it should have been set.
Code before migration:
widgetsTest, before actually changing text on a text editing widget,
this call might have succeeded:
Code after migration:
Either remove the call entirely, or consider using the following to assert that the state hasn’t been modified yet:
This change occurred in Dec 2019, in v1.13.5.