source: frontend/node_modules/eslint-plugin-jsx-a11y/__tests__/src/rules/iframe-has-title-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 iframe elements have a title attribute.
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/iframe-has-title';
14
15// -----------------------------------------------------------------------------
16// Tests
17// -----------------------------------------------------------------------------
18
19const ruleTester = new RuleTester();
20
21const expectedError = {
22 message: '<iframe> elements must have a unique title property.',
23 type: 'JSXOpeningElement',
24};
25
26const componentsSettings = {
27 'jsx-a11y': {
28 components: {
29 FooComponent: 'iframe',
30 },
31 },
32};
33
34ruleTester.run('html-has-lang', rule, {
35 valid: parsers.all([].concat(
36 { code: '<div />;' },
37 { code: '<iframe title="Unique title" />' },
38 { code: '<iframe title={foo} />' },
39 { code: '<FooComponent />' },
40 { code: '<FooComponent title="Unique title" />', settings: componentsSettings },
41 )).map(parserOptionsMapper),
42 invalid: parsers.all([].concat(
43 { code: '<iframe />', errors: [expectedError] },
44 { code: '<iframe {...props} />', errors: [expectedError] },
45 { code: '<iframe title={undefined} />', errors: [expectedError] },
46 { code: '<iframe title="" />', errors: [expectedError] },
47 { code: '<iframe title={false} />', errors: [expectedError] },
48 { code: '<iframe title={true} />', errors: [expectedError] },
49 { code: "<iframe title={''} />", errors: [expectedError] },
50 { code: '<iframe title={``} />', errors: [expectedError] },
51 { code: '<iframe title={""} />', errors: [expectedError] },
52 { code: '<iframe title={42} />', errors: [expectedError] },
53 { code: '<FooComponent />', errors: [expectedError], settings: componentsSettings },
54 )).map(parserOptionsMapper),
55});
Note: See TracBrowser for help on using the repository browser.