UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

127 lines 4.22 kB
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _reactNative2 = require("@testing-library/react-native"); var _renderText = require("./renderText"); var _jsxRuntime = require("react/jsx-runtime"); var _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageItemView/utils/renderText.test.tsx"; describe('list', () => { var createNode = ({ amount, ordered = false, start = 1 }) => ({ items: Array.from(Array(amount).keys()), ordered, start, type: 'text' }); var mockOutput = node => (0, _jsxRuntime.jsx)(_reactNative.Text, { children: JSON.stringify(node) }); var MockText = ({ node, output, state }) => (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, { children: (0, _jsxRuntime.jsx)(_renderText.ListOutput, { node: node, output: output, state: state, styles: {} }) }); it('renders numbered items', () => { var node = createNode({ amount: 3, ordered: true, start: 1 }); var _render = (0, _reactNative2.render)((0, _jsxRuntime.jsx)(MockText, { node: node, output: mockOutput, state: {} })), root = _render.root; var textInstances = root.children; textInstances.forEach(function () { var _ref = (0, _asyncToGenerator2.default)(function* (instance, index) { var text = `${index + node.start}. `; yield (0, _reactNative2.waitFor)(() => expect((0, _reactNative2.within)(instance).getByText(text)).toBeTruthy()); }); return function (_x, _x2) { return _ref.apply(this, arguments); }; }()); }); it('renders numbered items from a start index', () => { var node = createNode({ amount: 3, ordered: true, start: 3 }); var _render2 = (0, _reactNative2.render)((0, _jsxRuntime.jsx)(MockText, { node: node, output: mockOutput, state: {} })), root = _render2.root; var textInstances = root.children; textInstances.forEach(function () { var _ref2 = (0, _asyncToGenerator2.default)(function* (instance, index) { var text = `${index + node.start}. `; yield (0, _reactNative2.waitFor)(() => expect((0, _reactNative2.within)(instance).getByText(text)).toBeTruthy()); }); return function (_x3, _x4) { return _ref2.apply(this, arguments); }; }()); }); it('does not throw an error if an item is empty', () => { var node = { ...createNode({ amount: 3, ordered: true }), items: ['Not empty', null, 'Not empty'] }; var _render3 = (0, _reactNative2.render)((0, _jsxRuntime.jsx)(MockText, { node: node, output: mockOutput, state: {} })), root = _render3.root; var textInstances = root.children; textInstances.forEach(function () { var _ref3 = (0, _asyncToGenerator2.default)(function* (instance, index) { var text = `${index + 1}. `; yield (0, _reactNative2.waitFor)(() => expect((0, _reactNative2.within)(instance).getByText(text)).toBeTruthy()); }); return function (_x5, _x6) { return _ref3.apply(this, arguments); }; }()); }); it('renders an unordered list', () => { var node = createNode({ amount: 3 }); var _render4 = (0, _reactNative2.render)((0, _jsxRuntime.jsx)(MockText, { node: node, output: mockOutput, state: {} })), root = _render4.root; var textInstances = root.children; textInstances.forEach(function () { var _ref4 = (0, _asyncToGenerator2.default)(function* (instance) { yield (0, _reactNative2.waitFor)(() => expect((0, _reactNative2.within)(instance).getByText('\u2022 ')).toBeTruthy()); }); return function (_x7) { return _ref4.apply(this, arguments); }; }()); }); }); //# sourceMappingURL=renderText.test.js.map