{"version":3,"file":"ReactSixteenAdapter.js","names":["_react","_interopRequireDefault","require","_reactDom","_server","_shallow","_package","_testUtils","_semver","_checkPropTypes2","_hasown","_reactIs","_enzyme","_Utils","_enzymeShallowEqual","_enzymeAdapterUtils","_findCurrentFiberUsingSlowPath","_detectFiberTags","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","call","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","self","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","subClass","superClass","create","_setPrototypeOf","p","is164","TestUtils","Simulate","touchStart","is165","auxClick","is166","React","unstable_AsyncMode","is168","act","hasShouldComponentUpdateBug","semver","satisfies","testRendererVersion","FiberTags","nodeAndSiblingsArray","nodeWithSibling","array","node","sibling","flatten","arr","result","stack","n","pop","el","Array","isArray","nodeTypeFromType","type","Portal","utilNodeTypeFromType","isMemo","compareNodeTypeOf","Memo","isLazy","Lazy","unmemoType","transformSuspense","renderedEl","prerenderEl","_ref","suspenseFallback","isSuspense","children","fallback","replaceLazyWithFallback","_renderedEl$type","propTypes","defaultProps","contextTypes","contextType","childContextTypes","FakeSuspense","_object","isStateful","_prerenderEl$type","render","createElement","elementToTree","isPortal","utilElementToTree","containerInfo","nodeType","ensureKeyOrUndefined","ref","rendered","toTree","vnode","findCurrentFiberUsingSlowPath","tag","HostRoot","childrenToTree","child","HostPortal","stateNode","memoizedProps","ClassComponent","FunctionalComponent","MemoClass","elementType","MemoSFC","renderedNodes","map","HostComponent","HostText","Fragment","Mode","ContextProvider","ContextConsumer","Profiler","ForwardRef","pendingProps","Suspense","Error","concat","nodeToHostNode","_node","mapper","item","ReactDOM","findDOMNode","eventOptions","animation","pointerEvents","getEmptyStateValue","EmptyState","_React$Component","Component","testRenderer","ShallowRenderer","_instance","state","wrapAct","fn","returnVal","getProviderDefaultValue","Provider","_context","_defaultValue","_currentValue","makeFakeElement","$$typeof","Element","isReactComponent","__reactAutoBindPairs","ReactSixteenAdapter","_EnzymeAdapter","_this","lifecycles","options","enableComponentDidUpdateOnSetState","legacyContextMode","componentDidUpdate","onSetState","getDerivedStateFromProps","getSnapshotBeforeUpdate","setState","skipsComponentDidUpdateOnNullish","getChildContext","calledByRenderer","getDerivedStateFromError","createMountRenderer","assertDomAvailable","hasOwn","detectFiberTags","attachTo","hydrateIn","wrappingComponentProps","domNode","global","document","adapter","context","callback","wrapperProps","refProp","ReactWrapperComponent","createMountWrapper","wrappedEl","hydrate","setChildProps","unmount","unmountComponentAtNode","getNode","getNodeFromRootFinder","isCustomComponent","_reactInternalFiber","simulateError","nodeHierarchy","rootNode","error","isErrorBoundary","_ref2","elInstance","componentDidCatch","_ref3","find","catchingInstance","catchingType","displayNameOfNode","undefined","simulateEvent","event","mock","mappedEvent","mapNativeEventNames","eventFn","batchedUpdates","getWrappingComponentRenderer","getWrappingComponentMountRenderer","inst","getMountWrapperInstance","wrapInvoke","createShallowRenderer","_this2","renderer","isDOM","cachedNode","lastComponent","wrappedComponent","sentinel","wrapPureComponent","compare","RangeError","_Component","shouldComponentUpdate","nextProps","isPureReactComponent","memoized","prevProps","shouldUpdate","shallowEqual","_len","args","_key","displayName","wrapFunctionalComponent","_len2","_key2","renderElement","elConfig","_len3","rest","_key3","typeIsExisted","clonedEl","elementIsChanged","unmaskedContext","_ref4","_ref4$providerValues","providerValues","Map","isContextProvider","set","MockProvider","withSetStateAllowed","isContextConsumer","getProviderFromConsumer","has","get","MockConsumer","_renderedEl","getMaskedContext","_el$type","InnerComp","isComponentStateful","_spyMethod","spyMethod","originalMethod","_updateClassComponent","clonedProps","_len4","_key4","restore","emptyStateValue","output","getRenderOutput","_len5","_key5","handler","propFromEvent","checkPropTypes","typeSpecs","values","location","hierarchy","getComponentStack","createStringRenderer","ContextWrapper","createRenderWrapper","ReactDOMServer","renderToStaticMarkup","createRenderer","mode","EnzymeAdapter","MODES","MOUNT","SHALLOW","STRING","wrap","element","nodeToElement","propsWithKeysAndRef","matchesElementType","matchingType","elementToNode","supportsArray","nodes","ConcurrentMode","AsyncMode","NaN","StrictMode","$$typeofType","nodeName","name","isValidElement","isElement","isValidElementType","object","isFragment","fragment","typeOfNode","fakeElement","isForwardRef","isCustomComponentElement","Consumer","wrapWithWrappingComponent","RootFinder","_default2","exports","module","default"],"sources":["../src/ReactSixteenAdapter.js"],"sourcesContent":["/* eslint no-use-before-define: 0 */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n// eslint-disable-next-line import/no-unresolved\nimport ReactDOMServer from 'react-dom/server';\n// eslint-disable-next-line import/no-unresolved\nimport ShallowRenderer from 'react-test-renderer/shallow';\nimport { version as testRendererVersion } from 'react-test-renderer/package.json';\n// eslint-disable-next-line import/no-unresolved\nimport TestUtils from 'react-dom/test-utils';\nimport semver from 'semver';\nimport checkPropTypes from 'prop-types/checkPropTypes';\nimport hasOwn from 'hasown';\nimport {\n AsyncMode,\n ConcurrentMode,\n ContextConsumer,\n ContextProvider,\n Element,\n ForwardRef,\n Fragment,\n isContextConsumer,\n isContextProvider,\n isElement,\n isForwardRef,\n isPortal,\n isSuspense,\n isValidElementType,\n Lazy,\n Memo,\n Portal,\n Profiler,\n StrictMode,\n Suspense,\n} from 'react-is';\nimport { EnzymeAdapter } from 'enzyme';\nimport { typeOfNode } from 'enzyme/build/Utils';\nimport shallowEqual from 'enzyme-shallow-equal';\nimport {\n displayNameOfNode,\n elementToTree as utilElementToTree,\n nodeTypeFromType as utilNodeTypeFromType,\n mapNativeEventNames,\n propFromEvent,\n assertDomAvailable,\n withSetStateAllowed,\n createRenderWrapper,\n createMountWrapper,\n propsWithKeysAndRef,\n ensureKeyOrUndefined,\n simulateError,\n wrap,\n getMaskedContext,\n getComponentStack,\n RootFinder,\n getNodeFromRootFinder,\n wrapWithWrappingComponent,\n getWrappingComponentMountRenderer,\n compareNodeTypeOf,\n spyMethod,\n} from 'enzyme-adapter-utils';\nimport findCurrentFiberUsingSlowPath from './findCurrentFiberUsingSlowPath';\nimport detectFiberTags from './detectFiberTags';\n\nconst is164 = !!TestUtils.Simulate.touchStart; // 16.4+\nconst is165 = !!TestUtils.Simulate.auxClick; // 16.5+\nconst is166 = is165 && !React.unstable_AsyncMode; // 16.6+\nconst is168 = is166 && typeof TestUtils.act === 'function';\n\nconst hasShouldComponentUpdateBug = semver.satisfies(testRendererVersion, '< 16.8');\n\n// Lazily populated if DOM is available.\nlet FiberTags = null;\n\nfunction nodeAndSiblingsArray(nodeWithSibling) {\n const array = [];\n let node = nodeWithSibling;\n while (node != null) {\n array.push(node);\n node = node.sibling;\n }\n return array;\n}\n\nfunction flatten(arr) {\n const result = [];\n const stack = [{ i: 0, array: arr }];\n while (stack.length) {\n const n = stack.pop();\n while (n.i < n.array.length) {\n const el = n.array[n.i];\n n.i += 1;\n if (Array.isArray(el)) {\n stack.push(n);\n stack.push({ i: 0, array: el });\n break;\n }\n result.push(el);\n }\n }\n return result;\n}\n\nfunction nodeTypeFromType(type) {\n if (type === Portal) {\n return 'portal';\n }\n\n return utilNodeTypeFromType(type);\n}\n\nfunction isMemo(type) {\n return compareNodeTypeOf(type, Memo);\n}\n\nfunction isLazy(type) {\n return compareNodeTypeOf(type, Lazy);\n}\n\nfunction unmemoType(type) {\n return isMemo(type) ? type.type : type;\n}\n\nfunction transformSuspense(renderedEl, prerenderEl, { suspenseFallback }) {\n if (!isSuspense(renderedEl)) {\n return renderedEl;\n }\n\n let { children } = renderedEl.props;\n\n if (suspenseFallback) {\n const { fallback } = renderedEl.props;\n children = replaceLazyWithFallback(children, fallback);\n }\n\n const {\n propTypes,\n defaultProps,\n contextTypes,\n contextType,\n childContextTypes,\n } = renderedEl.type;\n\n const FakeSuspense = Object.assign(\n isStateful(prerenderEl.type)\n ? class FakeSuspense extends prerenderEl.type {\n render() {\n const { type, props } = prerenderEl;\n return React.createElement(\n type,\n { ...props, ...this.props },\n children,\n );\n }\n }\n : function FakeSuspense(props) { // eslint-disable-line prefer-arrow-callback\n return React.createElement(\n renderedEl.type,\n { ...renderedEl.props, ...props },\n children,\n );\n },\n {\n propTypes,\n defaultProps,\n contextTypes,\n contextType,\n childContextTypes,\n },\n );\n return React.createElement(FakeSuspense, null, children);\n}\n\nfunction elementToTree(el) {\n if (!isPortal(el)) {\n return utilElementToTree(el, elementToTree);\n }\n\n const { children, containerInfo } = el;\n const props = { children, containerInfo };\n\n return {\n nodeType: 'portal',\n type: Portal,\n props,\n key: ensureKeyOrUndefined(el.key),\n ref: el.ref || null,\n instance: null,\n rendered: elementToTree(el.children),\n };\n}\n\nfunction toTree(vnode) {\n if (vnode == null) {\n return null;\n }\n // TODO(lmr): I'm not really sure I understand whether or not this is what\n // i should be doing, or if this is a hack for something i'm doing wrong\n // somewhere else. Should talk to sebastian about this perhaps\n const node = findCurrentFiberUsingSlowPath(vnode);\n switch (node.tag) {\n case FiberTags.HostRoot:\n return childrenToTree(node.child);\n case FiberTags.HostPortal: {\n const {\n stateNode: { containerInfo },\n memoizedProps: children,\n } = node;\n const props = { containerInfo, children };\n return {\n nodeType: 'portal',\n type: Portal,\n props,\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: childrenToTree(node.child),\n };\n }\n case FiberTags.ClassComponent:\n return {\n nodeType: 'class',\n type: node.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: node.stateNode,\n rendered: childrenToTree(node.child),\n };\n case FiberTags.FunctionalComponent:\n return {\n nodeType: 'function',\n type: node.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: childrenToTree(node.child),\n };\n case FiberTags.MemoClass:\n return {\n nodeType: 'class',\n type: node.elementType.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: node.stateNode,\n rendered: childrenToTree(node.child.child),\n };\n case FiberTags.MemoSFC: {\n let renderedNodes = flatten(nodeAndSiblingsArray(node.child).map(toTree));\n if (renderedNodes.length === 0) {\n renderedNodes = childrenToTree(node.memoizedProps.children);\n }\n return {\n nodeType: 'function',\n type: node.elementType,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: renderedNodes,\n };\n }\n case FiberTags.HostComponent: {\n let renderedNodes = flatten(nodeAndSiblingsArray(node.child).map(toTree));\n if (renderedNodes.length === 0) {\n renderedNodes = [node.memoizedProps.children];\n }\n return {\n nodeType: 'host',\n type: node.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: node.stateNode,\n rendered: renderedNodes,\n };\n }\n case FiberTags.HostText:\n return node.memoizedProps;\n case FiberTags.Fragment:\n case FiberTags.Mode:\n case FiberTags.ContextProvider:\n case FiberTags.ContextConsumer:\n return childrenToTree(node.child);\n case FiberTags.Profiler:\n case FiberTags.ForwardRef: {\n return {\n nodeType: 'function',\n type: node.type,\n props: { ...node.pendingProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: childrenToTree(node.child),\n };\n }\n case FiberTags.Suspense: {\n return {\n nodeType: 'function',\n type: Suspense,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: childrenToTree(node.child),\n };\n }\n case FiberTags.Lazy:\n return childrenToTree(node.child);\n default:\n throw new Error(`Enzyme Internal Error: unknown node with tag ${node.tag}`);\n }\n}\n\nfunction childrenToTree(node) {\n if (!node) {\n return null;\n }\n const children = nodeAndSiblingsArray(node);\n if (children.length === 0) {\n return null;\n }\n if (children.length === 1) {\n return toTree(children[0]);\n }\n return flatten(children.map(toTree));\n}\n\nfunction nodeToHostNode(_node) {\n // NOTE(lmr): node could be a function component\n // which wont have an instance prop, but we can get the\n // host node associated with its return value at that point.\n // Although this breaks down if the return value is an array,\n // as is possible with React 16.\n let node = _node;\n while (node && !Array.isArray(node) && node.instance === null) {\n node = node.rendered;\n }\n // if the SFC returned null effectively, there is no host node.\n if (!node) {\n return null;\n }\n\n const mapper = (item) => {\n if (item && item.instance) return ReactDOM.findDOMNode(item.instance);\n return null;\n };\n if (Array.isArray(node)) {\n return node.map(mapper);\n }\n if (Array.isArray(node.rendered) && node.nodeType === 'class') {\n return node.rendered.map(mapper);\n }\n return mapper(node);\n}\n\nfunction replaceLazyWithFallback(node, fallback) {\n if (!node) {\n return null;\n }\n if (Array.isArray(node)) {\n return node.map((el) => replaceLazyWithFallback(el, fallback));\n }\n if (isLazy(node.type)) {\n return fallback;\n }\n return {\n ...node,\n props: {\n ...node.props,\n children: replaceLazyWithFallback(node.props.children, fallback),\n },\n };\n}\n\nconst eventOptions = {\n animation: true,\n pointerEvents: is164,\n auxClick: is165,\n};\n\nfunction getEmptyStateValue() {\n // this handles a bug in React 16.0 - 16.2\n // see https://github.com/facebook/react/commit/39be83565c65f9c522150e52375167568a2a1459\n // also see https://github.com/facebook/react/pull/11965\n\n // eslint-disable-next-line react/prefer-stateless-function\n class EmptyState extends React.Component {\n render() {\n return null;\n }\n }\n const testRenderer = new ShallowRenderer();\n testRenderer.render(React.createElement(EmptyState));\n return testRenderer._instance.state;\n}\n\nfunction wrapAct(fn) {\n if (!is168) {\n return fn();\n }\n let returnVal;\n TestUtils.act(() => { returnVal = fn(); });\n return returnVal;\n}\n\nfunction getProviderDefaultValue(Provider) {\n // React stores references to the Provider's defaultValue differently across versions.\n if ('_defaultValue' in Provider._context) {\n return Provider._context._defaultValue;\n }\n if ('_currentValue' in Provider._context) {\n return Provider._context._currentValue;\n }\n throw new Error('Enzyme Internal Error: can’t figure out how to get Provider’s default value');\n}\n\nfunction makeFakeElement(type) {\n return { $$typeof: Element, type };\n}\n\nfunction isStateful(Component) {\n return Component.prototype && (\n Component.prototype.isReactComponent\n || Array.isArray(Component.__reactAutoBindPairs) // fallback for createClass components\n );\n}\n\nclass ReactSixteenAdapter extends EnzymeAdapter {\n constructor() {\n super();\n const { lifecycles } = this.options;\n this.options = {\n ...this.options,\n enableComponentDidUpdateOnSetState: true, // TODO: remove, semver-major\n legacyContextMode: 'parent',\n lifecycles: {\n ...lifecycles,\n componentDidUpdate: {\n onSetState: true,\n },\n getDerivedStateFromProps: {\n hasShouldComponentUpdateBug,\n },\n getSnapshotBeforeUpdate: true,\n setState: {\n skipsComponentDidUpdateOnNullish: true,\n },\n getChildContext: {\n calledByRenderer: false,\n },\n getDerivedStateFromError: is166,\n },\n };\n }\n\n createMountRenderer(options) {\n assertDomAvailable('mount');\n if (hasOwn(options, 'suspenseFallback')) {\n throw new TypeError('`suspenseFallback` is not supported by the `mount` renderer');\n }\n if (FiberTags === null) {\n // Requires DOM.\n FiberTags = detectFiberTags();\n }\n const { attachTo, hydrateIn, wrappingComponentProps } = options;\n const domNode = hydrateIn || attachTo || global.document.createElement('div');\n let instance = null;\n const adapter = this;\n return {\n render(el, context, callback) {\n return wrapAct(() => {\n if (instance === null) {\n const { type, props, ref } = el;\n const wrapperProps = {\n Component: type,\n props,\n wrappingComponentProps,\n context,\n ...(ref && { refProp: ref }),\n };\n const ReactWrapperComponent = createMountWrapper(el, { ...options, adapter });\n const wrappedEl = React.createElement(ReactWrapperComponent, wrapperProps);\n instance = hydrateIn\n ? ReactDOM.hydrate(wrappedEl, domNode)\n : ReactDOM.render(wrappedEl, domNode);\n if (typeof callback === 'function') {\n callback();\n }\n } else {\n instance.setChildProps(el.props, context, callback);\n }\n });\n },\n unmount() {\n ReactDOM.unmountComponentAtNode(domNode);\n instance = null;\n },\n getNode() {\n if (!instance) {\n return null;\n }\n return getNodeFromRootFinder(\n adapter.isCustomComponent,\n toTree(instance._reactInternalFiber),\n options,\n );\n },\n simulateError(nodeHierarchy, rootNode, error) {\n const isErrorBoundary = ({ instance: elInstance, type }) => {\n if (is166 && type && type.getDerivedStateFromError) {\n return true;\n }\n return elInstance && elInstance.componentDidCatch;\n };\n\n const {\n instance: catchingInstance,\n type: catchingType,\n } = nodeHierarchy.find(isErrorBoundary) || {};\n\n simulateError(\n error,\n catchingInstance,\n rootNode,\n nodeHierarchy,\n nodeTypeFromType,\n adapter.displayNameOfNode.bind(adapter),\n is166 ? catchingType : undefined,\n );\n },\n simulateEvent(node, event, mock) {\n const mappedEvent = mapNativeEventNames(event, eventOptions);\n const eventFn = TestUtils.Simulate[mappedEvent];\n if (!eventFn) {\n throw new TypeError(`ReactWrapper::simulate() event '${event}' does not exist`);\n }\n wrapAct(() => {\n eventFn(adapter.nodeToHostNode(node), mock);\n });\n },\n batchedUpdates(fn) {\n return fn();\n // return ReactDOM.unstable_batchedUpdates(fn);\n },\n getWrappingComponentRenderer() {\n return {\n ...this,\n ...getWrappingComponentMountRenderer({\n toTree: (inst) => toTree(inst._reactInternalFiber),\n getMountWrapperInstance: () => instance,\n }),\n };\n },\n ...(is168 && { wrapInvoke: wrapAct }),\n };\n }\n\n createShallowRenderer(options = {}) {\n const adapter = this;\n const renderer = new ShallowRenderer();\n const { suspenseFallback } = options;\n if (typeof suspenseFallback !== 'undefined' && typeof suspenseFallback !== 'boolean') {\n throw TypeError('`options.suspenseFallback` should be boolean or undefined');\n }\n let isDOM = false;\n let cachedNode = null;\n\n let lastComponent = null;\n let wrappedComponent = null;\n const sentinel = {};\n\n // wrap memo components with a PureComponent, or a class component with sCU\n const wrapPureComponent = (Component, compare) => {\n if (!is166) {\n throw new RangeError('this function should not be called in React < 16.6. Please report this!');\n }\n if (lastComponent !== Component) {\n if (isStateful(Component)) {\n wrappedComponent = class extends Component {}; // eslint-disable-line react/prefer-stateless-function\n if (compare) {\n wrappedComponent.prototype.shouldComponentUpdate = (nextProps) => !compare(this.props, nextProps);\n } else {\n wrappedComponent.prototype.isPureReactComponent = true;\n }\n } else {\n let memoized = sentinel;\n let prevProps;\n wrappedComponent = function (props, ...args) {\n const shouldUpdate = memoized === sentinel || (compare\n ? !compare(prevProps, props)\n : !shallowEqual(prevProps, props)\n );\n if (shouldUpdate) {\n memoized = Component({ ...Component.defaultProps, ...props }, ...args);\n prevProps = props;\n }\n return memoized;\n };\n }\n Object.assign(\n wrappedComponent,\n Component,\n { displayName: adapter.displayNameOfNode({ type: Component }) },\n );\n lastComponent = Component;\n }\n return wrappedComponent;\n };\n\n // Wrap functional components on versions prior to 16.5,\n // to avoid inadvertently pass a `this` instance to it.\n const wrapFunctionalComponent = (Component) => {\n if (is166 && hasOwn(Component, 'defaultProps')) {\n if (lastComponent !== Component) {\n wrappedComponent = Object.assign(\n // eslint-disable-next-line new-cap\n (props, ...args) => Component({ ...Component.defaultProps, ...props }, ...args),\n Component,\n { displayName: adapter.displayNameOfNode({ type: Component }) },\n );\n lastComponent = Component;\n }\n return wrappedComponent;\n }\n if (is165) {\n return Component;\n }\n\n if (lastComponent !== Component) {\n wrappedComponent = Object.assign(\n (...args) => Component(...args), // eslint-disable-line new-cap\n Component,\n );\n lastComponent = Component;\n }\n return wrappedComponent;\n };\n\n const renderElement = (elConfig, ...rest) => {\n const renderedEl = renderer.render(elConfig, ...rest);\n\n const typeIsExisted = !!(renderedEl && renderedEl.type);\n if (is166 && typeIsExisted) {\n const clonedEl = transformSuspense(renderedEl, elConfig, { suspenseFallback });\n\n const elementIsChanged = clonedEl.type !== renderedEl.type;\n if (elementIsChanged) {\n return renderer.render({ ...elConfig, type: clonedEl.type }, ...rest);\n }\n }\n\n return renderedEl;\n };\n\n return {\n render(el, unmaskedContext, {\n providerValues = new Map(),\n } = {}) {\n cachedNode = el;\n /* eslint consistent-return: 0 */\n if (typeof el.type === 'string') {\n isDOM = true;\n } else if (isContextProvider(el)) {\n providerValues.set(el.type, el.props.value);\n const MockProvider = Object.assign(\n (props) => props.children,\n el.type,\n );\n return withSetStateAllowed(() => renderElement({ ...el, type: MockProvider }));\n } else if (isContextConsumer(el)) {\n const Provider = adapter.getProviderFromConsumer(el.type);\n const value = providerValues.has(Provider)\n ? providerValues.get(Provider)\n : getProviderDefaultValue(Provider);\n const MockConsumer = Object.assign(\n (props) => props.children(value),\n el.type,\n );\n return withSetStateAllowed(() => renderElement({ ...el, type: MockConsumer }));\n } else {\n isDOM = false;\n let renderedEl = el;\n if (isLazy(renderedEl)) {\n throw TypeError('`React.lazy` is not supported by shallow rendering.');\n }\n\n renderedEl = transformSuspense(renderedEl, renderedEl, { suspenseFallback });\n const { type: Component } = renderedEl;\n\n const context = getMaskedContext(Component.contextTypes, unmaskedContext);\n\n if (isMemo(el.type)) {\n const { type: InnerComp, compare } = el.type;\n\n return withSetStateAllowed(() => renderElement(\n { ...el, type: wrapPureComponent(InnerComp, compare) },\n context,\n ));\n }\n\n const isComponentStateful = isStateful(Component);\n\n if (!isComponentStateful && typeof Component === 'function') {\n return withSetStateAllowed(() => renderElement(\n { ...renderedEl, type: wrapFunctionalComponent(Component) },\n context,\n ));\n }\n\n if (isComponentStateful) {\n if (\n renderer._instance\n && el.props === renderer._instance.props\n && !shallowEqual(context, renderer._instance.context)\n ) {\n const { restore } = spyMethod(\n renderer,\n '_updateClassComponent',\n (originalMethod) => function _updateClassComponent(...args) {\n const { props } = renderer._instance;\n const clonedProps = { ...props };\n renderer._instance.props = clonedProps;\n\n const result = originalMethod.apply(renderer, args);\n\n renderer._instance.props = props;\n restore();\n\n return result;\n },\n );\n }\n\n // fix react bug; see implementation of `getEmptyStateValue`\n const emptyStateValue = getEmptyStateValue();\n if (emptyStateValue) {\n Object.defineProperty(Component.prototype, 'state', {\n configurable: true,\n enumerable: true,\n get() {\n return null;\n },\n set(value) {\n if (value !== emptyStateValue) {\n Object.defineProperty(this, 'state', {\n configurable: true,\n enumerable: true,\n value,\n writable: true,\n });\n }\n },\n });\n }\n }\n return withSetStateAllowed(() => renderElement(renderedEl, context));\n }\n },\n unmount() {\n renderer.unmount();\n },\n getNode() {\n if (isDOM) {\n return elementToTree(cachedNode);\n }\n const output = renderer.getRenderOutput();\n return {\n nodeType: nodeTypeFromType(cachedNode.type),\n type: cachedNode.type,\n props: cachedNode.props,\n key: ensureKeyOrUndefined(cachedNode.key),\n ref: cachedNode.ref,\n instance: renderer._instance,\n rendered: Array.isArray(output)\n ? flatten(output).map((el) => elementToTree(el))\n : elementToTree(output),\n };\n },\n simulateError(nodeHierarchy, rootNode, error) {\n simulateError(\n error,\n renderer._instance,\n cachedNode,\n nodeHierarchy.concat(cachedNode),\n nodeTypeFromType,\n adapter.displayNameOfNode.bind(adapter),\n is166 ? cachedNode.type : undefined,\n );\n },\n simulateEvent(node, event, ...args) {\n const handler = node.props[propFromEvent(event, eventOptions)];\n if (handler) {\n withSetStateAllowed(() => {\n // TODO(lmr): create/use synthetic events\n // TODO(lmr): emulate React's event propagation\n // ReactDOM.unstable_batchedUpdates(() => {\n handler(...args);\n // });\n });\n }\n },\n batchedUpdates(fn) {\n return fn();\n // return ReactDOM.unstable_batchedUpdates(fn);\n },\n checkPropTypes(typeSpecs, values, location, hierarchy) {\n return checkPropTypes(\n typeSpecs,\n values,\n location,\n displayNameOfNode(cachedNode),\n () => getComponentStack(hierarchy.concat([cachedNode])),\n );\n },\n };\n }\n\n createStringRenderer(options) {\n if (hasOwn(options, 'suspenseFallback')) {\n throw new TypeError('`suspenseFallback` should not be specified in options of string renderer');\n }\n return {\n render(el, context) {\n if (options.context && (el.type.contextTypes || options.childContextTypes)) {\n const childContextTypes = {\n ...(el.type.contextTypes || {}),\n ...options.childContextTypes,\n };\n const ContextWrapper = createRenderWrapper(el, context, childContextTypes);\n return ReactDOMServer.renderToStaticMarkup(React.createElement(ContextWrapper));\n }\n return ReactDOMServer.renderToStaticMarkup(el);\n },\n };\n }\n\n // Provided a bag of options, return an `EnzymeRenderer`. Some options can be implementation\n // specific, like `attach` etc. for React, but not part of this interface explicitly.\n // eslint-disable-next-line class-methods-use-this\n createRenderer(options) {\n switch (options.mode) {\n case EnzymeAdapter.MODES.MOUNT: return this.createMountRenderer(options);\n case EnzymeAdapter.MODES.SHALLOW: return this.createShallowRenderer(options);\n case EnzymeAdapter.MODES.STRING: return this.createStringRenderer(options);\n default:\n throw new Error(`Enzyme Internal Error: Unrecognized mode: ${options.mode}`);\n }\n }\n\n wrap(element) {\n return wrap(element);\n }\n\n // converts an RSTNode to the corresponding JSX Pragma Element. This will be needed\n // in order to implement the `Wrapper.mount()` and `Wrapper.shallow()` methods, but should\n // be pretty straightforward for people to implement.\n // eslint-disable-next-line class-methods-use-this\n nodeToElement(node) {\n if (!node || typeof node !== 'object') return null;\n const { type } = node;\n return React.createElement(unmemoType(type), propsWithKeysAndRef(node));\n }\n\n // eslint-disable-next-line class-methods-use-this\n matchesElementType(node, matchingType) {\n if (!node) {\n return node;\n }\n const { type } = node;\n return unmemoType(type) === unmemoType(matchingType);\n }\n\n elementToNode(element) {\n return elementToTree(element);\n }\n\n nodeToHostNode(node, supportsArray = false) {\n const nodes = nodeToHostNode(node);\n if (Array.isArray(nodes) && !supportsArray) {\n return nodes[0];\n }\n return nodes;\n }\n\n displayNameOfNode(node) {\n if (!node) return null;\n const { type, $$typeof } = node;\n const adapter = this;\n\n const nodeType = type || $$typeof;\n\n // newer node types may be undefined, so only test if the nodeType exists\n if (nodeType) {\n switch (nodeType) {\n case (is166 ? ConcurrentMode : AsyncMode) || NaN: return is166 ? 'ConcurrentMode' : 'AsyncMode';\n case Fragment || NaN: return 'Fragment';\n case StrictMode || NaN: return 'StrictMode';\n case Profiler || NaN: return 'Profiler';\n case Portal || NaN: return 'Portal';\n case Suspense || NaN: return 'Suspense';\n default:\n }\n }\n\n const $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case ContextConsumer || NaN: return 'ContextConsumer';\n case ContextProvider || NaN: return 'ContextProvider';\n case Memo || NaN: {\n const nodeName = displayNameOfNode(node);\n return typeof nodeName === 'string' ? nodeName : `Memo(${adapter.displayNameOfNode(type)})`;\n }\n case ForwardRef || NaN: {\n if (type.displayName) {\n return type.displayName;\n }\n const name = adapter.displayNameOfNode({ type: type.render });\n return name ? `ForwardRef(${name})` : 'ForwardRef';\n }\n case Lazy || NaN: {\n return 'lazy';\n }\n default: return displayNameOfNode(node);\n }\n }\n\n isValidElement(element) {\n return isElement(element);\n }\n\n isValidElementType(object) {\n return !!object && isValidElementType(object);\n }\n\n isFragment(fragment) {\n return typeOfNode(fragment) === Fragment;\n }\n\n isCustomComponent(type) {\n const fakeElement = makeFakeElement(type);\n return !!type && (\n typeof type === 'function'\n || isForwardRef(fakeElement)\n || isContextProvider(fakeElement)\n || isContextConsumer(fakeElement)\n || isSuspense(fakeElement)\n );\n }\n\n isContextConsumer(type) {\n return !!type && isContextConsumer(makeFakeElement(type));\n }\n\n isCustomComponentElement(inst) {\n if (!inst || !this.isValidElement(inst)) {\n return false;\n }\n return this.isCustomComponent(inst.type);\n }\n\n getProviderFromConsumer(Consumer) {\n // React stores references to the Provider on a Consumer differently across versions.\n if (Consumer) {\n let Provider;\n if (Consumer._context) { // check this first, to avoid a deprecation warning\n ({ Provider } = Consumer._context);\n } else if (Consumer.Provider) {\n ({ Provider } = Consumer);\n }\n if (Provider) {\n return Provider;\n }\n }\n throw new Error('Enzyme Internal Error: can’t figure out how to get Provider from Consumer');\n }\n\n createElement(...args) {\n return React.createElement(...args);\n }\n\n wrapWithWrappingComponent(node, options) {\n return {\n RootFinder,\n node: wrapWithWrappingComponent(React.createElement, node, options),\n };\n }\n}\n\nexport default ReactSixteenAdapter;\n"],"mappings":"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"}