/** * @author Yosuke Ota */ 'use strict' const rule = require('../../../lib/rules/component-name-in-template-casing') const semver = require('semver') const RuleTester = require('../../eslint-compat').RuleTester const tester = new RuleTester({ languageOptions: { parser: require('vue-eslint-parser'), ecmaVersion: 2018, sourceType: 'module' } }) tester.run('component-name-in-template-casing', rule, { valid: [ // default { filename: 'test.vue', code: ` ` }, // element types test { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, { code: '', options: ['PascalCase', { registeredComponentsOnly: false }] }, // kebab-case { code: '', options: ['kebab-case', { registeredComponentsOnly: false }] }, { code: '', options: ['kebab-case', { registeredComponentsOnly: false }] }, { code: '', options: ['kebab-case', { registeredComponentsOnly: false }] }, { code: '', options: ['kebab-case', { registeredComponentsOnly: false }] }, { code: '', options: ['kebab-case', { registeredComponentsOnly: false }] }, { code: '', options: ['kebab-case', { registeredComponentsOnly: false }] }, // ignores { code: '', options: [ 'PascalCase', { ignores: ['custom-element'], registeredComponentsOnly: false } ] }, { code: '', options: [ 'PascalCase', { ignores: ['custom-element'], registeredComponentsOnly: false } ] }, // regexp ignores { filename: 'test.vue', code: ` `, options: [ 'PascalCase', { registeredComponentsOnly: false, ignores: ['/^global/'] } ] }, // Invalid EOF { code: '