/** * @fileoverview Enforce static elements have no interactive handlers. * @author Ethan Cohen */ // ----------------------------------------------------------------------------- // Requirements // ----------------------------------------------------------------------------- import { RuleTester } from 'eslint'; import { configs } from '../../../src/index'; import parserOptionsMapper from '../../__util__/parserOptionsMapper'; import parsers from '../../__util__/helpers/parsers'; import rule from '../../../src/rules/no-static-element-interactions'; import ruleOptionsMapperFactory from '../../__util__/ruleOptionsMapperFactory'; // ----------------------------------------------------------------------------- // Tests // ----------------------------------------------------------------------------- const ruleTester = new RuleTester(); const errorMessage = 'Avoid non-native interactive elements. If using native HTML is not possible, add an appropriate role and support for tabbing, mouse, keyboard, and touch inputs to an interactive content element.'; const expectedError = { message: errorMessage, type: 'JSXOpeningElement', }; const ruleName = 'no-static-element-interactions'; const componentsSettings = { 'jsx-a11y': { components: { Button: 'button', TestComponent: 'div', }, }, }; const alwaysValid = [ { code: '' }, { code: '