Skip to content

Commit aeffbfc

Browse files
committed
debug what the browsers do
1 parent 9524271 commit aeffbfc

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

packages/material-ui/src/Modal/Modal.test.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import * as ReactDOM from 'react-dom';
33
import { expect } from 'chai';
44
import { useFakeTimers, spy } from 'sinon';
55
import PropTypes from 'prop-types';
6-
import { fireEvent as fireDOMEvent } from '@testing-library/dom';
76
import consoleErrorMock from 'test/utils/consoleErrorMock';
87
import { createClientRender, fireEvent, within } from 'test/utils/createClientRender';
98
import { createMuiTheme } from '@material-ui/core/styles';
@@ -508,7 +507,7 @@ describe('<Modal />', () => {
508507
);
509508
});
510509

511-
it('should loop the tab key', () => {
510+
it.only('should loop the tab key', () => {
512511
render(
513512
<Modal open>
514513
<div data-testid="modal">
@@ -520,17 +519,17 @@ describe('<Modal />', () => {
520519
</Modal>,
521520
);
522521

523-
fireDOMEvent.keyDown(document.activeElement, {
522+
fireEvent.keyDown(document.activeElement, {
524523
keyCode: 13, // Enter
525524
});
526-
fireDOMEvent.keyDown(document.activeElement, {
525+
fireEvent.keyDown(document.activeElement, {
527526
keyCode: 9, // Tab
528527
});
529528

530529
expect(document.querySelector('[data-test="sentinelStart"]')).toHaveFocus();
531530

532531
initialFocus.focus();
533-
fireDOMEvent.keyDown(document.activeElement, {
532+
fireEvent.keyDown(document.activeElement, {
534533
keyCode: 9, // Tab
535534
shiftKey: true,
536535
});

packages/material-ui/src/Modal/TrapFocus.js

+2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ function TrapFocus(props) {
8383
};
8484

8585
const loopFocus = (event) => {
86+
console.log(`handledEvent.keyCode = (${typeof event.keyCode})${event.keyCode}`);
87+
8688
// 9 = Tab
8789
if (disableEnforceFocus || !isEnabled() || event.keyCode !== 9) {
8890
return;

test/utils/createClientRender.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,13 @@ export function createClientRender(globalOptions = {}) {
9393
}
9494

9595
const fireEvent = Object.assign(rtlFireEvent, {
96-
// polyfill event.key for chrome 49 (supported in Material-UI v4)
96+
// polyfill event.key(Code) for chrome 49 and edge 15 (supported in Material-UI v4)
9797
// for user-interactions react does the polyfilling but manually created
9898
// events don't have this luxury
9999
keyDown(element, options = {}) {
100100
const event = createEvent.keyDown(element, options);
101+
console.log(`options.keyCode = (${typeof options.keyCode})${options.keyCode}`);
102+
console.log(`dispatchedEvent.keyCode = (${typeof event.keyCode})${event.keyCode}`);
101103
Object.defineProperty(event, 'key', {
102104
get() {
103105
return options.key || '';

0 commit comments

Comments
 (0)