jest-fela-bindings
Version:
Abstract Fela bindings for Jest
27 lines (23 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = createSnapshotFactory;
var _felaTools = require("fela-tools");
var _utils = require("./utils");
function createSnapshotFactory(createElement, renderToMarkup, defaultRenderer, defaultRendererProvider, defaultThemeProvider) {
return function createSnapshot(component) {
var theme = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var renderer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultRenderer;
var RendererProvider = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : defaultRendererProvider;
var ThemeProvider = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : defaultThemeProvider;
// reset renderer to have a clean setup
renderer.clear();
var markup = renderToMarkup(createElement(RendererProvider, {
renderer: renderer
}, createElement(ThemeProvider, {
theme: theme
}, component)));
return "".concat((0, _utils.formatCSS)((0, _felaTools.renderToString)(renderer)), "\n\n").concat((0, _utils.formatHTML)(markup));
};
}