/** * @fileoverview Disallow inherently interactive elements to be assigned * non-interactive roles. * @author Jesse Beach */ // ----------------------------------------------------------------------------- // 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-interactive-element-to-noninteractive-role'; import ruleOptionsMapperFactory from '../../__util__/ruleOptionsMapperFactory'; // ----------------------------------------------------------------------------- // Tests // ----------------------------------------------------------------------------- const ruleTester = new RuleTester(); const errorMessage = 'Interactive elements should not be assigned non-interactive roles.'; const expectedError = { message: errorMessage, type: 'JSXAttribute', }; const ruleName = 'jsx-a11y/no-interactive-element-to-noninteractive-role'; const componentsSettings = { 'jsx-a11y': { components: { Button: 'button', Link: 'a', }, }, }; const alwaysValid = [ { code: '' }, { code: '