source: frontend/node_modules/eslint-plugin-jsx-a11y/__tests__/src/rules/no-access-key-test.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 2 weeks ago

Fix frontend appearance

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/**
2 * @fileoverview Enforce no accesskey attribute on element.
3 * @author Ethan Cohen
4 */
5
6// -----------------------------------------------------------------------------
7// Requirements
8// -----------------------------------------------------------------------------
9
10import { RuleTester } from 'eslint';
11import parserOptionsMapper from '../../__util__/parserOptionsMapper';
12import parsers from '../../__util__/helpers/parsers';
13import rule from '../../../src/rules/no-access-key';
14
15// -----------------------------------------------------------------------------
16// Tests
17// -----------------------------------------------------------------------------
18
19const ruleTester = new RuleTester();
20
21const expectedError = {
22 message: 'No access key attribute allowed. Inconsistencies between keyboard shortcuts and keyboard commands used by screen readers and keyboard-only users create a11y complications.',
23 type: 'JSXOpeningElement',
24};
25
26ruleTester.run('no-access-key', rule, {
27 valid: parsers.all([].concat(
28 { code: '<div />;' },
29 { code: '<div {...props} />' },
30 { code: '<div accessKey={undefined} />' },
31 )).map(parserOptionsMapper),
32 invalid: parsers.all([].concat(
33 { code: '<div accesskey="h" />', errors: [expectedError] },
34 { code: '<div accessKey="h" />', errors: [expectedError] },
35 { code: '<div accessKey="h" {...props} />', errors: [expectedError] },
36 { code: '<div acCesSKeY="y" />', errors: [expectedError] },
37 { code: '<div accessKey={"y"} />', errors: [expectedError] },
38 { code: '<div accessKey={`${y}`} />', errors: [expectedError] },
39 {
40 code: '<div accessKey={`${undefined}y${undefined}`} />',
41 errors: [expectedError],
42 },
43 { code: '<div accessKey={`This is ${bad}`} />', errors: [expectedError] },
44 { code: '<div accessKey={accessKey} />', errors: [expectedError] },
45 { code: '<div accessKey={`${undefined}`} />', errors: [expectedError] },
46 { code: '<div accessKey={`${undefined}${undefined}`} />', errors: [expectedError] },
47 )).map(parserOptionsMapper),
48});
Note: See TracBrowser for help on using the repository browser.