Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
let renderer = rootRenderer
let wrapperToSnapshot = wrapper
if (includeStyles) {
// use a new renderer to capture the styles just by rendering this enzyme wrapper
renderer = createRenderer()
wrapperToSnapshot = felaDive(wrapper, renderer)
}
const result = {
component: toJson(wrapperToSnapshot),
}
if (includeStyles) {
result.styles = `\n${cssbeautify(renderToString(renderer), options)}\n`
}
return result
}
) {
const div = document.createElement('div')
// reset renderer to have a clean setup
renderer.clear()
render(
createElement(
RendererProvider,
{ renderer },
createElement(ThemeProvider, { theme }, component)
),
div
)
return `${formatCSS(renderToString(renderer))}\n\n${formatHTML(
div.innerHTML
)}`
}
}
renderer.getStatistics = (): Object => {
const currentStats = {
...statistics,
}
const reuse = calculateReuse()
currentStats.reuse = {
percentage: `${reuse * 100}%`,
number: reuse,
}
const currentCSS = renderToString(renderer)
const bytes = lengthInUtf8Bytes(currentCSS)
currentStats.size = {
bytes,
bytesGzipped: gzipSize.sync(currentCSS),
kbytes: Math.floor(bytes / 10) / 100,
kbytesGzipped: Math.floor(gzipSize.sync(currentCSS) / 10) / 100,
}
return currentStats
}
const snapshot = (wrapper, includeStyles = true) => {
const options = {
indent: ' ',
openbrace: 'end-of-line',
autosemicolon: false,
}
const result = {
component: toJson(wrapper),
}
if (includeStyles) {
result.styles = `\n${cssbeautify(renderToString(renderer), options)}\n`
}
return result
}