enzyme
Version:
JavaScript Testing utilities for React
67 lines (53 loc) • 1.38 kB
JavaScript
;
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
};