Skip to content

Commit 13c6cc3

Browse files
authored
Merge pull request #660 from tanmoyopenroot/657-fix-mouse-event
fix(mouse-event): remove check from custom elements
2 parents b273fe5 + c8dc477 commit 13c6cc3

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

__tests__/src/rules/mouse-events-have-key-events-test.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,21 @@ ruleTester.run('mouse-events-have-key-events', rule, {
3939
code: '<div onMouseOver={handleMouseOver} onFocus={handleFocus} {...props} />;',
4040
},
4141
{ code: '<div />;' },
42+
{ code: '<div onBlur={() => {}} />' },
43+
{ code: '<div onFocus={() => {}} />' },
4244
{ code: '<div onMouseOut={() => void 0} onBlur={() => void 0} />' },
4345
{ code: '<div onMouseOut={() => void 0} onBlur={() => void 0} {...props} />' },
4446
{ code: '<div onMouseOut={handleMouseOut} onBlur={handleOnBlur} />' },
4547
{ code: '<div onMouseOut={handleMouseOut} onBlur={handleOnBlur} {...props} />' },
48+
{ code: '<MyElement />' },
49+
{ code: '<MyElement onMouseOver={() => {}} />' },
50+
{ code: '<MyElement onMouseOut={() => {}} />' },
51+
{ code: '<MyElement onBlur={() => {}} />' },
52+
{ code: '<MyElement onFocus={() => {}} />' },
53+
{ code: '<MyElement onMouseOver={() => {}} {...props} />' },
54+
{ code: '<MyElement onMouseOut={() => {}} {...props} />' },
55+
{ code: '<MyElement onBlur={() => {}} {...props} />' },
56+
{ code: '<MyElement onFocus={() => {}} {...props} />' },
4657
].map(parserOptionsMapper),
4758
invalid: [
4859
{ code: '<div onMouseOver={() => void 0} />;', errors: [mouseOverError] },

src/rules/mouse-events-have-key-events.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
// Rule Definition
99
// ----------------------------------------------------------------------------
1010

11+
import { dom } from 'aria-query';
1112
import { getProp, getPropValue } from 'jsx-ast-utils';
1213
import { generateObjSchema } from '../util/schemas';
1314

@@ -26,6 +27,12 @@ module.exports = {
2627

2728
create: (context) => ({
2829
JSXOpeningElement: (node) => {
30+
const { name } = node.name;
31+
32+
if (!dom.get(name)) {
33+
return;
34+
}
35+
2936
const { attributes } = node;
3037

3138
// Check onmouseover / onfocus pairing.

0 commit comments

Comments
 (0)