1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /**
- * @fileoverview Tests for jsx-pascal-case
- * @author Jake Marsh
- */
- 'use strict';
- // ------------------------------------------------------------------------------
- // Requirements
- // ------------------------------------------------------------------------------
- const rule = require('../../../lib/rules/jsx-pascal-case');
- const RuleTester = require('eslint').RuleTester;
- const parserOptions = {
- ecmaVersion: 2018,
- sourceType: 'module',
- ecmaFeatures: {
- jsx: true
- }
- };
- // ------------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------------
- const ruleTester = new RuleTester({parserOptions});
- ruleTester.run('jsx-pascal-case', rule, {
- valid: [{
- code: '<testComponent />'
- }, {
- code: '<test_component />'
- }, {
- code: '<TestComponent />'
- }, {
- code: '<CSSTransitionGroup />'
- }, {
- code: '<BetterThanCSS />'
- }, {
- code: '<TestComponent><div /></TestComponent>'
- }, {
- code: '<Test1Component />'
- }, {
- code: '<TestComponent1 />'
- }, {
- code: '<T3stComp0nent />'
- }, {
- code: '<T />'
- }, {
- code: '<YMCA />',
- options: [{allowAllCaps: true}]
- }, {
- code: '<Modal.Header />'
- }, {
- code: '<Modal:Header />'
- }, {
- code: '<IGNORED />',
- options: [{ignore: ['IGNORED']}]
- }],
- invalid: [{
- code: '<Test_component />',
- errors: [{message: 'Imported JSX component Test_component must be in PascalCase'}]
- }, {
- code: '<TEST_COMPONENT />',
- errors: [{message: 'Imported JSX component TEST_COMPONENT must be in PascalCase'}]
- }, {
- code: '<YMCA />',
- errors: [{message: 'Imported JSX component YMCA must be in PascalCase'}]
- }]
- });
|