UNPKG

jest-fela-bindings

Version:

Abstract Fela bindings for Jest

18 lines 1.04 kB
import { renderToString } from 'fela-tools'; import { formatCSS, formatHTML } from './utils'; export default 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(formatCSS(renderToString(renderer)), "\n\n").concat(formatHTML(markup)); }; }