diff --git a/package.json b/package.json
index 73c007dfa3f22..23692fd8d4ca4 100644
--- a/package.json
+++ b/package.json
@@ -69,7 +69,7 @@
"gzip-js": "~0.3.2",
"gzip-size": "^3.0.0",
"jasmine-check": "^1.0.0-rc.0",
- "jest": "^23.0.1",
+ "jest": "^23.1.0",
"jest-diff": "^23.0.1",
"merge-stream": "^1.0.0",
"minimatch": "^3.0.4",
diff --git a/packages/react-dom/src/__tests__/ReactBrowserEventEmitter-test.internal.js b/packages/react-dom/src/__tests__/ReactBrowserEventEmitter-test.internal.js
index 85d6e22dfbc07..86a668a4bbc17 100644
--- a/packages/react-dom/src/__tests__/ReactBrowserEventEmitter-test.internal.js
+++ b/packages/react-dom/src/__tests__/ReactBrowserEventEmitter-test.internal.js
@@ -42,6 +42,8 @@ let getListener;
let putListener;
let deleteAllListeners;
+let container;
+
function registerSimpleTestHandler() {
putListener(CHILD, ON_CLICK_KEY, LISTENER);
const listener = getListener(CHILD, ON_CLICK_KEY);
@@ -63,7 +65,8 @@ describe('ReactBrowserEventEmitter', () => {
ReactBrowserEventEmitter = require('../events/ReactBrowserEventEmitter');
ReactTestUtils = require('react-dom/test-utils');
- const container = document.createElement('div');
+ container = document.createElement('div');
+ document.body.appendChild(container);
let GRANDPARENT_PROPS = {};
let PARENT_PROPS = {};
@@ -129,6 +132,11 @@ describe('ReactBrowserEventEmitter', () => {
idCallOrder = [];
});
+ afterEach(() => {
+ document.body.removeChild(container);
+ container = null;
+ });
+
it('should store a listener correctly', () => {
registerSimpleTestHandler();
const listener = getListener(CHILD, ON_CLICK_KEY);
@@ -150,17 +158,17 @@ describe('ReactBrowserEventEmitter', () => {
it('should invoke a simple handler registered on a node', () => {
registerSimpleTestHandler();
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(LISTENER).toHaveBeenCalledTimes(1);
});
it('should not invoke handlers if ReactBrowserEventEmitter is disabled', () => {
registerSimpleTestHandler();
ReactBrowserEventEmitter.setEnabled(false);
- ReactTestUtils.SimulateNative.click(CHILD);
+ CHILD.click();
expect(LISTENER).toHaveBeenCalledTimes(0);
ReactBrowserEventEmitter.setEnabled(true);
- ReactTestUtils.SimulateNative.click(CHILD);
+ CHILD.click();
expect(LISTENER).toHaveBeenCalledTimes(1);
});
@@ -168,7 +176,7 @@ describe('ReactBrowserEventEmitter', () => {
putListener(CHILD, ON_CLICK_KEY, recordID.bind(null, CHILD));
putListener(PARENT, ON_CLICK_KEY, recordID.bind(null, PARENT));
putListener(GRANDPARENT, ON_CLICK_KEY, recordID.bind(null, GRANDPARENT));
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder.length).toBe(3);
expect(idCallOrder[0]).toBe(CHILD);
expect(idCallOrder[1]).toBe(PARENT);
@@ -179,7 +187,7 @@ describe('ReactBrowserEventEmitter', () => {
putListener(GRANDPARENT, ON_CLICK_KEY, recordID.bind(null, 'GRANDPARENT'));
putListener(PARENT, ON_CLICK_KEY, recordID.bind(null, 'PARENT'));
putListener(CHILD, ON_CLICK_KEY, recordID.bind(null, 'CHILD'));
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder).toEqual(['CHILD', 'PARENT', 'GRANDPARENT']);
idCallOrder = [];
@@ -191,7 +199,7 @@ describe('ReactBrowserEventEmitter', () => {
recordID.bind(null, 'UPDATED_GRANDPARENT'),
);
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder).toEqual(['CHILD', 'PARENT', 'UPDATED_GRANDPARENT']);
});
@@ -224,7 +232,7 @@ describe('ReactBrowserEventEmitter', () => {
recordID(GRANDPARENT);
expect(event.currentTarget).toBe(GRANDPARENT);
});
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder.length).toBe(3);
expect(idCallOrder[0]).toBe(CHILD);
expect(idCallOrder[1]).toBe(PARENT);
@@ -239,7 +247,7 @@ describe('ReactBrowserEventEmitter', () => {
recordIDAndStopPropagation.bind(null, PARENT),
);
putListener(GRANDPARENT, ON_CLICK_KEY, recordID.bind(null, GRANDPARENT));
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder.length).toBe(2);
expect(idCallOrder[0]).toBe(CHILD);
expect(idCallOrder[1]).toBe(PARENT);
@@ -254,7 +262,7 @@ describe('ReactBrowserEventEmitter', () => {
e.isPropagationStopped = () => true;
});
putListener(GRANDPARENT, ON_CLICK_KEY, recordID.bind(null, GRANDPARENT));
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder.length).toBe(2);
expect(idCallOrder[0]).toBe(CHILD);
expect(idCallOrder[1]).toBe(PARENT);
@@ -268,7 +276,7 @@ describe('ReactBrowserEventEmitter', () => {
);
putListener(PARENT, ON_CLICK_KEY, recordID.bind(null, PARENT));
putListener(GRANDPARENT, ON_CLICK_KEY, recordID.bind(null, GRANDPARENT));
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder.length).toBe(1);
expect(idCallOrder[0]).toBe(CHILD);
});
@@ -277,7 +285,7 @@ describe('ReactBrowserEventEmitter', () => {
putListener(CHILD, ON_CLICK_KEY, recordIDAndReturnFalse.bind(null, CHILD));
putListener(PARENT, ON_CLICK_KEY, recordID.bind(null, PARENT));
putListener(GRANDPARENT, ON_CLICK_KEY, recordID.bind(null, GRANDPARENT));
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(idCallOrder.length).toBe(3);
expect(idCallOrder[0]).toBe(CHILD);
expect(idCallOrder[1]).toBe(PARENT);
@@ -300,7 +308,7 @@ describe('ReactBrowserEventEmitter', () => {
};
putListener(CHILD, ON_CLICK_KEY, handleChildClick);
putListener(PARENT, ON_CLICK_KEY, handleParentClick);
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(handleParentClick).toHaveBeenCalledTimes(1);
});
@@ -310,7 +318,7 @@ describe('ReactBrowserEventEmitter', () => {
putListener(PARENT, ON_CLICK_KEY, handleParentClick);
};
putListener(CHILD, ON_CLICK_KEY, handleChildClick);
- ReactTestUtils.Simulate.click(CHILD);
+ CHILD.click();
expect(handleParentClick).toHaveBeenCalledTimes(0);
});
diff --git a/packages/react-dom/src/__tests__/ReactComponentLifeCycle-test.js b/packages/react-dom/src/__tests__/ReactComponentLifeCycle-test.js
index 965b04f30aaa9..7be40ebbaee1f 100644
--- a/packages/react-dom/src/__tests__/ReactComponentLifeCycle-test.js
+++ b/packages/react-dom/src/__tests__/ReactComponentLifeCycle-test.js
@@ -1065,7 +1065,9 @@ describe('ReactComponentLifeCycle', () => {
}
}
- ReactTestUtils.renderIntoDocument();
+ const container = document.createElement('div');
+ document.body.appendChild(container);
+ ReactDOM.render(, container);
expect(divRef.current.textContent).toBe('remote:0, local:0');
// Trigger setState() calls
@@ -1073,8 +1075,10 @@ describe('ReactComponentLifeCycle', () => {
expect(divRef.current.textContent).toBe('remote:1, local:1');
// Trigger batched setState() calls
- ReactTestUtils.Simulate.click(divRef.current);
+ divRef.current.click();
expect(divRef.current.textContent).toBe('remote:2, local:2');
+
+ document.body.removeChild(container);
});
it('should pass the return value from getSnapshotBeforeUpdate to componentDidUpdate', () => {
diff --git a/packages/react-dom/src/__tests__/ReactCompositeComponent-test.js b/packages/react-dom/src/__tests__/ReactCompositeComponent-test.js
index 216afa8550d3e..4b4e4b338b820 100644
--- a/packages/react-dom/src/__tests__/ReactCompositeComponent-test.js
+++ b/packages/react-dom/src/__tests__/ReactCompositeComponent-test.js
@@ -140,13 +140,15 @@ describe('ReactCompositeComponent', () => {
});
it('should react to state changes from callbacks', () => {
- const instance = ReactTestUtils.renderIntoDocument();
+ const container = document.createElement('div');
+ document.body.appendChild(container);
+ const instance = ReactDOM.render(, container);
let el = ReactDOM.findDOMNode(instance);
expect(el.tagName).toBe('A');
-
- ReactTestUtils.Simulate.click(el);
+ el.click();
el = ReactDOM.findDOMNode(instance);
expect(el.tagName).toBe('B');
+ document.body.removeChild(container);
});
it('should rewire refs when rendering to different child types', () => {
diff --git a/packages/react-dom/src/__tests__/ReactCompositeComponentNestedState-test.js b/packages/react-dom/src/__tests__/ReactCompositeComponentNestedState-test.js
index 94a33a457a3f0..e233e78b72082 100644
--- a/packages/react-dom/src/__tests__/ReactCompositeComponentNestedState-test.js
+++ b/packages/react-dom/src/__tests__/ReactCompositeComponentNestedState-test.js
@@ -11,13 +11,11 @@
let React;
let ReactDOM;
-let ReactTestUtils;
describe('ReactCompositeComponentNestedState-state', () => {
beforeEach(() => {
React = require('react');
ReactDOM = require('react-dom');
- ReactTestUtils = require('react-dom/test-utils');
});
it('should provide up to date values for props', () => {
@@ -102,7 +100,7 @@ describe('ReactCompositeComponentNestedState-state', () => {
void ReactDOM.render(, container);
// click "light green"
- ReactTestUtils.Simulate.click(container.childNodes[0].childNodes[3]);
+ container.childNodes[0].childNodes[3].click();
expect(logger.mock.calls).toEqual([
['parent-render', 'blue'],
diff --git a/packages/react-dom/src/__tests__/ReactDOM-test.js b/packages/react-dom/src/__tests__/ReactDOM-test.js
index cca40165fd458..639915189a23d 100644
--- a/packages/react-dom/src/__tests__/ReactDOM-test.js
+++ b/packages/react-dom/src/__tests__/ReactDOM-test.js
@@ -308,15 +308,9 @@ describe('ReactDOM', () => {
it("shouldn't fire duplicate event handler while handling other nested dispatch", () => {
const actual = [];
- function click(node) {
- ReactTestUtils.Simulate.click(node, {
- path: [node, container],
- });
- }
-
class Wrapper extends React.Component {
componentDidMount() {
- click(this.ref1);
+ this.ref1.click();
}
render() {
@@ -325,7 +319,7 @@ describe('ReactDOM', () => {
{
actual.push('1st node clicked');
- click(this.ref2);
+ this.ref2.click();
}}
ref={ref => (this.ref1 = ref)}
/>
@@ -341,6 +335,7 @@ describe('ReactDOM', () => {
}
const container = document.createElement('div');
+ document.body.appendChild(container);
ReactDOM.render(
, container);
const expected = [
@@ -348,6 +343,8 @@ describe('ReactDOM', () => {
"2nd node clicked imperatively from 1st's handler",
];
expect(actual).toEqual(expected);
+
+ document.body.removeChild(container);
});
it('should not crash with devtools installed', () => {
diff --git a/packages/react-dom/src/__tests__/ReactDOMFiber-test.js b/packages/react-dom/src/__tests__/ReactDOMFiber-test.js
index 911f161b0e660..0eb37f00d0d9d 100644
--- a/packages/react-dom/src/__tests__/ReactDOMFiber-test.js
+++ b/packages/react-dom/src/__tests__/ReactDOMFiber-test.js
@@ -11,7 +11,6 @@
const React = require('react');
const ReactDOM = require('react-dom');
-const ReactTestUtils = require('react-dom/test-utils');
const PropTypes = require('prop-types');
describe('ReactDOMFiber', () => {
@@ -843,6 +842,7 @@ describe('ReactDOMFiber', () => {
it('should bubble events from the portal to the parent', () => {
const portalContainer = document.createElement('div');
+ document.body.appendChild(portalContainer);
const ops = [];
let portal = null;
@@ -863,13 +863,17 @@ describe('ReactDOMFiber', () => {
expect(portal.tagName).toBe('DIV');
- ReactTestUtils.Simulate.click(portal);
+ portal.click();
expect(ops).toEqual(['portal clicked', 'parent clicked']);
+
+ document.body.removeChild(portalContainer);
});
it('should not onMouseLeave when staying in the portal', () => {
const portalContainer = document.createElement('div');
+ document.body.appendChild(container);
+ document.body.appendChild(portalContainer);
let ops = [];
let firstTarget = null;
@@ -878,14 +882,22 @@ describe('ReactDOMFiber', () => {
function simulateMouseMove(from, to) {
if (from) {
- ReactTestUtils.SimulateNative.mouseOut(from, {
- relatedTarget: to,
- });
+ from.dispatchEvent(
+ new MouseEvent('mouseout', {
+ bubbles: true,
+ cancelable: true,
+ relatedTarget: to,
+ }),
+ );
}
if (to) {
- ReactTestUtils.SimulateNative.mouseOver(to, {
- relatedTarget: from,
- });
+ to.dispatchEvent(
+ new MouseEvent('mouseover', {
+ bubbles: true,
+ cancelable: true,
+ relatedTarget: from,
+ }),
+ );
}
}
@@ -928,6 +940,9 @@ describe('ReactDOMFiber', () => {
'leave portal',
'leave parent', // Only when we leave the portal does onMouseLeave fire.
]);
+
+ document.body.removeChild(container);
+ document.body.removeChild(portalContainer);
});
it('should throw on bad createPortal argument', () => {
@@ -967,6 +982,7 @@ describe('ReactDOMFiber', () => {
});
it('should not update event handlers until commit', () => {
+ document.body.appendChild(container);
let ops = [];
const handlerA = () => ops.push('A');
const handlerB = () => ops.push('B');
@@ -988,7 +1004,7 @@ describe('ReactDOMFiber', () => {
class Click extends React.Component {
constructor() {
super();
- click(node);
+ node.click();
}
render() {
return null;
@@ -1000,11 +1016,7 @@ describe('ReactDOMFiber', () => {
const node = container.firstChild;
expect(node.tagName).toEqual('DIV');
- function click(target) {
- ReactTestUtils.Simulate.click(target);
- }
-
- click(node);
+ node.click();
expect(ops).toEqual(['A']);
ops = [];
@@ -1012,7 +1024,7 @@ describe('ReactDOMFiber', () => {
// Render with the other event handler.
inst.flip();
- click(node);
+ node.click();
expect(ops).toEqual(['B']);
ops = [];
@@ -1020,7 +1032,7 @@ describe('ReactDOMFiber', () => {
// Rerender without changing any props.
inst.tick();
- click(node);
+ node.click();
expect(ops).toEqual(['B']);
ops = [];
@@ -1040,8 +1052,10 @@ describe('ReactDOMFiber', () => {
ops = [];
// Any click that happens after commit, should invoke A.
- click(node);
+ node.click();
expect(ops).toEqual(['A']);
+
+ document.body.removeChild(container);
});
it('should not crash encountering low-priority tree', () => {
diff --git a/packages/react-dom/src/__tests__/ReactEventIndependence-test.js b/packages/react-dom/src/__tests__/ReactEventIndependence-test.js
index 5133c3d8181b1..588833c688aed 100644
--- a/packages/react-dom/src/__tests__/ReactEventIndependence-test.js
+++ b/packages/react-dom/src/__tests__/ReactEventIndependence-test.js
@@ -11,7 +11,6 @@
let React;
let ReactDOM;
-let ReactTestUtils;
describe('ReactEventIndependence', () => {
beforeEach(() => {
@@ -19,38 +18,45 @@ describe('ReactEventIndependence', () => {
React = require('react');
ReactDOM = require('react-dom');
- ReactTestUtils = require('react-dom/test-utils');
});
it('does not crash with other react inside', () => {
let clicks = 0;
- const div = ReactTestUtils.renderIntoDocument(
+ const container = document.createElement('div');
+ document.body.appendChild(container);
+ const div = ReactDOM.render(
clicks++}
dangerouslySetInnerHTML={{
__html: '
',
}}
/>,
+ container,
);
- ReactTestUtils.SimulateNative.click(div.firstChild);
+
+ div.firstChild.click();
expect(clicks).toBe(1);
+ document.body.removeChild(container);
});
it('does not crash with other react outside', () => {
let clicks = 0;
const outer = document.createElement('div');
+ document.body.appendChild(outer);
outer.setAttribute('data-reactid', '.z');
const inner = ReactDOM.render(
,
outer,
);
- ReactTestUtils.SimulateNative.click(inner);
+ inner.click();
expect(clicks).toBe(1);
+ document.body.removeChild(outer);
});
it('does not when event fired on unmounted tree', () => {
let clicks = 0;
const container = document.createElement('div');
+ document.body.appendChild(container);
const button = ReactDOM.render(
,
container,
@@ -59,9 +65,10 @@ describe('ReactEventIndependence', () => {
// Now we unmount the component, as if caused by a non-React event handler
// for the same click we're about to simulate, like closing a layer:
ReactDOM.unmountComponentAtNode(container);
- ReactTestUtils.SimulateNative.click(button);
+ button.click();
// Since the tree is unmounted, we don't dispatch the click event.
expect(clicks).toBe(0);
+ document.body.removeChild(container);
});
});
diff --git a/packages/react-dom/src/__tests__/ReactServerRenderingHydration.js b/packages/react-dom/src/__tests__/ReactServerRenderingHydration.js
index 3fa9a18eaa437..afa6de92337b4 100644
--- a/packages/react-dom/src/__tests__/ReactServerRenderingHydration.js
+++ b/packages/react-dom/src/__tests__/ReactServerRenderingHydration.js
@@ -12,7 +12,6 @@
let React;
let ReactDOM;
let ReactDOMServer;
-let ReactTestUtils;
// These tests rely both on ReactDOMServer and ReactDOM.
// If a test only needs ReactDOMServer, put it in ReactServerRendering-test instead.
@@ -21,7 +20,6 @@ describe('ReactDOMServerHydration', () => {
jest.resetModules();
React = require('react');
ReactDOM = require('react-dom');
- ReactTestUtils = require('react-dom/test-utils');
ReactDOMServer = require('react-dom/server');
});
@@ -48,6 +46,7 @@ describe('ReactDOMServerHydration', () => {
}
const element = document.createElement('div');
+ document.body.appendChild(element);
ReactDOM.render(
, element);
let lastMarkup = element.innerHTML;
@@ -89,7 +88,8 @@ describe('ReactDOMServerHydration', () => {
// Ensure the events system works after mount into server markup
expect(numClicks).toEqual(0);
- ReactTestUtils.Simulate.click(ReactDOM.findDOMNode(instance.refs.span));
+
+ ReactDOM.findDOMNode(instance.refs.span).click();
expect(numClicks).toEqual(1);
ReactDOM.unmountComponentAtNode(element);
@@ -107,8 +107,10 @@ describe('ReactDOMServerHydration', () => {
// Ensure the events system works after markup mismatch.
expect(numClicks).toEqual(1);
- ReactTestUtils.Simulate.click(ReactDOM.findDOMNode(instance.refs.span));
+ ReactDOM.findDOMNode(instance.refs.span).click();
expect(numClicks).toEqual(2);
+
+ document.body.removeChild(element);
});
it('should have the correct mounting behavior (new hydrate API)', () => {
@@ -134,6 +136,7 @@ describe('ReactDOMServerHydration', () => {
}
const element = document.createElement('div');
+ document.body.appendChild(element);
ReactDOM.render(
, element);
let lastMarkup = element.innerHTML;
@@ -167,7 +170,7 @@ describe('ReactDOMServerHydration', () => {
// Ensure the events system works after mount into server markup
expect(numClicks).toEqual(0);
- ReactTestUtils.Simulate.click(ReactDOM.findDOMNode(instance.refs.span));
+ ReactDOM.findDOMNode(instance.refs.span).click();
expect(numClicks).toEqual(1);
ReactDOM.unmountComponentAtNode(element);
@@ -185,8 +188,10 @@ describe('ReactDOMServerHydration', () => {
// Ensure the events system works after markup mismatch.
expect(numClicks).toEqual(1);
- ReactTestUtils.Simulate.click(ReactDOM.findDOMNode(instance.refs.span));
+ ReactDOM.findDOMNode(instance.refs.span).click();
expect(numClicks).toEqual(2);
+
+ document.body.removeChild(element);
});
// We have a polyfill for autoFocus on the client, but we intentionally don't
diff --git a/packages/react-dom/src/__tests__/refs-test.js b/packages/react-dom/src/__tests__/refs-test.js
index f439118cd75ec..6ca2c981f6ad4 100644
--- a/packages/react-dom/src/__tests__/refs-test.js
+++ b/packages/react-dom/src/__tests__/refs-test.js
@@ -10,6 +10,7 @@
'use strict';
let React = require('react');
+let ReactDOM = require('react-dom');
let ReactTestUtils = require('react-dom/test-utils');
/**
@@ -81,24 +82,6 @@ class TestRefsComponent extends React.Component {
}
}
-/**
- * Render a TestRefsComponent and ensure that the main refs are wired up.
- */
-const renderTestRefsComponent = function() {
- const testRefsComponent = ReactTestUtils.renderIntoDocument(
-
,
- );
- expect(testRefsComponent instanceof TestRefsComponent).toBe(true);
-
- const generalContainer = testRefsComponent.refs.myContainer;
- expect(generalContainer instanceof GeneralContainerComponent).toBe(true);
-
- const counter = testRefsComponent.refs.myCounter;
- expect(counter instanceof ClickCounter).toBe(true);
-
- return testRefsComponent;
-};
-
const expectClickLogsLengthToBe = function(instance, length) {
const clickLogs = ReactTestUtils.scryRenderedDOMComponentsWithClass(
instance,
@@ -109,12 +92,40 @@ const expectClickLogsLengthToBe = function(instance, length) {
};
describe('reactiverefs', () => {
+ let container;
+
beforeEach(() => {
jest.resetModules();
React = require('react');
+ ReactDOM = require('react-dom');
ReactTestUtils = require('react-dom/test-utils');
});
+ afterEach(() => {
+ if (container) {
+ document.body.removeChild(container);
+ container = null;
+ }
+ });
+
+ /**
+ * Render a TestRefsComponent and ensure that the main refs are wired up.
+ */
+ const renderTestRefsComponent = function() {
+ container = document.createElement('div');
+ document.body.appendChild(container);
+ const testRefsComponent = ReactDOM.render(
, container);
+ expect(testRefsComponent instanceof TestRefsComponent).toBe(true);
+
+ const generalContainer = testRefsComponent.refs.myContainer;
+ expect(generalContainer instanceof GeneralContainerComponent).toBe(true);
+
+ const counter = testRefsComponent.refs.myCounter;
+ expect(counter instanceof ClickCounter).toBe(true);
+
+ return testRefsComponent;
+ };
+
/**
* Ensure that for every click log there is a corresponding ref (from the
* perspective of the injected ClickCounter component.
@@ -129,18 +140,18 @@ describe('reactiverefs', () => {
expectClickLogsLengthToBe(testRefsComponent, 1);
// After clicking the reset, there should still only be one click log ref.
- ReactTestUtils.Simulate.click(testRefsComponent.refs.resetDiv);
+ testRefsComponent.refs.resetDiv.click();
expectClickLogsLengthToBe(testRefsComponent, 1);
// Begin incrementing clicks (and therefore refs).
- ReactTestUtils.Simulate.click(clickIncrementer);
+ clickIncrementer.click();
expectClickLogsLengthToBe(testRefsComponent, 2);
- ReactTestUtils.Simulate.click(clickIncrementer);
+ clickIncrementer.click();
expectClickLogsLengthToBe(testRefsComponent, 3);
// Now reset again
- ReactTestUtils.Simulate.click(testRefsComponent.refs.resetDiv);
+ testRefsComponent.refs.resetDiv.click();
expectClickLogsLengthToBe(testRefsComponent, 1);
});
});
@@ -168,6 +179,7 @@ describe('ref swapping', () => {
beforeEach(() => {
jest.resetModules();
React = require('react');
+ ReactDOM = require('react-dom');
ReactTestUtils = require('react-dom/test-utils');
RefHopsAround = class extends React.Component {
@@ -293,7 +305,6 @@ describe('ref swapping', () => {
describe('root level refs', () => {
it('attaches and detaches root refs', () => {
- const ReactDOM = require('react-dom');
let inst = null;
// host node
diff --git a/packages/react-dom/src/events/__tests__/SimpleEventPlugin-test.internal.js b/packages/react-dom/src/events/__tests__/SimpleEventPlugin-test.internal.js
index 4020e69fd0cae..3525f2d09aca2 100644
--- a/packages/react-dom/src/events/__tests__/SimpleEventPlugin-test.internal.js
+++ b/packages/react-dom/src/events/__tests__/SimpleEventPlugin-test.internal.js
@@ -12,23 +12,25 @@
describe('SimpleEventPlugin', function() {
let React;
let ReactDOM;
- let ReactTestUtils;
let ReactFeatureFlags;
let onClick;
+ let container;
function expectClickThru(element) {
- ReactTestUtils.SimulateNative.click(ReactDOM.findDOMNode(element));
+ ReactDOM.findDOMNode(element).click();
expect(onClick).toHaveBeenCalledTimes(1);
}
function expectNoClickThru(element) {
- ReactTestUtils.SimulateNative.click(ReactDOM.findDOMNode(element));
+ ReactDOM.findDOMNode(element).click();
expect(onClick).toHaveBeenCalledTimes(0);
}
function mounted(element) {
- element = ReactTestUtils.renderIntoDocument(element);
+ container = document.createElement('div');
+ document.body.appendChild(container);
+ element = ReactDOM.render(element, container);
return element;
}
@@ -60,54 +62,59 @@ describe('SimpleEventPlugin', function() {
jest.resetModules();
React = require('react');
ReactDOM = require('react-dom');
- ReactTestUtils = require('react-dom/test-utils');
onClick = jest.fn();
});
+ afterEach(() => {
+ if (container && document.body.contains(container)) {
+ document.body.removeChild(container);
+ container = null;
+ }
+ });
+
it('A non-interactive tags click when disabled', function() {
const element =
;
expectClickThru(mounted(element));
});
it('A non-interactive tags clicks bubble when disabled', function() {
- const element = ReactTestUtils.renderIntoDocument(
+ const element = mounted(
,
);
const child = ReactDOM.findDOMNode(element).firstChild;
-
- ReactTestUtils.SimulateNative.click(child);
+ child.click();
expect(onClick).toHaveBeenCalledTimes(1);
});
it('does not register a click when clicking a child of a disabled element', function() {
- const element = ReactTestUtils.renderIntoDocument(
+ const element = mounted(
,
);
const child = ReactDOM.findDOMNode(element).querySelector('span');
- ReactTestUtils.SimulateNative.click(child);
+ child.click();
expect(onClick).toHaveBeenCalledTimes(0);
});
it('triggers click events for children of disabled elements', function() {
- const element = ReactTestUtils.renderIntoDocument(
+ const element = mounted(
,
);
const child = ReactDOM.findDOMNode(element).querySelector('span');
- ReactTestUtils.SimulateNative.click(child);
+ child.click();
expect(onClick).toHaveBeenCalledTimes(1);
});
it('triggers parent captured click events when target is a child of a disabled elements', function() {
- const element = ReactTestUtils.renderIntoDocument(
+ const element = mounted(