@@ -193,6 +193,46 @@ test('should not fire on disabled Pressable', () => {
193
193
expect ( handlePress ) . not . toHaveBeenCalled ( ) ;
194
194
} ) ;
195
195
196
+ test ( 'should not fire on non-editable TextInput' , ( ) => {
197
+ const placeholder = 'Test placeholder' ;
198
+ const onChangeTextMock = jest . fn ( ) ;
199
+ const NEW_TEXT = 'New text' ;
200
+
201
+ const { getByPlaceholderText } = render (
202
+ < View >
203
+ < TextInput
204
+ editable = { false }
205
+ placeholder = { placeholder }
206
+ onChangeText = { onChangeTextMock }
207
+ />
208
+ </ View >
209
+ ) ;
210
+
211
+ fireEvent . changeText ( getByPlaceholderText ( placeholder ) , NEW_TEXT ) ;
212
+ expect ( onChangeTextMock ) . not . toHaveBeenCalled ( ) ;
213
+ } ) ;
214
+
215
+ test ( 'should not fire on non-editable TextInput with nested Text' , ( ) => {
216
+ const placeholder = 'Test placeholder' ;
217
+ const onChangeTextMock = jest . fn ( ) ;
218
+ const NEW_TEXT = 'New text' ;
219
+
220
+ const { getByPlaceholderText } = render (
221
+ < View >
222
+ < TextInput
223
+ editable = { false }
224
+ placeholder = { placeholder }
225
+ onChangeText = { onChangeTextMock }
226
+ >
227
+ < Text > Test text</ Text >
228
+ </ TextInput >
229
+ </ View >
230
+ ) ;
231
+
232
+ fireEvent . changeText ( getByPlaceholderText ( placeholder ) , NEW_TEXT ) ;
233
+ expect ( onChangeTextMock ) . not . toHaveBeenCalled ( ) ;
234
+ } ) ;
235
+
196
236
test ( 'should pass event up on disabled TouchableOpacity' , ( ) => {
197
237
const handleInnerPress = jest . fn ( ) ;
198
238
const handleOuterPress = jest . fn ( ) ;
0 commit comments