Skip to content

Commit

Permalink
Use || NaN to ensure missing React properties do not match
Browse files Browse the repository at this point in the history
  • Loading branch information
ljharb committed Aug 28, 2018
1 parent 4c24a76 commit 196b410
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -417,26 +417,26 @@ class ReactSixteenThreeAdapter extends EnzymeAdapter {
displayNameOfNode(node) {
if (!node) return null;
const { type, $$typeof } = node;

const nodeType = type || $$typeof;

// newer node types may be undefined, so only test if the nodeType exists
if (nodeType) {
switch (nodeType) {
case AsyncMode: return 'AsyncMode';
case Fragment: return 'Fragment';
case StrictMode: return 'StrictMode';
case Profiler: return 'Profiler';
case Portal: return 'Portal';
case AsyncMode || NaN: return 'AsyncMode';
case Fragment || NaN: return 'Fragment';
case StrictMode || NaN: return 'StrictMode';
case Profiler || NaN: return 'Profiler';
case Portal || NaN: return 'Portal';
}
}

const $$typeofType = type && type.$$typeof;

switch ($$typeofType) {
case ContextConsumer: return 'ContextConsumer';
case ContextProvider: return 'ContextProvider';
case ForwardRef: {
case ContextConsumer || NaN: return 'ContextConsumer';
case ContextProvider || NaN: return 'ContextProvider';
case ForwardRef || NaN: {
const name = type.render.displayName || functionName(type.render);
return name ? `ForwardRef(${name})` : 'ForwardRef';
}
Expand Down
42 changes: 23 additions & 19 deletions packages/enzyme-adapter-react-16/src/ReactSixteenAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -417,26 +417,30 @@ class ReactSixteenAdapter extends EnzymeAdapter {
if (!node) return null;
const { type, $$typeof } = node;

switch (type || $$typeof) {
case AsyncMode: return 'AsyncMode';
case Fragment: return 'Fragment';
case StrictMode: return 'StrictMode';
case Profiler: return 'Profiler';
case Portal: return 'Portal';

default: {
const $$typeofType = type && type.$$typeof;

switch ($$typeofType) {
case ContextConsumer: return 'ContextConsumer';
case ContextProvider: return 'ContextProvider';
case ForwardRef: {
const name = type.render.displayName || functionName(type.render);
return name ? `ForwardRef(${name})` : 'ForwardRef';
}
default: return displayNameOfNode(node);
}
const nodeType = type || $$typeof;

// newer node types may be undefined, so only test if the nodeType exists
if (nodeType) {
switch (nodeType) {
case AsyncMode || NaN: return 'AsyncMode';
case Fragment || NaN: return 'Fragment';
case StrictMode || NaN: return 'StrictMode';
case Profiler || NaN: return 'Profiler';
case Portal || NaN: return 'Portal';
default:
}
}

const $$typeofType = type && type.$$typeof;

switch ($$typeofType) {
case ContextConsumer || NaN: return 'ContextConsumer';
case ContextProvider || NaN: return 'ContextProvider';
case ForwardRef || NaN: {
const name = type.render.displayName || functionName(type.render);
return name ? `ForwardRef(${name})` : 'ForwardRef';
}
default: return displayNameOfNode(node);
}
}

Expand Down

0 comments on commit 196b410

Please sign in to comment.