UNPKG

enzyme

Version:

JavaScript Testing utilities for React

67 lines (53 loc) 1.38 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _jsdom = require('jsdom'); var actualDOM = undefined; var documentRef = undefined; var create = function create(domString) { actualDOM = domString || ''; global.document = (0, _jsdom.jsdom)(actualDOM); global.window = document.defaultView; global.location = window.location; global.Element = window.Element; global.navigator = { userAgent: 'node.js' }; documentRef = document; }; var clear = function clear() { destroy(); create(actualDOM); }; var destroy = function destroy(clearRequireCache) { if (typeof clearRequireCache === 'undefined') { clearRequireCache = true; } window.close(); delete global.window; delete global.location; delete global.Element; delete global.navigator; delete global.document; documentRef = undefined; if (clearRequireCache) { Object.keys(require.cache).forEach(function (key) { if (key.indexOf('require') !== -1) { delete require.cache[key]; } }); } }; var getDocument = function getDocument() { if (typeof documentRef === 'undefined') { throw new Error('document is undefined\nTry calling jsdomify.create() before requesting it\n'); } return documentRef; }; exports.default = { create: create, clear: clear, destroy: destroy, getDocument: getDocument };