53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _extends2 = require('babel-runtime/helpers/extends');
|
|
|
|
var _extends3 = _interopRequireDefault(_extends2);
|
|
|
|
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
|
|
|
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
|
|
|
exports.default = createMount;
|
|
|
|
var _reactDom = require('react-dom');
|
|
|
|
var _enzyme = require('enzyme');
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var babelPluginFlowReactPropTypes_proptype_Element = require('react').babelPluginFlowReactPropTypes_proptype_Element || require('prop-types').any; // weak
|
|
|
|
// Generate an enhanced mount function.
|
|
function createMount() {
|
|
var options1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var _options1$mount = options1.mount,
|
|
mount = _options1$mount === undefined ? _enzyme.mount : _options1$mount,
|
|
other1 = (0, _objectWithoutProperties3.default)(options1, ['mount']);
|
|
|
|
|
|
var attachTo = window.document.createElement('div');
|
|
attachTo.className = 'app';
|
|
attachTo.setAttribute('id', 'app');
|
|
window.document.body.insertBefore(attachTo, window.document.body.firstChild);
|
|
|
|
var mountWithContext = function mountWithContext(node) {
|
|
var options2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
|
|
return mount(node, (0, _extends3.default)({
|
|
attachTo: attachTo
|
|
}, other1, options2));
|
|
};
|
|
|
|
mountWithContext.attachTo = attachTo;
|
|
mountWithContext.cleanUp = function () {
|
|
(0, _reactDom.unmountComponentAtNode)(attachTo);
|
|
attachTo.parentNode.removeChild(attachTo);
|
|
};
|
|
|
|
return mountWithContext;
|
|
} |