source: frontend/node_modules/eslint-plugin-jsx-a11y/__tests__/src/rules/html-has-lang-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: 1.6 KB
Line 
1/**
2 * @fileoverview Enforce html element has lang prop.
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/html-has-lang';
14
15// -----------------------------------------------------------------------------
16// Tests
17// -----------------------------------------------------------------------------
18
19const ruleTester = new RuleTester();
20
21const expectedError = {
22 message: '<html> elements must have the lang prop.',
23 type: 'JSXOpeningElement',
24};
25
26ruleTester.run('html-has-lang', rule, {
27 valid: parsers.all([].concat(
28 { code: '<div />;' },
29 { code: '<html lang="en" />' },
30 { code: '<html lang="en-US" />' },
31 { code: '<html lang={foo} />' },
32 { code: '<html lang />' },
33 { code: '<HTML />' },
34 { code: '<HTMLTop lang="en" />', errors: [expectedError], settings: { 'jsx-a11y': { components: { HTMLTop: 'html' } } } },
35 )).map(parserOptionsMapper),
36 invalid: parsers.all([].concat(
37 { code: '<html />', errors: [expectedError] },
38 { code: '<html {...props} />', errors: [expectedError] },
39 { code: '<html lang={undefined} />', errors: [expectedError] },
40 { code: '<HTMLTop />', errors: [expectedError], settings: { 'jsx-a11y': { components: { HTMLTop: 'html' } } } },
41 )).map(parserOptionsMapper),
42});
Note: See TracBrowser for help on using the repository browser.