Socket
Socket
Sign inDemoInstall

enzyme-adapter-react-16

Package Overview
Dependencies
Maintainers
3
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

enzyme-adapter-react-16 - npm Package Compare versions

Comparing version 1.10.0 to 1.11.0

182

build/ReactSixteenAdapter.js

@@ -27,2 +27,4 @@ 'use strict';

var _package = require('react-test-renderer/package');
var _testUtils = require('react-dom/test-utils');

@@ -32,2 +34,6 @@

var _semver = require('semver');
var _semver2 = _interopRequireDefault(_semver);
var _checkPropTypes2 = require('prop-types/checkPropTypes');

@@ -73,3 +79,6 @@

var is166 = is165 && !_react2['default'].unstable_AsyncMode; // 16.6+
var is168 = is166 && typeof _testUtils2['default'].act === 'function';
var hasShouldComponentUpdateBug = _semver2['default'].satisfies(_package.version, '< 16.8');
// Lazily populated if DOM is available.

@@ -325,2 +334,13 @@ var FiberTags = null;

function wrapAct(fn) {
if (!is168) {
return fn();
}
var returnVal = void 0;
_testUtils2['default'].act(function () {
returnVal = fn();
});
return returnVal;
}
var ReactSixteenAdapter = function (_EnzymeAdapter) {

@@ -343,3 +363,5 @@ _inherits(ReactSixteenAdapter, _EnzymeAdapter);

},
getDerivedStateFromProps: true,
getDerivedStateFromProps: {
hasShouldComponentUpdateBug: hasShouldComponentUpdateBug
},
getSnapshotBeforeUpdate: true,

