UNPKG

shineout

Version:
37 lines (36 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = mountTest; var _react = _interopRequireDefault(require("react")); var _react2 = require("@testing-library/react"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function mountTest(Component) { var renderedComponent; if ( /*#__PURE__*/_react.default.isValidElement(Component)) { // 如果传递的是 JSX 元素 renderedComponent = /*#__PURE__*/_react.default.cloneElement(Component); } else { // 如果传递的是 React 组件类型 var _ComponentType = Component; renderedComponent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentType, {}); } describe('mount and unmount', function () { test('component should be mount without errors', function () { expect(function () { return (0, _react2.render)(renderedComponent); }).not.toThrow(); }); test('component should be updated and unmounted without errors', function () { var _render = (0, _react2.render)(renderedComponent), unmount = _render.unmount, rerender = _render.rerender; expect(function () { rerender(renderedComponent); unmount(); }).not.toThrow(); }); }); }