UNPKG

jsx-test-helpers

Version:

Helpers to easily write tests for React component/JSX code

45 lines (31 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderJSX = exports.render = exports.JSX = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; exports.noop = noop; var _shallow = require("react-test-renderer/shallow"); var _shallow2 = _interopRequireDefault(_shallow); var _reactElementToJsxString = require("react-element-to-jsx-string"); var _reactElementToJsxString2 = _interopRequireDefault(_reactElementToJsxString); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function noop() {} var JSX = exports.JSX = _reactElementToJsxString2.default; var render = exports.render = function render(jsx, cb, context) { if ((typeof cb === "undefined" ? "undefined" : _typeof(cb)) === "object") { context = cb; cb = undefined; } var renderer = new _shallow2.default(); var render = renderer.render(jsx, context); // here you can execute whatever you want on the renderer // eg: (render) => render.props.onClick({ preventDefault: noop }) if (typeof cb === "function") { cb(render, renderer); } return renderer.getRenderOutput(); }; var renderJSX = exports.renderJSX = function renderJSX(jsx, cb, context) { return JSX(render(jsx, cb, context)); };