jsx-test-helpers
Version:
Helpers to easily write tests for React component/JSX code
45 lines (31 loc) • 1.5 kB
JavaScript
;
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));
};