Skip to content

Commit

Permalink
fix(mouse-event): remove check from custom elements
Browse files Browse the repository at this point in the history
  • Loading branch information
tanmoyopenroot committed Jan 29, 2020
1 parent 99a4868 commit df1e275
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
29 changes: 21 additions & 8 deletions __tests__/src/rules/mouse-events-have-key-events-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,35 @@ const mouseOutError = {
ruleTester.run('mouse-events-have-key-events', rule, {
valid: [
{ code: '<div onMouseOver={() => void 0} onFocus={() => void 0} />;' },
{
code: '<div onMouseOver={() => void 0} onFocus={() => void 0} {...props} />;',
},
{ code: '<div onMouseOver={() => void 0} onFocus={() => void 0} {...props} />;' },
{ code: '<div onMouseOver={handleMouseOver} onFocus={handleFocus} />;' },
{
code: '<div onMouseOver={handleMouseOver} onFocus={handleFocus} {...props} />;',
},
{ code: '<div onMouseOver={handleMouseOver} onFocus={handleFocus} {...props} />;' },
{ code: '<div />;' },
{ code: '<div onBlur={() => {}} />' },
{ code: '<div onFocus={() => {}} />' },
{ code: '<div onMouseOut={() => void 0} onBlur={() => void 0} />' },
{ code: '<div onMouseOut={() => void 0} onBlur={() => void 0} {...props} />' },
{ code: '<div onMouseOut={handleMouseOut} onBlur={handleOnBlur} />' },
{ code: '<div onMouseOut={handleMouseOut} onBlur={handleOnBlur} {...props} />' },
{ code: '<MyElement />' },
{ code: '<MyElement onMouseOver={() => {}} />' },
{ code: '<MyElement onMouseOut={() => {}} />' },
{ code: '<MyElement onBlur={() => {}} />' },
{ code: '<MyElement onFocus={() => {}} />' },
{ code: '<MyElement onMouseOver={() => {}} {...props} />' },
{ code: '<MyElement onMouseOut={() => {}} {...props} />' },
{ code: '<MyElement onBlur={() => {}} {...props} />' },
{ code: '<MyElement onFocus={() => {}} {...props} />' },
].map(parserOptionsMapper),
invalid: [
{ code: '<div onMouseOver={() => void 0} />;', errors: [mouseOverError] },
{ code: '<div onMouseOut={() => void 0} />', errors: [mouseOutError] },
{
code: '<div onMouseOver={() => void 0} />;',
errors: [mouseOverError],
},
{
code: '<div onMouseOut={() => void 0} />',
errors: [mouseOutError],
},
{
code: '<div onMouseOver={() => void 0} onFocus={undefined} />;',
errors: [mouseOverError],
Expand Down
7 changes: 7 additions & 0 deletions src/rules/mouse-events-have-key-events.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
// Rule Definition
// ----------------------------------------------------------------------------

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

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

create: (context) => ({
JSXOpeningElement: (node) => {
const { name } = node.name;

if (!dom.get(name)) {
return;
}

const { attributes } = node;

// Check onmouseover / onfocus pairing.
Expand Down

0 comments on commit df1e275

Please sign in to comment.