const React = require('react')
require('react-dom')
const assert = require('assert')
const Enzyme = require('enzyme')
const Adapter = require('enzyme-adapter-react-16')
const { renderMdast } = require('mdast-react-render')
const { matchType, matchHeading, matchParagraph } = require('mdast-react-render/lib/utils')
Enzyme.configure({ adapter: new Adapter() })
const mdast = {
'type': 'root',
'children': [
{
'type': 'heading',
'depth': 1,
'children': [{
'type': 'text',
'value': 'The Titel'
}]
},
{
'type': 'paragraph',
'children': [{
'type': 'text',
'value': '«A good lead.»'
}]
}
]
}
const schema = {
rules: [
{
matchMdast: matchType('root'),
component: ({ children }) => React.createElement('div', null, children),
rules: [
{
matchMdast: matchHeading(1),
component: ({ children }) => React.createElement('h1', null, children)
},
{
matchMdast: matchParagraph,
component: ({ children }) => React.createElement('p', null, children)
}
]
}
]
}
let elements
assert.doesNotThrow(() => {
Enzyme.shallow(
elements = renderMdast(mdast, schema, {MissingNode: false})
)
})
console.log(elements)