@@ -375,21 +397,23 @@ setState: {

function render(el, context, callback) {
if (instance === null) {
var type = el.type,
props = el.props,
ref = el.ref;
return wrapAct(function () {
if (instance === null) {
var type = el.type,
props = el.props,
ref = el.ref;
var wrapperProps = (0, _object2['default'])({
Component: type,
props: props,
context: context
}, ref && { ref: ref });
var ReactWrapperComponent = (0, _enzymeAdapterUtils.createMountWrapper)(el, (0, _object2['default'])({}, options, { adapter: adapter }));
var wrappedEl = _react2['default'].createElement(ReactWrapperComponent, wrapperProps);
instance = hydrateIn ? _reactDom2['default'].hydrate(wrappedEl, domNode) : _reactDom2['default'].render(wrappedEl, domNode);
if (typeof callback === 'function') {
callback();
var wrapperProps = (0, _object2['default'])({
Component: type,
props: props,
context: context
}, ref && { ref: ref });
var ReactWrapperComponent = (0, _enzymeAdapterUtils.createMountWrapper)(el, (0, _object2['default'])({}, options, { adapter: adapter }));
var wrappedEl = _react2['default'].createElement(ReactWrapperComponent, wrapperProps);
instance = hydrateIn ? _reactDom2['default'].hydrate(wrappedEl, domNode) : _reactDom2['default'].render(wrappedEl, domNode);
if (typeof callback === 'function') {
callback();
}
} else {
instance.setChildProps(el.props, context, callback);
}
} else {
instance.setChildProps(el.props, context, callback);
}
});
}

@@ -462,72 +486,74 @@

function render(el, unmaskedContext) {
cachedNode = el;
/* eslint consistent-return: 0 */
if (typeof el.type === 'string') {
isDOM = true;
} else {
isDOM = false;
var Component = el.type;
return wrapAct(function () {
cachedNode = el;
/* eslint consistent-return: 0 */
if (typeof el.type === 'string') {
isDOM = true;
} else {
isDOM = false;
var Component = el.type;
var isStateful = Component.prototype && (Component.prototype.isReactComponent || Array.isArray(Component.__reactAutoBindPairs) // fallback for createClass components
);
var isStateful = Component.prototype && (Component.prototype.isReactComponent || Array.isArray(Component.__reactAutoBindPairs) // fallback for createClass components
);
var context = (0, _enzymeAdapterUtils.getMaskedContext)(Component.contextTypes, unmaskedContext);
var context = (0, _enzymeAdapterUtils.getMaskedContext)(Component.contextTypes, unmaskedContext);
if (!isStateful && (0, _reactIs.isMemo)(el.type)) {
var InnerComp = el.type.type;
var wrappedEl = (0, _object2['default'])(function () {
return InnerComp.apply(undefined, arguments);
}, // eslint-disable-line new-cap
InnerComp);
return (0, _enzymeAdapterUtils.withSetStateAllowed)(function () {
return renderer.render((0, _object2['default'])({}, el, { type: wrappedEl }), context);
});
}
if (!isStateful && (0, _reactIs.isMemo)(el.type)) {
var InnerComp = el.type.type;
var wrappedEl = (0, _object2['default'])(function () {
return InnerComp.apply(undefined, arguments);
}, // eslint-disable-line new-cap
InnerComp);
return (0, _enzymeAdapterUtils.withSetStateAllowed)(function () {
return renderer.render((0, _object2['default'])({}, el, { type: wrappedEl }), context);
});
}
if (!isStateful && typeof Component === 'function') {
var _wrappedEl = (0, _object2['default'])(function () {
return Component.apply(undefined, arguments);
}, // eslint-disable-line new-cap
Component);
return (0, _enzymeAdapterUtils.withSetStateAllowed)(function () {
return renderer.render((0, _object2['default'])({}, el, { type: _wrappedEl }), context);
});
}
if (isStateful) {
// fix react bug; see implementation of `getEmptyStateValue`
var emptyStateValue = getEmptyStateValue();
if (emptyStateValue) {
Object.defineProperty(Component.prototype, 'state', {
configurable: true,
enumerable: true,
get: function () {
function get() {
return null;
}
if (!isStateful && typeof Component === 'function') {
var _wrappedEl = (0, _object2['default'])(function () {
return Component.apply(undefined, arguments);
}, // eslint-disable-line new-cap
Component);
return (0, _enzymeAdapterUtils.withSetStateAllowed)(function () {
return renderer.render((0, _object2['default'])({}, el, { type: _wrappedEl }), context);
});
}
if (isStateful) {
// fix react bug; see implementation of `getEmptyStateValue`
var emptyStateValue = getEmptyStateValue();
if (emptyStateValue) {
Object.defineProperty(Component.prototype, 'state', {
configurable: true,
enumerable: true,
get: function () {
function get() {
return null;
}
return get;
}(),
set: function () {
function set(value) {
if (value !== emptyStateValue) {
Object.defineProperty(this, 'state', {
configurable: true,
enumerable: true,
value: value,
writable: true
});
return get;
}(),
set: function () {
function set(value) {
if (value !== emptyStateValue) {
Object.defineProperty(this, 'state', {
configurable: true,
enumerable: true,
value: value,
writable: true
});
}
return true;
}
return true;
}
return set;
}()
});
return set;
}()
});
}
}
return (0, _enzymeAdapterUtils.withSetStateAllowed)(function () {
return renderer.render(el, context);
});
}
return (0, _enzymeAdapterUtils.withSetStateAllowed)(function () {
return renderer.render(el, context);
});
}
});
}

@@ -534,0 +560,0 @@

{
"name": "enzyme-adapter-react-16",
"version": "1.10.0",
"version": "1.11.0",
"description": "JavaScript Testing utilities for React",

@@ -38,8 +38,9 @@ "homepage": "http://airbnb.io/enzyme/",

"dependencies": {
"enzyme-adapter-utils": "^1.10.0",
"enzyme-adapter-utils": "^1.10.1",
"object.assign": "^4.1.0",
"object.values": "^1.1.0",
"prop-types": "^15.6.2",
"react-is": "^16.7.0",
"react-test-renderer": "^16.0.0-0"
"prop-types": "^15.7.2",
"react-is": "^16.8.4",
"react-test-renderer": "^16.0.0-0",
"semver": "^5.6.0"
},

@@ -56,3 +57,3 @@ "peerDependencies": {

"enzyme": "^3.0.0",
"eslint": "^5.13.0",
"eslint": "^5.15.1",
"eslint-config-airbnb": "^17.1.0",

@@ -59,0 +60,0 @@ "eslint-plugin-import": "^2.16.0",

@@ -8,4 +8,6 @@ /* eslint no-use-before-define: 0 */

import ShallowRenderer from 'react-test-renderer/shallow';
import { version as testRendererVersion } from 'react-test-renderer/package';
// eslint-disable-next-line import/no-unresolved
import TestUtils from 'react-dom/test-utils';
import semver from 'semver';
import checkPropTypes from 'prop-types/checkPropTypes';

@@ -54,3 +56,6 @@ import {

const is166 = is165 && !React.unstable_AsyncMode; // 16.6+
const is168 = is166 && typeof TestUtils.act === 'function';
const hasShouldComponentUpdateBug = semver.satisfies(testRendererVersion, '< 16.8');
// Lazily populated if DOM is available.

@@ -284,2 +289,11 @@ let FiberTags = null;

function wrapAct(fn) {
if (!is168) {
return fn();
}
let returnVal;
TestUtils.act(() => { returnVal = fn(); });
return returnVal;
}
class ReactSixteenAdapter extends EnzymeAdapter {

@@ -298,3 +312,5 @@ constructor() {

},
getDerivedStateFromProps: true,
getDerivedStateFromProps: {
hasShouldComponentUpdateBug,
},
getSnapshotBeforeUpdate: true,

@@ -323,21 +339,23 @@ setState: {

render(el, context, callback) {
if (instance === null) {
const { type, props, ref } = el;
const wrapperProps = {
Component: type,
props,
context,
...(ref && { ref }),
};
const ReactWrapperComponent = createMountWrapper(el, { ...options, adapter });
const wrappedEl = React.createElement(ReactWrapperComponent, wrapperProps);
instance = hydrateIn
? ReactDOM.hydrate(wrappedEl, domNode)
: ReactDOM.render(wrappedEl, domNode);
if (typeof callback === 'function') {
callback();
return wrapAct(() => {
if (instance === null) {
const { type, props, ref } = el;
const wrapperProps = {
Component: type,
props,
context,
...(ref && { ref }),
};
const ReactWrapperComponent = createMountWrapper(el, { ...options, adapter });
const wrappedEl = React.createElement(ReactWrapperComponent, wrapperProps);
instance = hydrateIn
? ReactDOM.hydrate(wrappedEl, domNode)
: ReactDOM.render(wrappedEl, domNode);
if (typeof callback === 'function') {
callback();
}
} else {
instance.setChildProps(el.props, context, callback);
}
} else {
instance.setChildProps(el.props, context, callback);
}
});
},

@@ -386,59 +404,61 @@ unmount() {

render(el, unmaskedContext) {
cachedNode = el;
/* eslint consistent-return: 0 */
if (typeof el.type === 'string') {
isDOM = true;
} else {
isDOM = false;
const { type: Component } = el;
return wrapAct(() => {
cachedNode = el;
/* eslint consistent-return: 0 */
if (typeof el.type === 'string') {
isDOM = true;
} else {
isDOM = false;
const { type: Component } = el;
const isStateful = Component.prototype && (
Component.prototype.isReactComponent
|| Array.isArray(Component.__reactAutoBindPairs) // fallback for createClass components
);
const isStateful = Component.prototype && (
Component.prototype.isReactComponent
|| Array.isArray(Component.__reactAutoBindPairs) // fallback for createClass components
);
const context = getMaskedContext(Component.contextTypes, unmaskedContext);
const context = getMaskedContext(Component.contextTypes, unmaskedContext);
if (!isStateful && isMemo(el.type)) {
const InnerComp = el.type.type;
const wrappedEl = Object.assign(
(...args) => InnerComp(...args), // eslint-disable-line new-cap
InnerComp,
);
return withSetStateAllowed(() => renderer.render({ ...el, type: wrappedEl }, context));
}
if (!isStateful && isMemo(el.type)) {
const InnerComp = el.type.type;
const wrappedEl = Object.assign(
(...args) => InnerComp(...args), // eslint-disable-line new-cap
InnerComp,
);
return withSetStateAllowed(() => renderer.render({ ...el, type: wrappedEl }, context));
}
if (!isStateful && typeof Component === 'function') {
const wrappedEl = Object.assign(
(...args) => Component(...args), // eslint-disable-line new-cap
Component,
);
return withSetStateAllowed(() => renderer.render({ ...el, type: wrappedEl }, context));
}
if (isStateful) {
// fix react bug; see implementation of `getEmptyStateValue`
const emptyStateValue = getEmptyStateValue();
if (emptyStateValue) {
Object.defineProperty(Component.prototype, 'state', {
configurable: true,
enumerable: true,
get() {
return null;
},
set(value) {
if (value !== emptyStateValue) {
Object.defineProperty(this, 'state', {
configurable: true,
enumerable: true,
value,
writable: true,
});
}
return true;
},
});
if (!isStateful && typeof Component === 'function') {
const wrappedEl = Object.assign(
(...args) => Component(...args), // eslint-disable-line new-cap
Component,
);
return withSetStateAllowed(() => renderer.render({ ...el, type: wrappedEl }, context));
}
if (isStateful) {
// fix react bug; see implementation of `getEmptyStateValue`
const emptyStateValue = getEmptyStateValue();
if (emptyStateValue) {
Object.defineProperty(Component.prototype, 'state', {
configurable: true,
enumerable: true,
get() {
return null;
},
set(value) {
if (value !== emptyStateValue) {
Object.defineProperty(this, 'state', {
configurable: true,
enumerable: true,
value,
writable: true,
});
}
return true;
},
});
}
}
return withSetStateAllowed(() => renderer.render(el, context));
}
return withSetStateAllowed(() => renderer.render(el, context));
}
});
},

@@ -445,0 +465,0 @@ unmount() {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc