import { JSDOM } from 'jsdom'
const defaults = {
url: 'https://october.example.org/',
referer: null,
contentType: 'text/html',
head: '
Fake document',
bodyStart: '',
bodyEnd: '',
foot: '',
beforeParse: null
}
const fakeDom = (content, options) => {
const settings = Object.assign({}, defaults, options)
const dom = new JSDOM(
settings.head +
settings.bodyStart +
(content + '') +
settings.bodyEnd +
settings.foot,
{
url: settings.url,
referrer: settings.referer || undefined,
contentType: settings.contenType,
includeNodeLocations: true,
runScripts: 'dangerously',
resources: 'usable',
pretendToBeVisual: true,
beforeParse: (typeof settings.beforeParse === 'function')
? settings.beforeParse
: undefined
}
)
return dom
}
export default fakeDom