TestTextInput class Null safety

A testing stub for the system's onscreen keyboard.

Typical app tests will not need to use this class directly.

The TestWidgetsFlutterBinding class registers a TestTextInput instance (TestWidgetsFlutterBinding.testTextInput) as a stub keyboard implementation if its TestWidgetsFlutterBinding.registerTestTextInput property returns true when a test starts, and unregisters it when the test ends (unless it ends with a failure).

See register, unregister, and isRegistered for details.

The enterText, updateEditingValue, receiveAction, and closeConnection methods can be used even when the TestTextInput is not registered. All other methods will assert if isRegistered is false.

See also:


TestTextInput({VoidCallback? onCleared})
Create a fake keyboard backend. [...]


editingState Map<String, dynamic>?
The last set of arguments that TextInputConnection.setEditingState sent to this stub implementation (i.e. the arguments set to TextInput.setEditingState). [...]
read / write
hasAnyClients bool
Whether there are any active clients listening to text input.
hashCode int
The hash code for this object. [...]
read-only, inherited
isRegistered bool
Whether this TestTextInput is registered with SystemChannels.textInput. [...]
isVisible bool
Whether the onscreen keyboard is visible to the user. [...]
log List<MethodCall>
Log for method calls. [...]
onCleared VoidCallback?
Called when the keyboard goes away. [...]
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
setClientArgs Map<String, dynamic>?
The last set of arguments supplied to the TextInput.setClient and TextInput.updateConfig methods of this stub implementation.
read / write


closeConnection() → void
Simulates the user closing the text input connection. [...]
enterText(String text) → void
Simulates the user changing the text of the focused text field, and resets the selection. [...]
hide() → void
Simulates the user hiding the onscreen keyboard. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
receiveAction(TextInputAction action) Future<void>
Simulates the user pressing one of the TextInputAction buttons. Does not check that the TextInputAction performed is an acceptable one based on the inputAction setClientArgs. [...]
register() → void
Installs this object as a mock handler for SystemChannels.textInput. [...]
reset() → void
Resets any internal state of this object. [...]
toString() String
A string representation of this object. [...]
unregister() → void
Removes this object as a mock handler for SystemChannels.textInput. [...]
updateEditingValue(TextEditingValue value) → void
Simulates the user changing the TextEditingValue to the given value. [...]


operator ==(Object other) bool
The equality operator. [...]