Skip to content

Commit

Permalink
[enzyme-adapter-react-{16,16.3}] [refactor] use react-is predicates…
Browse files Browse the repository at this point in the history
… more
  • Loading branch information
ljharb committed Apr 2, 2019
1 parent a5edaf1 commit 0e1f4b8
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 14 deletions.
18 changes: 12 additions & 6 deletions packages/enzyme-adapter-react-16.3/src/ReactSixteenThreeAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@ import ShallowRenderer from 'react-test-renderer/shallow';
import TestUtils from 'react-dom/test-utils';
import checkPropTypes from 'prop-types/checkPropTypes';
import {
isElement,
isPortal,
isValidElementType,
AsyncMode,
Fragment,
ContextConsumer,
ContextProvider,
StrictMode,
Element,
ForwardRef,
Fragment,
isElement,
isForwardRef,
isPortal,
isValidElementType,
Portal,
StrictMode,
} from 'react-is';
import { EnzymeAdapter } from 'enzyme';
import { typeOfNode } from 'enzyme/build/Utils';
Expand Down Expand Up @@ -537,7 +539,11 @@ class ReactSixteenThreeAdapter extends EnzymeAdapter {
}

isCustomComponent(type) {
return !!type && (typeof type === 'function' || type.$$typeof === ForwardRef);
const fakeElement = { $$typeof: Element, type };
return !!type && (
typeof type === 'function'
|| isForwardRef(fakeElement)
);
}

isCustomComponentElement(inst) {
Expand Down
22 changes: 14 additions & 8 deletions packages/enzyme-adapter-react-16/src/ReactSixteenAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,22 @@ import TestUtils from 'react-dom/test-utils';
import semver from 'semver';
import checkPropTypes from 'prop-types/checkPropTypes';
import {
isElement,
isPortal,
isValidElementType,
AsyncMode,
ConcurrentMode,
Fragment,
ContextConsumer,
ContextProvider,
StrictMode,
Element,
ForwardRef,
Profiler,
Portal,
Fragment,
isElement,
isForwardRef,
isMemo,
isPortal,
isValidElementType,
Memo,
Portal,
Profiler,
StrictMode,
} from 'react-is';
import { EnzymeAdapter } from 'enzyme';
import { typeOfNode } from 'enzyme/build/Utils';
Expand Down Expand Up @@ -666,7 +668,11 @@ class ReactSixteenAdapter extends EnzymeAdapter {
}

isCustomComponent(type) {
return !!type && (typeof type === 'function' || type.$$typeof === ForwardRef);
const fakeElement = { $$typeof: Element, type };
return !!type && (
typeof type === 'function'
|| isForwardRef(fakeElement)
);
}

isCustomComponentElement(inst) {
Expand Down

0 comments on commit 0e1f4b8

Please sign in to comment.