diff --git a/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js b/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js index 5dd04755..13b07ec9 100644 --- a/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js @@ -330,18 +330,27 @@ describe('components/TextInput', () => { }); }); - test('prop "onSelectionChange"', done => { - const input = findNativeInput( - mount() - ); - input.simulate('select', { - target: { selectionStart: 0, selectionEnd: 3 } + describe('prop "onSelectionChange"', () => { + test('is called on select', done => { + const input = findNativeInput( + mount() + ); + input.simulate('select', { + target: { selectionStart: 0, selectionEnd: 3 } + }); + function onSelectionChange(e) { + expect(e.nativeEvent.selection.end).toEqual(3); + expect(e.nativeEvent.selection.start).toEqual(0); + done(); + } + }); + + test('is called on change', () => { + const onSelectionChange = jest.fn(); + const input = findNativeInput(mount()); + input.simulate('change'); + expect(onSelectionChange).toHaveBeenCalledTimes(1); }); - function onSelectionChange(e) { - expect(e.nativeEvent.selection.end).toEqual(3); - expect(e.nativeEvent.selection.start).toEqual(0); - done(); - } }); describe('prop "onSubmitEditing"', () => { diff --git a/packages/react-native-web/src/exports/TextInput/index.js b/packages/react-native-web/src/exports/TextInput/index.js index a6798094..2da70531 100644 --- a/packages/react-native-web/src/exports/TextInput/index.js +++ b/packages/react-native-web/src/exports/TextInput/index.js @@ -282,6 +282,7 @@ class TextInput extends Component<*> { if (onChangeText) { onChangeText(text); } + this._handleSelectionChange(e); }; _handleFocus = e => {