@@ -12,6 +12,7 @@ import { isHostTextInput } from './helpers/host-component-names';
1212import { isPointerEventEnabled } from './helpers/pointer-events' ;
1313import { isTextInputEditable } from './helpers/text-input' ;
1414import { StringWithAutocomplete } from './types' ;
15+ import { nativeState } from './native-state' ;
1516
1617type EventHandler = ( ...args : unknown [ ] ) => unknown ;
1718
@@ -120,6 +121,8 @@ type EventName = StringWithAutocomplete<
120121> ;
121122
122123function fireEvent ( element : ReactTestInstance , eventName : EventName , ...data : unknown [ ] ) {
124+ setNativeStateIfNeeded ( element , eventName , data [ 0 ] ) ;
125+
123126 const handler = findEventHandler ( element , eventName ) ;
124127 if ( ! handler ) {
125128 return ;
@@ -143,3 +146,14 @@ fireEvent.scroll = (element: ReactTestInstance, ...data: unknown[]) =>
143146 fireEvent ( element , 'scroll' , ...data ) ;
144147
145148export default fireEvent ;
149+
150+ function setNativeStateIfNeeded ( element : ReactTestInstance , eventName : string , value : unknown ) {
151+ if (
152+ eventName === 'changeText' &&
153+ typeof value === 'string' &&
154+ isHostTextInput ( element ) &&
155+ isTextInputEditable ( element )
156+ ) {
157+ nativeState ?. elementValues . set ( element , value ) ;
158+ }
159+ }
0 commit comments