mirror of
https://github.com/status-im/react-native.git
synced 2025-02-24 23:28:12 +00:00
Summary: Back it out again. This time really not sure why this is breaking, but it seems to be production only. The error seems to be "RCTSinglelineTextInputView" was not found in the UIManager" but the relavent logic is not changed in this diff, just moved around, so unclear why it would trigger a failure. Reverting to be safe. When we re-apply the diff, we'll need to test a full OTA to prod to verify the fix. Reviewed By: blairvanderhoof Differential Revision: D13108463 fbshipit-source-id: 5f877a0c1a08dc114ce45921d6d92bf619575977
71 lines
2.2 KiB
JavaScript
71 lines
2.2 KiB
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @emails oncall+react_native
|
|
* @format
|
|
* @flow-strict
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const React = require('React');
|
|
const ReactTestRenderer = require('react-test-renderer');
|
|
const TextInput = require('TextInput');
|
|
|
|
import Component from '@reactions/component';
|
|
|
|
const {enter} = require('ReactNativeTestTools');
|
|
|
|
jest.unmock('TextInput');
|
|
|
|
describe('TextInput tests', () => {
|
|
let input;
|
|
let onChangeListener;
|
|
let onChangeTextListener;
|
|
const initialValue = 'initialValue';
|
|
beforeEach(() => {
|
|
onChangeListener = jest.fn();
|
|
onChangeTextListener = jest.fn();
|
|
const renderTree = ReactTestRenderer.create(
|
|
<Component initialState={{text: initialValue}}>
|
|
{({setState, state}) => (
|
|
<TextInput
|
|
value={state.text}
|
|
onChangeText={text => {
|
|
onChangeTextListener(text);
|
|
setState({text});
|
|
}}
|
|
onChange={event => {
|
|
onChangeListener(event);
|
|
}}
|
|
/>
|
|
)}
|
|
</Component>,
|
|
);
|
|
input = renderTree.root.findByType(TextInput);
|
|
});
|
|
it('has expected instance functions', () => {
|
|
expect(input.instance.isFocused).toBeInstanceOf(Function); // Would have prevented S168585
|
|
expect(input.instance.clear).toBeInstanceOf(Function);
|
|
expect(input.instance.focus).toBeInstanceOf(Function);
|
|
expect(input.instance.blur).toBeInstanceOf(Function);
|
|
expect(input.instance.setNativeProps).toBeInstanceOf(Function);
|
|
expect(input.instance.measure).toBeInstanceOf(Function);
|
|
expect(input.instance.measureInWindow).toBeInstanceOf(Function);
|
|
expect(input.instance.measureLayout).toBeInstanceOf(Function);
|
|
});
|
|
it('calls onChange callbacks', () => {
|
|
expect(input.props.value).toBe(initialValue);
|
|
const message = 'This is a test message';
|
|
enter(input, message);
|
|
expect(input.props.value).toBe(message);
|
|
expect(onChangeTextListener).toHaveBeenCalledWith(message);
|
|
expect(onChangeListener).toHaveBeenCalledWith({
|
|
nativeEvent: {text: message},
|
|
});
|
|
});
|
|
});
|