diff --git a/packages/react-dom/src/events/__tests__/getEventKey-test.js b/packages/react-dom/src/events/__tests__/getEventKey-test.js
index 1cf7c82d8597a..65449671e11ea 100644
--- a/packages/react-dom/src/events/__tests__/getEventKey-test.js
+++ b/packages/react-dom/src/events/__tests__/getEventKey-test.js
@@ -10,28 +10,38 @@
'use strict';
let React;
-let ReactDOM;
+let ReactDOMClient;
+
+let act;
describe('getEventKey', () => {
let container;
+ let root;
beforeEach(() => {
React = require('react');
- ReactDOM = require('react-dom');
+ ReactDOMClient = require('react-dom/client');
+
+ act = require('internal-test-utils').act;
// The container has to be attached for events to fire.
container = document.createElement('div');
+ root = ReactDOMClient.createRoot(container);
document.body.appendChild(container);
});
- afterEach(() => {
+ afterEach(async () => {
+ await act(() => {
+ root.unmount();
+ });
document.body.removeChild(container);
container = null;
+ root = null;
});
describe('when key is implemented in a browser', () => {
describe('when key is not normalized', () => {
- it('returns a normalized value', () => {
+ it('returns a normalized value', async () => {
let key = null;
class Comp extends React.Component {
render() {
@@ -39,7 +49,9 @@ describe('getEventKey', () => {
}
}
- ReactDOM.render(, container);
+ await act(() => {
+ root.render();
+ });
const nativeEvent = new KeyboardEvent('keydown', {
key: 'Del',
@@ -52,7 +64,7 @@ describe('getEventKey', () => {
});
describe('when key is normalized', () => {
- it('returns a key', () => {
+ it('returns a key', async () => {
let key = null;
class Comp extends React.Component {
render() {
@@ -60,7 +72,9 @@ describe('getEventKey', () => {
}
}
- ReactDOM.render(, container);
+ await act(() => {
+ root.render();
+ });
const nativeEvent = new KeyboardEvent('keydown', {
key: 'f',
@@ -76,7 +90,7 @@ describe('getEventKey', () => {
describe('when key is not implemented in a browser', () => {
describe('when event type is keypress', () => {
describe('when charCode is 13', () => {
- it('returns "Enter"', () => {
+ it('returns "Enter"', async () => {
let key = null;
class Comp extends React.Component {
render() {
@@ -84,7 +98,9 @@ describe('getEventKey', () => {
}
}
- ReactDOM.render(, container);
+ await act(() => {
+ root.render();
+ });
const nativeEvent = new KeyboardEvent('keypress', {
charCode: 13,
@@ -97,7 +113,7 @@ describe('getEventKey', () => {
});
describe('when charCode is not 13', () => {
- it('returns a string from a charCode', () => {
+ it('returns a string from a charCode', async () => {
let key = null;
class Comp extends React.Component {
render() {
@@ -105,7 +121,9 @@ describe('getEventKey', () => {
}
}
- ReactDOM.render(, container);
+ await act(() => {
+ root.render();
+ });
const nativeEvent = new KeyboardEvent('keypress', {
charCode: 65,
@@ -120,7 +138,7 @@ describe('getEventKey', () => {
describe('when event type is keydown or keyup', () => {
describe('when keyCode is recognized', () => {
- it('returns a translated key', () => {
+ it('returns a translated key', async () => {
let key = null;
class Comp extends React.Component {
render() {
@@ -128,7 +146,9 @@ describe('getEventKey', () => {
}
}
- ReactDOM.render(, container);
+ await act(() => {
+ root.render();
+ });
const nativeEvent = new KeyboardEvent('keydown', {
keyCode: 45,
@@ -141,7 +161,7 @@ describe('getEventKey', () => {
});
describe('when keyCode is not recognized', () => {
- it('returns Unidentified', () => {
+ it('returns Unidentified', async () => {
let key = null;
class Comp extends React.Component {
render() {
@@ -149,7 +169,9 @@ describe('getEventKey', () => {
}
}
- ReactDOM.render(, container);
+ await act(() => {
+ root.render();
+ });
const nativeEvent = new KeyboardEvent('keydown', {
keyCode: 1337,