source: frontend/node_modules/eslint-plugin-jsx-a11y/__tests__/src/rules/tabindex-no-positive-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 tabIndex value is not greater than zero.
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/tabindex-no-positive';
14
15// -----------------------------------------------------------------------------
16// Tests
17// -----------------------------------------------------------------------------
18
19const ruleTester = new RuleTester();
20
21const expectedError = {
22 message: 'Avoid positive integer values for tabIndex.',
23 type: 'JSXAttribute',
24};
25
26ruleTester.run('tabindex-no-positive', rule, {
27 valid: parsers.all([].concat(
28 { code: '<div />;' },
29 { code: '<div {...props} />' },
30 { code: '<div id="main" />' },
31 { code: '<div tabIndex={undefined} />' },
32 { code: '<div tabIndex={`${undefined}`} />' },
33 { code: '<div tabIndex={`${undefined}${undefined}`} />' },
34 { code: '<div tabIndex={0} />' },
35 { code: '<div tabIndex={-1} />' },
36 { code: '<div tabIndex={null} />' },
37 { code: '<div tabIndex={bar()} />' },
38 { code: '<div tabIndex={bar} />' },
39 { code: '<div tabIndex={"foobar"} />' },
40 { code: '<div tabIndex="0" />' },
41 { code: '<div tabIndex="-1" />' },
42 { code: '<div tabIndex="-5" />' },
43 { code: '<div tabIndex="-5.5" />' },
44 { code: '<div tabIndex={-5.5} />' },
45 { code: '<div tabIndex={-5} />' },
46 )).map(parserOptionsMapper),
47
48 invalid: parsers.all([].concat(
49 { code: '<div tabIndex="1" />', errors: [expectedError] },
50 { code: '<div tabIndex={1} />', errors: [expectedError] },
51 { code: '<div tabIndex={"1"} />', errors: [expectedError] },
52 { code: '<div tabIndex={`1`} />', errors: [expectedError] },
53 { code: '<div tabIndex={1.589} />', errors: [expectedError] },
54 )).map(parserOptionsMapper),
55});
Note: See TracBrowser for help on using the repository browser.